我正在使用jedi-vim
。它将键映射定义<Leader>n
为一些命令,而我也在.vimrc文件中将其定义为如下所示。
nnoremap <Leader>n <C-w><C-w>
但是当我输入<Leader>n
python文件时,jedi#usages()
命令已执行。
:map <Leader>n
返回:
n <Space>n *@:call jedi#usages()<CR>
n <Space>n * <C-W><C-W>
<Leader>n
在定义地图之前,我还尝试取消映射。但是,它引发了一个错误,表明未定义任何内容。
如何避免这种冲突?
我知道当我定义g:jedi#usages_command
到另一个命令时,该问题将得到解决。我想知道避免重叠映射的方法。
我知道当我定义
g:jedi#usages_command
到另一个命令时,该问题将得到解决。我想知道避免重叠映射的方法。
定义g:jedi#usages_command
是“避免重叠映射的方法”。
插件映射始终优先于您的映射,因为它们是在定义您的映射之后定义它们的映射的。
在脚本级别有一些解决方案,例如使用<unique>
,或者检查映射是否已经存在,或者干脆不定义任何用户级别的映射……但这是开发人员的责任,而不是您的责任。
- - 编辑 - -
为了扩展克里斯蒂安的评论……最后一个映射总是胜利,这就是它的工作方式,用户无法采取任何措施来保护他的映射。
但是,插件开发人员可以使用一些机制来防止其插件覆盖用户映射和用户设置,因此可以期望他们使用这些机制来尊重您的映射。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句