如何在 vim 中映射 Ctrl + F8?

如何在 vim 中映射 Ctrl + F8?

我一直尝试用几种不同的方式映射 Ctrl + F8,但就是无法正常工作。经过一番研究,我发现 vim 不支持所有终端键码,因此我必须将终端键码分配给一个空的 vim 键码(如 F13)。我遵循一步步指导,但没有成功。

我所做的是:

  1. 使用 cat 查找 Ctrl + F8 的终端 (URxvt) 键码。结果是:^[[19^
  2. 在我的插件文件中添加了以下几行:

set <F13>=^[[1;2B nnoremap <F13> :call foobar

有什么建议么?

答案1

[经过测试,我已将我的评论转移到答案中。]

您的set命令未使用与扫描码相同的值。另外,您需要确保使用转义符而不是 和 两个字符^[为了使此操作简单而无需“硬编码”转义符,我将使用:execute

:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>

相关内容