2013-12-23 68 views
1

我有一个fortran代码的输入文件,需要特定行和特定列中的输入文本。当我在Vim中输入这些字段时,我想强调这些字段的背景。在vim中突出显示固定宽度的块背景色

我能够通过

:highlight row ctermbg=green guibg=green 
:match row /\%>5l.\%<9l/ 

:highlight col ctermbg=grey guibg=grey 
:match col /\%>40c.\%<50c/ 

一组特定的列要么指定一组行是否有指定各行和列的宽度的方式领域,并突出它不同的颜色?

回答

1

您可以将行和列的限制,突出块:

:match block /\%>5l\%>3c.\%<8c\%<9l/ 

注意\%c比赛字节指数,而不是实际的字符。除非您的Fortran代码只能包含可打印的ASCII字符而没有<Tab>,否则最好将屏幕宽度与\%v(Vim所称的虚拟列)相匹配。

对于不同的匹配项,您有:match,:2match:3match。这些是为了交互式使用;如果要通过映射,自定义命令或autocmd添加突出显示,则应该更喜欢matchadd()/matchdelete()函数。他们稍微牵涉到使用,(您需要存储返回的ID以便稍后可以删除它们),但是您可以使用它们的任意数量。