“set keymap vi”实际上是做什么的?

“set keymap vi”实际上是做什么的?

在努力 vim-theme Readline 中,我看到有两个

set editing-mode vi
set keymap vi

我相信我明白editing-mode vi提供不同的 VIM 键盘映射来编辑、插入文本等是什么意思。

the set keymap vido 与什么并列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为后vikeymap 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)),按键设置将应用启动键盘映射命令中指定的键盘映射。

相关内容