是否可以在syn match
组中包含空虚拟列?我想通过给它一个黑色背景突出显示一个文本块,好像它在终端窗口中,但我希望“终端”总是80列宽,即使该行中的文本较短。
我尝试sync match cmdLineOutput '.*\%<81v'
,但只有在那里有实际字符时才匹配。我想我需要一些东西来替换匹配字符和空列的.
。
答案 0 :(得分:2)
您可以尝试使用colorcolumn:
highlight ColorColumn ctermbg=black
let &colorcolumn=join(range(1,80), ',')
这会使前80列成为黑色背景,但会使屏幕重绘速度变慢。
请参阅:h colorcolumn获取更多选项。
答案 1 :(得分:2)
作为文本编辑器,除了文本之外不需要突出显示,所以你需要破解它。已经提到的'colorcolumn'
适用于特定列,但适用于窗口中的所有行;如果您需要突出显示特定行,可以使用标志。不幸的是,那些突出显示特定行中的所有列(并另外显示符号列)。
:sign define demo linehl=Search
:exe "sign place 2 line=3 name=demo file=" . expand('%:p')
如果您确实需要特定行和列,我认为您必须在这些行中添加尾随空格,然后您才能使用正常的:syn match
它
答案 2 :(得分:1)
colorcolumn
选项大致可以满足您的需求。通常,它只突出显示一列,但您也可以指定列列表。在你的情况下,你可以通过
:set colorcolumn=81,82,83,84,85,... (how many you want)
:hi ColorColumn ctermbg=black