如何";突出显示“;在Vim中使用文本?
Vim脚本的这三行通过在其周围放置如何";突出显示“;在Vim中使用文本?,vim,terminal,syntax-highlighting,neovim,Vim,Terminal,Syntax Highlighting,Neovim,Vim脚本的这三行通过在其周围放置[[[和]]来“突出显示”我的源代码中的TODO的所有实例 :set t_Co=1 :highlight Braces start=[[[ stop=]]] :call matchadd("Braces", "TODO") 不幸的是,这只适用于“正常终端”。这就是为什么我必须将t\u Co设置为1 在彩色终端或gui中可以实现类似的功能吗?(还是在NeoVim?)。这可能是用元信息扩充代码的一种非常有用的方法。请记住,Vim是一个文本编辑器;这些文件主要按原样
[[[
和]]
来“突出显示”我的源代码中的TODO
的所有实例
:set t_Co=1
:highlight Braces start=[[[ stop=]]]
:call matchadd("Braces", "TODO")
不幸的是,这只适用于“正常终端”。这就是为什么我必须将t\u Co
设置为1
在彩色终端或gui中可以实现类似的功能吗?(还是在NeoVim?)。这可能是用元信息扩充代码的一种非常有用的方法。请记住,Vim是一个文本编辑器;这些文件主要按原样显示文件内容。为了用元信息扩充代码,Vim提供:
- (语法)突出显示:颜色和文本属性,如粗体或斜体
- 隐藏:将匹配项隐藏或压缩为零/单个字符
- 标志(显示在窗口左侧的一列中)
:帮助突出显示args中发现的那样:
start=
和end=
参数(您的黑客所依赖的)仅支持“普通终端”,而不支持字符和gui。这就是为什么您必须:设置t_Co=1
(即强制非彩色端子)才能工作
由于这些缺点(以及更多:重绘问题,垂直导航关闭),我建议放弃这个,使用上面列出的“已批准”方法之一。Vim的用户太多了,他们似乎也对他们很好。请记住,Vim是一个文本编辑器;这些文件主要按原样显示文件内容。为了用元信息扩充代码,Vim提供:
- (语法)突出显示:颜色和文本属性,如粗体或斜体
- 隐藏:将匹配项隐藏或压缩为零/单个字符
- 标志(显示在窗口左侧的一列中)
你的方法是一种滥用原始终端代码定义的黑客行为;这些是由终端解释的不可见控制序列,但您发送的是可见文本
正如您在:帮助突出显示args中发现的那样:
start=
和end=
参数(您的黑客所依赖的)仅支持“普通终端”,而不支持字符和gui。这就是为什么您必须:设置t_Co=1
(即强制非彩色端子)才能工作
由于这些缺点(以及更多:重绘问题,垂直导航关闭),我建议放弃这个,使用上面列出的“已批准”方法之一。Vim用户太多了,他们似乎也很好。@JanHudec,默认情况下你的t_Co设置为什么<代码>设置t\U Co?
。对我来说,它只有在t_Co
为1
时才起作用。为什么您更喜欢使用颜色和文本属性的“正常”高亮显示?这不会弄乱屏幕和垂直导航吗?什么是“普通终端”?您为什么设置t_Co=1
?是什么让你认为除了“普通终端”之外,你不能突出显示任意文本?为什么在第二行中使用突出显示
而不是语法
。例如,在C类定义的末尾,我可以在结束的花括号后面写一些类似“类的结尾”的东西。我可能只会在行尾使用它来增强,这样就不会弄乱我的垂直对齐。@romani“normal terminal”是vim文档中使用的表达式h:highlight args
,意思类似于“non-color terminal”。我的问题不是用颜色突出显示文本,而是用文本“突出显示”文本。我不知道按照你的建议使用语法的利弊。@JanHudec,默认情况下你的语法设置是什么<代码>设置t\U Co?
。对我来说,它只有在t_Co
为1
时才起作用。为什么您更喜欢使用颜色和文本属性的“正常”高亮显示?这不会弄乱屏幕和垂直导航吗?什么是“普通终端”?您为什么设置t_Co=1
?是什么让你认为除了“普通终端”之外,你不能突出显示任意文本?为什么在第二行中使用突出显示
而不是语法
。例如,在C类定义的末尾,我可以在结束的花括号后面写一些类似“类的结尾”的东西。我可能只会在行尾使用它来增强,这样就不会弄乱我的垂直对齐。@romani“normal terminal”是vim文档中使用的表达式h:highlight args
,意思类似于“non-color terminal”。我的问题不是用颜色突出显示文本,而是用文本“突出显示”文本。我不知道按照你的建议使用语法的利弊。
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