我希望能够暂时从 emacs 模式切换到 vi 模式,因为 vi 模式有时更好,但我通常在输入某些内容到一半时才意识到我想要使用 vi 模式。
我不想永久切换到 vi 模式,因为我通常更喜欢命令行上的 emacs 模式,主要是因为我已经习惯了,多年来,许多击键已经成为第二天性。 (作为一名编辑器,我通常在 viper 模式下使用 emacs,这样我就可以同时使用 vi 和 emacs 键击,因为我发现自己一直不小心在 vi 中使用它们,结果搞砸了,而且因为在某些情况下,我发现 vi 击键更容易内存和方便,而在其他情况下,我发现 emacs。)
最佳答案
您可以创建一个切换,因为键绑定(bind)在 vi 模式和 emacs 模式之间是分开的。
$ set -o emacs
$ bind '"\ee": vi-editing-mode'
$ set -o vi
$ bind '"\ee": emacs-editing-mode'
现在 Alt-e(或 Esc e)将在模式之间切换。
将此添加到 PS1
定义中的某处,以便在提示中指示您所处的模式。切换模式时不会立即显示更改,但会发出新提示时更新。
$(set -o | grep emacs.*on >/dev/null 2>&1 && echo E || echo V)
关于bash - 有没有办法通过按键将 Bash 或 zsh 从 Emacs 模式切换到 vi 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640141/