2016-11-21 83 views
0

当我使用vim编辑perl文件时,我收到了TODO和NOTE。我想禁用仅关键字的突出显示。但是我不想编辑系统的vim语法插件文件。仅禁用某些关键字的Perl语法突出显示

换句话说,我想在我的用户的〜/ .vimrc中选择性地禁用语法高亮,在perl插件已经被处理之后。

我尝试了一些东西没有用..

[1]:语法清晰perlTodo

...添加到我的.vimrc。结果:抱怨perlTodo是未知的高亮组名称。

[2]:语法明确perlTodo

..直接从编辑会话中运行。结果:不会抱怨未知的群组名称,但突出显示仍然存在。

[3]:语法明确@perlTodo

..结果: '没有这样的簇' 错误。

[4]:语法清晰的Todo

...同样的结果[2]

相关的定义似乎如下:

:syntax 
    ... 
    perlTodo  xxx contained TODO: NOTE: TBD TBD: NOTE FIXME: XXX FIXME XXX: TODO 
    links to Todo 

回答

0

回答我自己的问题。我应该使用的命令是'highlight'。对于我来说,这是... ...

:highlight clear Todo 
0

您最初试图进入正确的方向,但是,通过将配置到您的~/.vimrc,你们没有考虑语法的动态运行时加载。

至少对我来说,一个Perl缓冲区内的以下工作时交互式输入的:

:syntax clear perlTodo 

(如果它不适合你,安装SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor插件排查,发现有问题的语法组名。 )

为了使这一有效打开的Perl文件,这需要官方的Perl脚本语法后执行。 Vim的目录。因此,将上述命令放入一个新文件~/.vim/after/syntax/perl.vim。应该这样做,并关闭仅用于Perl的TODO突出显示。


:highlight clear Todo 

~/.vimrc这一个工程;语法分析仍然有效,但是您已经关闭了语法的突出显示。请注意,不仅perlTodo指向此链接,许多其他语法也是这样做的。如果这是需要的话,很好,如果不是的话,切换到上面的方法。