在VIM,我怎么强调TODO:和FIXME:?

在VIM,FIXME和TODO高亮显示,但我不能让FIXME:和TODO:(注意关键字后面的冒号)突出? 我应该把我的.vimrc做到这一点?

--------------解决方案-------------

嗯,你已经发现了这个问题,但这里的原因。

有语法匹配的三种基本类型:关键字,火柴和地区。 关键词是固定的字符串,一般用于基本的语言关键字int double ,......)而且,在你的情况下,对于FIXME和TODO。 我真的是说固定的字符串; 他们必须准确,完整的词,不同的比赛和地区,其中使用正则表达式。 例如,从C的语法:

syn keyword cTodo contained TODO FIXME XXX

看起来,在几乎所有内置的语法定义,只是用不同的组名(cTodo)。

iskeyword告诉Vim一个给定的字符是否可以是关键字的一部分。 默认情况下,它不包括冒号,所以寻找关键字时,Vim看到“FIXME:”作为“FIXME”,而忽略了结肠。 如果你钉在结肠( set iskeyword+=:你现在可以定义突出了一个额外的位:

syn keyword myTodo contained TODO: FIXME:

这取决于你如何想它的工作到现有的语法/高亮组。 如果它只是一个文件类型,你可以将其添加到语法的待办事项组(如cTodo)。 如果到处都是想要的话,你可以做“myTodo”我建议,然后直接链接到的Todo高亮组( hi def link myTodo Todo )。

或者,你可以离开iskeyword独自(我可能会推荐这个),并简单地用一根火柴:

syn match myTodo contained "\<\(TODO\|FIXME\):"
hi def link myTodo Todo

如果你把自己的环境, make syntax file (not .vimrc)

  • 全球语法文件位于VIM目录(例如/usr/share/vim/vim72/syntax/c.vim)
  • 如果你让〜/的.vim /语法/ c.vim,那么你可以添加语法自己。 (覆盖)

就在该文件中添加额外的语法。 (该@Jefromi方式一样)

分类:VIM 时间:2015-03-15 人气:0
本文关键词: 编辑,VIM,语法高亮
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.594 (s). 10 q(s)