[英]Highlight specific column in VIM
我经常处理包含固定位置数据的文件。 如果您愿意,可以使用非分隔的“CSV”文件... 通常,我想突出显示一个特定的列。
我试过了
:match ErrorMsg /\%>30v.\+\%<40v/
但这运行速度非常慢,只匹配第一行。 我想这个文件可能太大了。 请注意,这些文件非常宽(大约 40000 个字符)但不是很长(大约 2000 行)。 数据来自我无法控制的旧工具。
示例文件:
63082
01089
75518 735301
53473 017146
37217
07
940376
762 2842
88331
40680 8928
645718
0131
03522
47210 27431
93837
8825072 49479415
52084 8940
0591705 205635
525429
65339 300
0397
1983
0
2605768
121991 648
3892
1260
有任何想法吗?
您使用的是 Vim 7.3 吗?
显然他们最近刚刚添加了一个colorcolumn
选项。
尝试:
:set colorcolumn=31,32,33,34,35,36,37,38,39
请注意:help 'colorcolumn'
表示“将使屏幕重绘变慢”。 不过,我通过使用1234567890
的纯块和您指定的精确重复计数在某种程度上复制了您的场景。
你提到的命令很慢。 colorcolumn
不是。
但这运行速度非常慢,只匹配第一行
“第一行”是指启用自动换行时显示的第一行吗? 不幸的是colorcolumn
将表现出相同的行为......
这与原始主题无关,但谷歌将人们带到了这里。 在尝试修复缩进严重的 YAML 或任何其他swiftwidth=2
文件时,我真的很难在视觉上识别有效列中的内容。 @ib对已接受答案的评论将我引向了这颗宝石。
:let &l:colorcolumn = join(range(3,15,2),',')
它基本上将 set colorcolumn
设置为 3 到 15 的逗号分隔字符串值,按 2 计数。(换句话说: :set colorcolumn=3,5,7,9,11,13,15
)结果如下所示:
您可以做一个简单的:set colorcolumn
来查看结果值。
要摆脱它,请执行:set colorcolumn=
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.