在 bash 的 vi 模式下,没有切换大小写之类的东西。切换行的唯一键是<PageUp>
key(因为我偶然碰到了它)。根据这个答案如何映射 PageDown 和 PageUp 键以使其正常运行xterm 发送的序列<PageUp>
是这样的
如果您使用 xterm 仿真器(例如 Putty)访问 Linux 计算机,则 PgUp 键会向 Linux 系统发送四个字符 Escape [ 5 ~。
我已经在我的 shell 上尝试过了,它确实有效。所以 xterm 接受这些序列。所以我尝试通过.bashrc
以下方式添加:
set -o vi
bind '"uu":"\eB\e[5~a"'
重要的是\e[5~
- 这是<PageUp>
关键。但是尽管在 cmd 中可以工作,但在 中却不行.basrc
,为什么呢?
答案1
这对您不起作用,因为您试图模拟在 bash 中输入这些字符的效果。当您这样做时,您会触发一些键绑定,使 bash 将单词大写。但是,将这些键绑定为宏不会产生相同的效果。
幸运的是,您可以使用一个操作将单词大写:upcase-word
。因此您的键绑定应如下所示:
set -o vi
bind -m vi-command '"uu":upcase-word'
这将映射uu
序列以在命令模式下将单词大写。您不会想在插入模式下映射它,因为那样您将无法输入uu
。要查看您可以映射的所有操作的列表,请使用bind -l
。