我有一个fortran代码的输入文件,需要特定行和特定列中的输入文本。当我在Vim中输入这些字段时,我想强调这些字段的背景。
我可以通过
指定一组行:highlight row ctermbg=green guibg=green
:match row /\%>5l.\%<9l/
或
的一组特定列:highlight col ctermbg=grey guibg=grey
:match col /\%>40c.\%<50c/
有没有办法为每个字段指定行和列宽并突出显示不同的颜色?
答案 0 :(得分:1)
您可以组合线条和列限制以突出显示块:
:match block /\%>5l\%>3c.\%<8c\%<9l/
请注意\%c
匹配字节索引,而非实际字符。除非您的Fortran代码只能包含不带<Tab>
的可打印ASCII字符,否则您最好将屏幕宽度与\%v
匹配(Vim称之为虚拟列)。
对于不同的匹配,您有:match
,:2match
和:3match
。这些是用于交互式使用;如果要通过映射,自定义命令或autocmd添加突出显示,则应该首选matchadd()
/ matchdelete()
函数。它们稍微涉及使用,(您需要存储返回的ID以便以后删除它们),但您可以使用任意数量的它们。