无法在 gvim 中映射 F1 到 F5 之间的任何键

无法在 gvim 中映射 F1 到 F5 之间的任何键

我无法通过 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 分别被映射到静音、降低音量、提高音量、暂停/播放和前进。

相关内容