我的想法是在vim中将一个动作附加到kHome键(Home位于数字键盘上),这不会影响普通的Home键。在终端我运行:
$ cat
# pressed kHome
^[[1~
# pressed Home
^[[1~
因此,这些键给出相同的转义序列。我决定将我自己的转义序列附加到 kHome。
$ showkey
# pressed kHome
keycode 71 press
keycode 71 release
# pressed Home
keycode 102 press
keycode 102 release
所以,kHomes 代码是 71。我创建了一个文件 ~/funcskeys:
keycode 71 = F13
string F13 = "\033[1;5G"
我不完全理解应该如何构建自定义转义序列,因此我使用旧答案和来自互联网的示例创建了它。然后我以root身份运行:
# loadkeys -c ./funcskeys
当我cat
再次运行时,我仍然得到旧的转义序列:
$ cat
# pressed kHome
^[[1~
怎么了?也许,我需要先从密钥中删除旧的转义序列?