如何取消设置-o vi?


26

我想在bash中尝试vi模式,但现在我想将其恢复为正常。

如何取消设定-o vi

Answers:


30

当前仅有的两个行编辑界面bashvi模式和emacs模式,因此您需要做的就是emacs再次设置模式。

set -o emacs

应当指出,这是我在两句之间阅读而不是直接回答问题。emacs是bash中的默认行编辑模式。设置emacsmode会禁用vimode的副作用,但是正如下面的jlliagre所提到的,您实际上可以同时禁用它们。
克里斯·

25

这取决于您定义的“正常”。如果这关闭了行编辑,则记录的取消设置方法-o vi是设置+o vi

$ set -o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              on
$ set +o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              off

克里斯已经回答了,如果您的正常模式是emacs。


关闭模式也会取消Shell历史记录功能,现在我无法使用向上/向下箭头键查看命令历史记录:(
rsjethani 2012年

2
它并不能消除shell历史记录功能。您仍然可以使用history命令查看历史记录,并通过在其前面加上数字!字符来运行先前的命令。
jlliagre 2012年

是的'history'n系列命令仍然有效,但是我更经常使用的向上/向下箭头键不起作用。一旦我打开按键上的任何一种模式就开始工作...我不明白吗?
rsjethani 2012年

3
如果启用了行编辑(即,设置了emacs或vi模式之一),则仅由外壳程序管理向上/向下箭头。否则,箭头键将发送未经处理的转义序列。
jlliagre 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.