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