限制或更改 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个字符,我认为这是不可能的。您可以尝试设置 textwidth
和 colorcolumn
,但这些不会 强制 您使用少于 75 个字符,并且它们不会应用于单行.
我使用 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个字符,我认为这是不可能的。您可以尝试设置 textwidth
和 colorcolumn
,但这些不会 强制 您使用少于 75 个字符,并且它们不会应用于单行.