如上所述in this answer,自Git 1.8.2起,您可以使用core.commentchar
配置值将提交消息注释更改为默认值#
(hashmark或hashsign)以外的其他内容。
这可以节省生命,例如如果您的提交消息策略要求您启动带有票号的提交消息:
#123 Fixed array indices
可悲的是,这打破了Vim语法高亮。
你怎么能把美丽带回来?
答案 0 :(得分:14)
您应该尝试运行:verbose syntax
。活动语法文件可能是$VIMRUNTIME\syntax\gitcommit.vim
(github version,可能在.vim
中)。
它将告诉您哪个语法行将触发格式化为注释。
你可能会看到类似的东西:
gitcommitComment xxx match /^#.*/
links to Comment
或
syn match gitcommitComment "^#.*"
意味着它匹配以#
开头的每一行。
您可以修改它,以便第一行的#
不被视为评论。我不知道syntax
格式足以为您提供完整的解决方案。
\%^ match the beginning of file
\%1l match line 1
\%>1l match below line 1
因此,您可能会尝试修改gitComment模式,使其无法在您的git提交的第1行上运行。
(我尝试过一些东西,但没有设法只排除第一行评论!似乎还有一个diffComment
搞乱了,因为gitcommit包含带有syn include @gitcommitDiff syntax/diff.vim
的diff格式
)
有关详细信息,请参阅:help syntax
和:help pattern
。
关于语法highligthing的另一个好资源:Learn Vim the Hard Way, chapter 46。