【发布时间】:2012-01-22 16:58:52
【问题描述】:
一般如何调试和解决键绑定重叠的问题? 我有这个问题.. 最近我将vim-latex 插件添加到我的vim 目录中。 之后我注意到我的 ctrl-j 绑定与 vim-latex/plugin/imaps.vim 重叠,并且在解决之前浪费了很多时间。
顺便说一句:我认为 imaps.vim 中有一个错误,因为写有“只有在没有映射的情况下才映射”,而我的示例显示相反。
【问题讨论】:
一般如何调试和解决键绑定重叠的问题? 我有这个问题.. 最近我将vim-latex 插件添加到我的vim 目录中。 之后我注意到我的 ctrl-j 绑定与 vim-latex/plugin/imaps.vim 重叠,并且在解决之前浪费了很多时间。
顺便说一句:我认为 imaps.vim 中有一个错误,因为写有“只有在没有映射的情况下才映射”,而我的示例显示相反。
【问题讨论】:
您可以通过:map 命令获取细粒度信息:
仅显示与特定键相关的映射(在本例中为 ctrl-J):
:map <c-j>
或者,更好的是,显示特定键的映射以及设置映射的脚本:
:verbose map <c-j>
【讨论】:
这是对其他人答案的补充,而不是答案本身。
顺便说一句:我认为 imaps.vim 中有一个错误,因为写有“只有在没有映射的情况下才映射”,而我的示例显示相反。
你误解了这里的“映射”是什么意思。如果您查看imaps.vim 的代码,您会发现如果有到<Plug>IMAP_JumpForward ({rhs}) 的映射,它不会创建映射,如果有<C-j> 映射({ lhs})。因此你应该使用
nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward
如果您不需要 <C-j> 重新映射以禁用它(当然,如果您想使用此功能,您可以将 <SID>... 部分替换为更有意义的部分)。
【讨论】:
:map
显示您当前地图的列表。
【讨论】: