这三行Vim脚本"突出显示"我的源代码中TODO
的所有实例都放置了[[[
和]]]
。
:set t_Co=1
:highlight Braces start=[[[ stop=]]]
:call matchadd("Braces", "TODO")
不幸的是,这仅适用于普通终端"。这就是为什么我必须将t_Co
设置为1
。
可以在彩色终端或gui中实现类似的功能吗? (或者在NeoVim?)。这可能是使用元信息扩充代码的一种非常有用的方法。
答案 0 :(得分:3)
请记住,Vim是文本编辑器;它们主要按原样显示文件内容。为了使用元信息扩充您的代码,Vim提供:
您的方法是黑客滥用原始终端代码的定义;这些是由终端解释的不可见控制序列,但是你发送可见文本。
正如您在:help highlight-args
找到的那样:
There are three types of terminals for highlighting: term a normal terminal (vt100, xterm) cterm a color terminal (MS-DOS console, color-xterm, these have the "Co" termcap entry) gui the GUI
start=
和end=
参数(您的黑客所依赖的)仅支持“普通终端”,而不支持 cterm 和 gui 。这就是为什么你需要:set t_Co=1
(即强制使用非彩色终端)才能使用它。
由于这些缺点(以及更多:重绘问题,垂直导航已关闭),我建议删除它,并使用上面列出的“已批准”方法之一。有很多Vim用户,他们似乎也很好。