用于突出显示扩展名的次要语法的Vim配方

时间:2014-12-24 14:36:29

标签: vim syntax-highlighting

我想让我的系统的Python语法突出显示完整,但我有一个特定的模式,我想强调我使用了很多的成语。如何在vim完成的现有突出显示之上添加其他突出显示说明?

(如果已经提出这个问题,请道歉。所有我发现的突出问题的vim语法似乎都涉及编写一个从头开始突出显示的新语法。)

1 个答案:

答案 0 :(得分:2)

将其他:syntax个命令放入~/.vim/after/syntax/python.vim,并在原始语法脚本

之后自动执行

  • 很容易突出到目前为止尚无法解析的内容。
  • 对于已经解析/突出显示的元素,您需要找出语法组(例如pythonFunction),并向containedin=pythonFunction添加:syntax子句}命令。没有它,原始匹配将模糊你的。要找出导致突出显示的语法组。 :syn list显示所有有效群组,但在安装SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor插件时更容易。
  • 在具有多个现有语法组的(较大)元素中引入突出显示很困难,因为您的匹配将模糊原始匹配,并且可能会破坏整个解析。您需要仔细检查现有的嵌套元素结构,并通过contains=containedin=子句再次尝试适合您的结构。根据实际情况,这可能很困难。

有关实际的语法定义,请参阅从:h :syn-keyword开始的帮助。基本上,有简单的关键字定义,正则表达式匹配以及由开始和结束模式定义的区域。