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

如何避免Vim错误消息“不是编辑器命令”

假设我的. vimrc中有以下内容

au bufenter * RainbowParenthesesToggle

但是我在一个不熟悉的机器上,我还没有安装我的所有插件.这意味着当我启动Vim时,我收到以下错误消息:

E492: Not an editor command: RainbowParenthesesToggle

我怎样才能防止这种情况,或者if if语句是否要包含这些调用以避免在启动Vim时收到此错误消息?

解决方法

压制

最简单的方法是通过以下方式抑制错误消息:silent! (注意!):

:au bufenter * silent! RainbowParenthesesToggle

每次检查

它更干净(特别是对于在每个BufEnter上运行的autocmd)以避免调用.可以使用exists(‘:RainbowParenthesesToggle’)== 2检查命令的存在.

:au bufenter * if exists(':RainbowParenthesesToggle') == 2 | RainbowParenthesesToggle | endif

避免定义

最好只检查一次,并完全避免定义autocmd.问题是你的〜/ .vimrc是在插件之前获得的!有两种方法

1)在检查之前明确地获取插件

runtime! plugin/rainbowparentheses.vim
if exists(':RainbowParenthesesToggle') == 2
    au bufenter * RainbowParenthesesToggle
endif

2)将定义和条件移动到插件之后的位置. 〜/ .vim / after / plugin / rainbowparentheses.vim将是一个很好的地方.

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

相关推荐