web-dev-qa-db-ja.com

zsh vimモードでコマンドを実行する

vim modezshに、何かを書き込みます

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をまったく使用しないでこれを試しました。

9
pfnuesel

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 一致するコマンドを確認します。

10
muru