【发布时间】:2018-01-27 00:33:35
【问题描述】:
这三行 Vim 脚本通过将 [[[ 和 ]]] 围绕在我的源代码中“突出显示”我的源代码中的所有 TODO 实例。
:set t_Co=1
:highlight Braces start=[[[ stop=]]]
:call matchadd("Braces", "TODO")
不幸的是,这只适用于“普通终端”。这就是为什么我必须将t_Co 设置为1。
可以在彩色终端或 gui 中实现类似的功能吗? (或者在 NeoVim 中?)。这可能是一种使用元信息扩充代码的非常有用的方法。
【问题讨论】:
-
@JanHudec,您的 t_Co 默认设置为多少?
set t_Co?。对我来说,它只有在t_Co是1时才有效。 -
为什么您更喜欢使用颜色和文本属性的“正常”突出显示?这不会弄乱屏幕和垂直导航吗?
-
什么是“普通终端”?你为什么
set t_Co=1?是什么让您认为除了“普通终端”之外,您无法突出显示任意文本?为什么在第二行中使用highlight而不是syntax? -
@IngoKarkat:这将传达更多信息。例如,在 C 类定义的末尾,我可以在右大括号之后写类似“类结束”的东西。我可能只会将它用于行尾的扩充,所以它不会弄乱我的垂直对齐方式。
-
@romani "normal terminal" 是 vim 文档
h: highlight-args中使用的表达式,意思是“非彩色终端”。我的问题不是用颜色突出显示文本,而是用文本“突出显示”文本。我不知道按照您的建议使用语法的优缺点。
标签: vim terminal syntax-highlighting neovim