如何更改Vim中git commit-messages的突出长度?


5

我认为git commit消息的正统50个字符的限制绝对是荒谬的。(主要是因为我认为在2015年使用80个字符宽的终端机同样可笑。):P

我已经通过vimvimrc中的git commit-messages的默认设置修复了其他一些明显的问题;但vim如果第一行超过50个字符,则仍然突出显示第一行:

如何更改发生这种情况的线长?

Answers:


6

这是由以下行引起的$VIMRUNTIME/syntax/gitcommit.vim

syn match   gitcommitSummary    "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell

您可以仅将该语法脚本复制到~/.vim/syntax/并对其进行修改,但这会拖累您维护克隆文件的过程。我更愿意在中有选择地更改单个语法定义~/.vim/after/syntax/gitcommit.vim

syn clear gitcommitSummary
syn match   gitcommitSummary    "^.\{0,80\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell

或者,您可以在项目中打开一个问题,并要求可配置的阈值;硬编码的限制当然不是很好。


甚至有可能是可配置的吗?如果是这样,我将其传递给@tpope。
ELLIOTTCABLE

1
供将来参考:GitHub规定的最大长度正好是72个字符。(谢谢,@ tpope。)
ELLIOTTCABLE

在我的Mac上,$ VIMRUNTIME为空。那可能~/.vim吗?
Dan Rosenstark

1
@DanRosenstark:不,那是您的个人配置目录(您将替代放置在after目录中)。$VIMRUNTIME是指Vim附带的Vim脚本。您应该在:scriptnames输出中看到实际位置。许多脚本是在启动时从那里加载的(其中之一将以结尾syntax/gitcommit.vim)。
Ingo Karkat

1
酷,我现在看到了,谢谢!/usr/share/vim/vim80/syntax/gitcommit.vim
Dan Rosenstark
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.