As mentioned in this answer, since Git 1.8.2 you can use core.commentchar
config value to change commit message comments to something else than the default #
(hashmark or hashsign).
That is a life-saver e.g. if your commit message policy wants you to start commit message with ticket number:
#123 Fixed array indices
Sad part is that this breaks Vim syntax highlighting.
How can you bring the beauty back?
Use Markdown to format your text. Some tools like GitHub will render Markdown when showing commit messages. Use asterisks bullets when you need to explain a long list of changes. The commit message should be clear on its own.
On the command line, navigate to the repository that contains the commit you want to amend. Type git commit --amend and press Enter. In your text editor, edit the commit message, and save the commit.
You should try to run :verbose syntax
. The active syntax file is probably $VIMRUNTIME\syntax\gitcommit.vim
(github version which is likely in your .vim
).
It will tell you which syntax line will trigger the formatting as comment.
You'll probably see something like :
gitcommitComment xxx match /^#.*/
links to Comment
or
syn match gitcommitComment "^#.*"
meaning it matches every line starting by #
.
You might be able to modify it so that a #
on the first line is not considered as a comment. I don't know syntax
format enough to give you a full solution.
\%^ match the beginning of file
\%1l match line 1
\%>1l match below line 1
So you might try to modify the gitComment pattern so that it does not work on line 1 of your git commit.
(I tried some things but did not manage to only exclude first line of comment ! It seems there is also a diffComment
messing things up because gitcommit includes diff format with syn include @gitcommitDiff syntax/diff.vim
)
)
For more details, see :help syntax
and :help pattern
.
Another good resource on syntax highligthing : Learn Vim the Hard Way, chapter 46.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With