微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在vim中执行命令

最近我发现一个vim插件,使用了< Plug>。例如,我想执行一个命令& Plug> abc_def。

我已经尝试过以下一切:< Plug> abc_def和类似的。没有什么工作和:帮助< Plug>没有提供任何信息。

但是,我已经能够通过创建一个映射来执行:map x< Plug>(unite_redraw)。然后我可以按x执行它。

现在,是否有任何方法可以执行:< Plug> abc_def而不创建虚拟映射才能运行它?我使用的实际插件是Unite。

<插头>映射意图通过映射映射和调用。 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

原文地址:https://www.jb51.cc/vim/388390.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐