Wykonaj polecenie w trybie zsh vim

10

W zshw vim mode, piszę coś

foo foo bar bar

Potem nacisnąłem, Escżeby przejść do normalnego trybu i pisać :

foo foo bar bar
execute: _

Potem, że mogę to zrobić, chcę, aby wyszukać i zamienić barzbaz

foo foo bar bar
execute: s/bar/baz/g_

Potem próbuję nacisnąć Enter, ale to nie działa. Mogę tylko wrócić z executeużywania Ctrl+ c.

Jak mogę wykonać polecenie?

Próbowałem tego z moim normalnym .zshrci .zshrcwcale.

pfnuesel
źródło

Odpowiedzi:

10

vicmdTryb , wbrew nazwie, jest dla komend normalnym trybie Vi. Monit uruchamiany przez :nie jest dla komend Vi w trybie ex, ale dla komend ZLE (edytor linii Zsh) :

$ echo foo
execute: e_
edit-command-line          emacs-forward-word         end-of-history             end-of-line-hist           exchange-point-and-mark    execute-named-cmd          expand-history             expand-or-complete-prefix
emacs-backward-word        end-of-buffer-or-history   end-of-line                end-of-list                execute-last-named-cmd     expand-cmd-path            expand-or-complete         expand-word

Naciśnięcie Enterbędzie działać po wprowadzeniu unikalnego prefiksu (tzn. Powiedz, że wpiszesz ed, które pasują edit-command-line, a potem Enterzadziała). Możesz nacisnąć, Tababy zobaczyć pasujące polecenia.

muru
źródło
Dzięki. Powód używania bashwtedy zamiast zsh.
pfnuesel
@pfnuesel to jest? Czy Bash obsługuje używanie ex poleceń Vi?
muru
1
Wpisując v, możesz wpisać vimi zrobić wszystko, co możesz vim.
pfnuesel
3
@pfnuesel Oh, to. Zsh ma to. Domyślnie nie jest włączony. Zobacz unix.stackexchange.com/a/6622/70524
mur
@muru Twoja odpowiedź jest nieco myląca. To, co nazywacie „trybem Vicmd”, jest w rzeczywistości mapą commandklawiszy - to „ex-like”, która wyświetla execute:monit o wprowadzenie poleceń ZLE. Mapa vicmdklawiszy służy do pracy w trybie polecenia w stylu vi (m). Podczas korzystania zsh w trybie vi, będziesz prawdopodobnie zamiana iz powrotem między vicmdi viinsw taki sam sposób, jak cofnąć się z powrotem między dowództwem a wkładka w trybie vi (m).
wjv 11.04.16