3

我需要一个脚本代码来突出显示“[Capítulo”和“]”以及它们之间的所有内容。谢谢你。

我希望它每次打开时都能正常工作,例如,一个 .txt 文件。就像代码高亮一样。

4

2 回答 2

5

这是一个简单的方法:

在 vim 中,确保语法高亮显示为:syn on

运行命令:highlight以获取所有突出显示组名称的列表,以及它们的外观示例。该Error组看起来在我的配色方案中很突出,所以我将在我的示例中使用它(但您可以使用任何其他名称,例如Todoor 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

于 2009-04-03T05:56:50.997 回答
1

正则表达式是您要查找的内容:

键入/以进入“搜索模式”并键入:

\[Capítulo.*\]/
于 2009-04-03T05:11:48.860 回答