限制或更改 Vim 中特定行的颜色

Restrict or change color of specific line in Vim

我使用 Vim 进行 git 提交。我创建了一个 .gitcommittemplate:

############################### <BASLIK> ###############################
#
# ...
#
# |--En fazla 50 Karakter olabilir(Max 50 Char)--|
my real title

my real body

我想限制第 6 行 50 个字符。甚至更好,在 50 个字符后将其转换为红色并限制在 72 个字符后写入。

我该怎么做?

要突出显示,试试这个:

highlight LineSix guifg=red ctermfg=red
syntax match LineSix /\%6l\%51c.*/

这将创建一个名为 LineSix 的新高亮组,然后在 GUI 或终端中将其设置为红色。然后它说 任何匹配这个正则表达式的东西都是高亮组 .

正则表达式使用了一些有趣的魔法。这是一个细分:

\%6l

将匹配第 6 行的任何内容(尝试 :h /\%l

\%51c

将匹配第 51 列中的任何内容(尝试 :h /\%c

然后显然 .* 将匹配任何内容。

至于限制超过75个字符,我认为这是不可能的。您可以尝试设置 textwidthcolorcolumn,但这些不会 强制 您使用少于 75 个字符,并且它们不会应用于单行.