Vim:需要帮助一个很小的脚本代码来突出显示

时间:2009-04-03 05:06:47

标签: vim scripting highlight

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

我希望每次打开时都可以使用它,例如,.txt文件。就像代码突出显示一样。

2 个答案:

答案 0 :(得分:5)

这是一种简单的方法:

在vim中,确保使用:syn on

启用语法突出显示

运行命令:highlight以获取所有突出显示组名称的列表,以及它们的外观样本。 Error组在我的colorscheme中看起来很好看,所以我会在我的示例中使用它(但您可以使用任何其他名称,例如TodoSearch

:syntax match Error /\[Capítulo[^\]]*\]/ 

这种模式可以防止你贪婪地匹配最大的块。即使其他人建议您使用正则表达式/\[Capítulo.*\]/ - 它可能不是您想要的,因为如果一行上有两个或更多这样的模式,它将匹配其间的所有内容。

例如/\[Capítulo.*\]/将匹配整行:

  

[Capítulofoo]这些词不应该突出显示[Capítulobarbar]

使用/\[Capítulo[^\]]*\]/的相同示例仅匹配[]中的内容:

  

[Capítulofoo] 这些字词不应突出显示 [Capítulobarbar]

使用正则表达式,除了使用匹配尽可能多的字符的.*之外,创建一个匹配除了要结束匹配的字符之外的所有内容的组是一种常见技巧。在这种情况下,我们制作小组[^\]]* - 其中“匹配除了之外的所有内容。”

如果按照您希望的方式工作,请将不带“:”的语法匹配行添加到.vimrc

答案 1 :(得分:1)

您正在寻找正则表达式:

输入/进入“搜索模式”并输入:

\[Capítulo.*\]/