- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在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
关于vim - 在vim中,如何突出显示 TODO : and FIXME:?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097259/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!