![无法在 gvim 中映射 F1 到 F5 之间的任何键](https://linux22.com/image/1561756/%E6%97%A0%E6%B3%95%E5%9C%A8%20gvim%20%E4%B8%AD%E6%98%A0%E5%B0%84%20F1%20%E5%88%B0%20F5%20%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BB%BB%E4%BD%95%E9%94%AE.png)
我无法通过 vimrc 映射 gvim 中 F1 到 F5 之间的任何键。但是 F5 之后的所有键都已正确映射。
这是我的 vimrc 文件内容。
map <F1> :q!<ESC>
map <F4> :E<ESC>
map <F3> :sp<ESC>
map <F6> :vsp<ESC>
map <F7> :tabe %<ESC>:set syntax=systemverilog<ESC>:E<ESC>
当我打开 gvim 时,F6 和 F7 被正确映射,但是 F1、F3 和 F4 没有被映射。
有趣的是,如果我通过 map 命令手动进行映射,打开 gvim 后,我甚至可以映射所有这 3 个键。
有人可以帮我吗?
答案1
中的键映射.vimrc
可以被其他初始化文件覆盖。可以检查与F1
键绑定的映射,例如:
:map <F1>
如果除了 之外还有其他内容,.vimrc
则映射将被替换或删除。详细选项显示键映射的来源:
:verbose map <F1>
...
Last set from ...
.gvimrc
在这种情况下,映射被覆盖。.vimrc
首先是 Vim 进程,然后.gvimrc
是始终获胜中的键映射.gvimrc
。.gvimrc
应包含特定于图形环境的配置,如菜单扩展、颜色方案、特殊鼠标设置和与终端模式无关的所有其他配置选项。
这种情况的解决方案是从中删除键映射,.gvimrc
这样它就不会覆盖从的映射.vimrc
。
答案2
虽然没有答案,但我想我知道问题发生的原因。我现在也遇到了同样的问题,我认为这是因为如果你使用的是笔记本电脑,f1-f6 分别被映射到静音、降低音量、提高音量、暂停/播放和前进。