最近我发现一个vim插件,使用了< Plug>。例如,我想执行一个命令& Plug> abc_def。
我已经尝试过以下一切:< Plug> abc_def和类似的。没有什么工作和:帮助< Plug>没有提供任何信息。
但是,我已经能够通过创建一个映射来执行:map x< Plug>(unite_redraw)。然后我可以按x执行它。
<插头>映射意图通过映射映射和调用。 A< Plug>地图是向用户公开一个干净的插件操作界面的设备。
示例:代替将插件的一些插件功能映射到插件的硬编码中,例如“映射zz到动作”中心光标美观“
nnoremap <expr> zz 'zz'.float2nr(winheight(0)*0.1).'<C-E>'
最好只公开一个名为“Plug>映射用户可以重映射,而无需复制和粘贴“动作”。
nnoremap <expr> <Plug>NiceCenterCursor 'zz'.float2nr(winheight(0)*0.1).'<C-E>' nmap zz <Plug>NiceCenterCursor
这样很容易被用户覆盖,重用,插入。
<插头>映射仅在其定义的模式中有效。执行< Plug>为正常模式定义的映射,您可以使用任何正常命令:use:normal(不带感叹号)。
:execute "normal \<Plug>NiceCenterCursor"
由于< Plug>实际上代表了一个特殊的魔术钥匙,我们需要使用:正常与:执行并转义< Plug>。
< Plug>机制在:h 41.11
年进行了深入的描述。另见this article about this topic by a Vim master。