如何在 Vim 中添加类似 #TODO 的语法高亮?

问题描述 投票:0回答:1

我注意到使用 Vim 编辑 Python 文件时,

TODO
#TODO
部分以黄色突出显示。如何添加自定义突出显示?例如,我希望
BUG
#BUG
部分以红色突出显示。

我搜索了一些答案,但是太复杂,没有达到想要的匹配效果。

有没有人有更好的方法?

vim vim-syntax-highlighting
1个回答
2
投票

您可以通过在 Vim 的 Python 语法定义中引入一个新组来实现此目的。 原来的定义可以在

$VIMRUNTIME/syntax/python.vim
找到,可以作为参考。

内置文件的调整应该进入用户 Vim 目录的 after 文件,例如Windows 上为

~/.vim/after/syntax/python.vim
$HOME/vimfiles/after/syntax/python.vim
。 如果目录和文件尚不存在,您可以创建它们。 该文件将在全局配置之后
:source
d。 请参阅
:help runtimepath
:help after-directory
中的文档。

以下几行需要进入

~/.vim/after/syntax/python.vim

syntax match pythonComment "#.*$" contains=pythonBug,pythonTodo,@Spell
syntax keyword pythonBug BUG contained
highlight link pythonBug Error

第一行是从全局语法文件复制的,我们只是添加新的语法组

pythonBug
。 现在评论也可以包含
pythonBug
,就像它们可以包含
pythonTodo
(负责突出显示“TODO”等的组)。

第二行定义

pythonBug
应匹配关键字“BUG”,但前提是它包含在另一个组中(即
pythonComment
)。

第三行将

pythonBug
的外观链接到
Error
,根据您的配色方案,它可能会略带红色。您还可以使用
:highlight
浏览所有已知的突出显示组,然后选择您更喜欢的一个。

虽然可以明确为“BUG”指定红色背景,但最好让颜色方案处理实际颜色。

文档中值得注意的部分是

:help :syn-keyword
:help :highlight

© www.soinside.com 2019 - 2024. All rights reserved.