Виконайте команду в режимі zsh vim


10

У zshв vim mode, я що - то написати

foo foo bar bar

Потім я натискаю, Escщоб перейти в звичайний режим і набрати :

foo foo bar bar
execute: _

Тоді, я вважаю , що я можу зробити це, я хочу , щоб знайти і замінити barзbaz

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

Потім я намагаюся натиснути Enter, але це не працює. Я можу тільки повернутися з executeдопомогою Ctrl+ c.

Як я можу виконати команду?

Я спробував це зі своїм нормальним .zshrcі без жодного .zshrc.

Відповіді:


10

vicmdРежим , незважаючи на назву, для команд нормального режиму VI ст. Підказка, запущена :не для команд Vi в колишньому режимі, а для запуску команд ZLE (редактор ліній 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

Натискання Enterпрацюватиме, коли було введено унікальний префікс (тобто, скажімо, ви вводите ed, який відповідає edit-command-line, тоді Enterбуде працювати). Ви можете натиснути , Tabщоб побачити команди відповідності.


Дякую. Причина для використання bashтоді, а не zsh.
pfnuesel

@pfnuesel це? Чи підтримує Bash використання колишніх команд Vi?
муру

1
Вводячи текст v, ви можете вводити vimі робити все, що можна зробити vim.
pfnuesel

3
@pfnuesel О, це. Zsh це має. За замовчуванням це не ввімкнено. Дивіться unix.stackexchange.com/a/6622/70524
муру

@muru Ваша відповідь трохи оманлива. Те, що ви називаєте "режимом vicmd", насправді є ключовою картою command- це "колишній", який дає вам execute:запит на введення команд ZLE. vicmdРозкладка є для роботи VI (м) режиму -style команди. Використовуючи zsh в режимі vi, ви, ймовірно, будете змінювати місцями вперед-назад між vicmdі viinsмайже таким же чином, як переміщуватись назад вперед між командою та режимом вставки в vi (m).
wjv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.