【问题标题】:custom keyword highlighted as todo in vi自定义关键字在vi中突出显示为待办事项
【发布时间】:2011-12-07 22:04:03
【问题描述】:

从 vim 开始,喜欢它突出了 todo cmets。然而,在这里,我们使用自定义关键字(第一个初始最后一个初始待办事项:abTODO),因此很容易 grep 用于适用于特定人员的待办事项。

我很想将 mine 添加为 vi 与 todo、fixme 和 xxx 一起选择和突出显示的关键字。

In vim, how do I highlight TODO: and FIXME:? 似乎适用,但使用以下不起作用:

syn match   myTodo   contained   "abTODO"
hi def link myTodo Todo

更新

在我的 .vimrc 中,我有以下 3 行(如建议的那样):

syntax enable
syn match myTodo "\<\l\{2\}TODO\>"
hi def link myTodo Todo

这是一个小写的 L,而不是 1。但是 abTODO 仍然没有被突出显示。

【问题讨论】:

  • 这很奇怪。您是否设置了文件类型 (:set ft)?如果是这样,最好将这些行添加到相关的语法文件中,或者添加到 $HOME/.vim/after/syntax/FILETYPE.vim。

标签: vim


【解决方案1】:

试试这个搭配:

syn match myTodo "\<\l\{2\}TODO\>"

解释:

  • \&lt; 匹配单词的开头
  • \l\{2\} 精确匹配两个小写字母
  • TODO\&gt; 匹配单词末尾的字符串TODO

您的高亮命令很好。我认为这里不需要contained 选项。

【讨论】:

  • 我一直看到 \1\2 而不是 \l\2(将 L 误认为是一个)。
  • 不幸的是,这对我不起作用。还有什么我想念的吗?如果我有一个新的 vimrc 应该有什么?
  • 你仍然需要你的行“hi def link myTodo Todo”,正如pydave所说,它是一个小写的“L”,而不是一个数字“1”。
  • 正如更新的问题中所解释的那样,这就是我无济于事的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-23
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
相关资源
最近更新 更多