在努力 vim-theme Readline 中,我看到有两个
set editing-mode vi
set keymap vi
我相信我明白editing-mode vi
提供不同的 VIM 键盘映射来编辑、插入文本等是什么意思。
the set keymap vi
do 与什么并列set editing-mode vi
?我能从中得到什么额外的好处?
有很多非常糟糕且过于复杂的答案。我不关心 emacs 的事情(以任何方式),未记录的命令,但在其他方面与记录的命令相同,我的默认值是什么(我显然正在尝试更改它们)。
答案1
它相当于 和 的别名,set keymap vi-command
用于在 vi 命令模式下开始定义自定义按键绑定。
因此,在您中~/.inputrc
您可以像这样使用它:
set keymap vi-command
# or set keymap vi (or, for that matter: set keymap vi-move)
# these are for vi-command mode
"\e[A": history-search-backward
"\e[B": history-search-forward
另一个有效选项(设置editing-mode
为后vi
)keymap vi-insert
适用于剩余的模态产品。
答案2
“set keymap vi”实际上是做什么的?
标记仅适用于指定的键映射的键定义列表的开始点。
键映射名称可以是
合法的键盘映射名称集是 emacs、emacs-standard、emacs-meta、emacs-ctlx、vi、vi-move、vi-command 和 vi-insert。 vi 相当于 vi 命令; emacs 相当于 emacs-standard。
vi、vi-move 和 vi-command 模式似乎是相同的等效名称。
因此,从.inputrc
文件中出现键盘映射到激活不同的键盘映射(或更改模式(vi 和 emacs)),按键设置将应用启动键盘映射命令中指定的键盘映射。