我使用包含固定位置数据的文件进行了大量工作。非分隔的“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
有什么想法吗?
答案 0 :(得分:18)
您使用的是Vim 7.3吗?
显然他们最近刚添加了colorcolumn
选项。
尝试:
:set colorcolumn=31,32,33,34,35,36,37,38,39
请注意,:help 'colorcolumn'
表示“会使屏幕重绘速度变慢”。不过,我通过使用1234567890
的纯块以及您指定的确切重复次数来复制您的场景。
您提到的命令非常慢。 colorcolumn
不是。
但是这个速度非常慢,只匹配第一行
“第一行”是指第一个显示的行,当启用自动换行时?不幸的是colorcolumn
会表现出同样的行为......
答案 1 :(得分:1)
This is off the original topic, but Google leads people here. When trying to fix a horribly indented YAML or any other swiftwidth=2
file, I really struggle to visually recognize what is and isn't in a valid column. A comment by @ib to the accepted answer lead me to this gem.
:let &l:colorcolumn = join(range(3,15,2),',')
It basically says set colorcolumn
to the comma delimited string value of 3 through 15 counted by 2. (In other words: :set colorcolumn=3,5,7,9,11,13,15
) The result looks like this:
You can do a simple :set colorcolumn
to see what value results.
To get rid of it do :set colorcolumn=