我很高兴发现我可以在 bash shell 中使用 vi 键绑定(bash vi 模式)。然而,我现在有点沮丧,因为 shell 总是默认为插入模式而不是正常模式。我总是不得不退出它。有没有办法让它以正常模式启动?
谢谢你!
答案1
将以下行放入~/.inputrc
:
set editing-mode vi
set keymap vi-insert
"\C-m": "\C-j\e"
set keymap vi-command
"\C-m": "\C-j\e"
或者用bind
在~/.bashrc
:
set -o vi
bind -m vi-insert '"\C-m": "\C-j\e"'
bind -m vi-command '"\C-m": "\C-j\e"'
现在,您会自动发出问题accept-line
,然后vi-movement-mode
输入Ctrl+M或Enter。仅键入Ctrl+ 。Jaccept-line
我承认他们有一些缺陷:
- 您一开始就处于插入模式
- 当您从终端粘贴多个命令行时,您会遇到麻烦