我有一个映射.vimrc
与插件中的另一个映射冲突。
nnoremap <leader>p some fancy command here
当我运行 VIM 时,我收到一个警告:
E227: mapping already exists for ,p
如何静默覆盖有问题的映射?
编辑:
- 它既不适用
nmap
我有一个映射.vimrc
与插件中的另一个映射冲突。
nnoremap <leader>p some fancy command here
当我运行 VIM 时,我收到一个警告:
E227: mapping already exists for ,p
如何静默覆盖有问题的映射?
编辑:
nmap
这可能会消除警告:
:nnoremap <silent> <leader>p some fancy command here
但我怀疑警告实际上并非来自您的映射。我怀疑冲突的映射是用 定义的<unique>
,并且在您的映射之后被映射。如果冲突的地图已经存在,<unique>
将发出一个。E227
见:h E227
。
挖掘映射的第二个来源(可能是插件),看看是否是这种情况。大多数编写良好的插件为您提供了一种使用自己的映射或覆盖他们的映射的方法,方法是设置全局标志以完全禁用映射,或者检测您已将其他内容映射到特定函数(通过hasmapto
)
您可以通过以下方式查看哪个插件/脚本设置了映射:
:verbose map <leader>p
这应该有助于追查源头。