如何取消设置-o vi?

Pat*_*ryk 28 bash vi vi-mode

我想在 bash 中尝试 vi 模式,但现在我想将其改回正常模式。

我怎样才能取消设置-o vi

Chr*_*own 33

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

set -o emacs
Run Code Online (Sandbox Code Playgroud)


jll*_*gre 28

这取决于您定义的“正常”。如果那是关闭行编辑,则记录的取消设置方法-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
Run Code Online (Sandbox Code Playgroud)

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

  • 如果启用了行编辑(即设置了 emacs 或 vi 模式之一),则向上/向下箭头仅由 shell 管理。否则,箭头键只是发送未处理的转义序列。 (3认同)
  • 它不会取消 shell 历史功能。你仍然可以使用 `history` 命令查看你的历史记录,并通过在它们的编号前加上 `!` 字符来运行以前的命令。 (2认同)