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