仅针对某些关键字

时间:2016-11-21 17:16:48

标签: vim

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

换句话说,我想在perl插件处理完毕后,在用户的〜/ .vimrc中有选择地禁用语法高亮显示。

我尝试了一些事无济于事。

[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

2 个答案:

答案 0 :(得分:0)

回答了我自己的问题。我应该使用的命令是“突出显示”。就我而言,它是......

:highlight clear Todo

答案 1 :(得分: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链接到此,许多其他语法也执行此操作。如果需要,那很好,如果没有,请切换到上面的方法。