我一直尝试用几种不同的方式映射 Ctrl + F8,但就是无法正常工作。经过一番研究,我发现 vim 不支持所有终端键码,因此我必须将终端键码分配给一个空的 vim 键码(如 F13)。我遵循这一步步指导,但没有成功。
我所做的是:
- 使用 cat 查找 Ctrl + F8 的终端 (URxvt) 键码。结果是:^[[19^
- 在我的插件文件中添加了以下几行:
set <F13>=^[[1;2B nnoremap <F13> :call foobar
有什么建议么?
答案1
[经过测试,我已将我的评论转移到答案中。]
您的set
命令未使用与扫描码相同的值。另外,您需要确保使用转义符而不是 和 两个字符^
。[
为了使此操作简单而无需“硬编码”转义符,我将使用:execute
:
:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>