web-dev-qa-db-ja.com

ZSHのフルスクリーンエディターでコマンドラインを編集する方法

Bashでは、viモードを使用します。 Escv、現在のコマンドラインが$EDITORで指定されたエディターで開かれ、シェルに返されて実行されるコマンドを '保存'する前に全画面で編集できます。

Zshで同様の動作を実現するにはどうすればよいですか?ヒッティング v コマンドモードでは、ベルが表示されますが、EDITOR環境変数が設定されているにもかかわらず、明らかな効果はありません。

58
Murali Suriar

見る edit-command-line in zshcontrib

bindkey -M vicmd v edit-command-line
41
ephemient

Emacsのキーバインドを好む場合:

autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line
41
Daniel Serodio

fcを使用して、履歴の最後のコマンドを編集できます。同じコマンドを編集することと同じではありませんが、Enterキーをすばやく押すと、現在のコマンドが履歴の最後のコマンドになります。

25
Christoph Wurm

これは、bashから同じ動作を得るために~/.zshrcに追加した完全な構成です。

export VISUAL=vim
autoload edit-command-line; zle -N edit-command-line
bindkey -M vicmd v edit-command-line
16
Matt Hughes