我需要一个脚本代码来突出显示"[Capítulo"和"]"以及它们之间的所有内容.谢谢.
我希望每次打开时它都可以工作,例如.txt文件.就像代码突出显示一样.
这是一个简单的方法:
在vim中,确保语法高亮显示 :syn on
运行该命令:highlight
以获取所有突出显示组名称的列表,以及它们的外观样本.该Error
组在我的colorscheme中看起来很好,所以我将在我的示例中使用它(但你可以使用任何其他名称,如Todo
或Search
)
:syntax match Error /\[Capítulo[^\]]*\]/
这种模式可以防止你贪婪地匹配最大的块.即使其他人建议您使用正则表达式/\[Capítulo.*\]/
- 它可能不是您想要的,因为如果一行上有两个或更多这样的模式,它将匹配其间的所有内容.
例如,/\[Capítulo.*\]/
将匹配整行:
[Capítulofoo]这些话不应该突出显示[Capítulobar]
相同的例子,但/\[Capítulo[^\]]*\]/
只会匹配[]内的东西:
[Capítulofoo]这些话不应该突出显示[Capítulobar]
使用正则表达式,这是一个常见的技巧,可以使一个组匹配除了您希望结束匹配的字符之外的所有字符,而不是使用.*
匹配尽可能多的字符的字符.在这种情况下,我们做了组[^\]]*
-这表示" 匹配除了]的一切. "
如果按照您希望的方式工作,请将没有" :
" 的语法匹配行添加到.vimrc中