在bash中,使用vi模式,如果我打Esc,v我现在的命令行中所指定的编辑器中打开$EDITOR
,我能够“拯救”的指令也可以返回到shell并执行之前在全屏幕编辑它。
如何在zsh中实现类似的行为?v尽管EDITOR
设置了环境变量,但在命令模式下命中不会产生明显的影响。
在bash中,使用vi模式,如果我打Esc,v我现在的命令行中所指定的编辑器中打开$EDITOR
,我能够“拯救”的指令也可以返回到shell并执行之前在全屏幕编辑它。
如何在zsh中实现类似的行为?v尽管EDITOR
设置了环境变量,但在命令模式下命中不会产生明显的影响。
Answers:
参见edit-command-line
中zshcontrib
。
bindkey -M vicmd v edit-command-line
bindkey -M vicmd v
设置的参考。
<ESC>
以从插入模式进入命令模式,然后再v
进入可视模式(Meta-v
相同),或者只是v
已经处于命令模式。如果您使用的是Emacs模式,则典型的绑定是C-x C-e
。
bindkey -M vicmd ' ' edit-command-line
如果您更喜欢Emacs键盘绑定:
autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line
^x^e
结合似乎是默认的电流·OH-MY-zsh的,这是非常好的。
editor
加载了模块,Prezto的设置就会类似。
edit-command-line
“小部件”,你会需要这样的东西autoload edit-command-line; zle -N edit-command-line
在你的一个zsh的初始化文件(见ZLE功能部分的的zshcontrib
文档)。