在Bash的“ Emacs模式”(set -o emacs
)中,我可以在我最喜欢的外部$ EDITOR中编辑当前命令行。我所要做的就是按Ctrl+X然后Ctrl+ E。
但是,因为我已切换到Bash的“ vi模式”(set -o vi
),所以此键序列没有任何作用。在“ vi模式”下,如何启动外部编辑器以编写更长的命令?
emacs模式绑定执行命令edit-and-execute-command。要查看在vi模式下执行哪个绑定,可以给出以下命令:
$ bind -m vi -q edit-and-execute-command
edit-and-execute-command is not bound to any keys.
最简单的是为其添加绑定
$ bind -m vi-insert '"\C-x\C-e": edit-and-execute-command'
要使其永久,可以将其添加到〜/ .inputrc中,如下所示:
set keymap vi-insert
"\C-x\C-e": edit-and-execute-command
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句