I've noticed that git seems to use different vim settings any time I'm writing a commit message. I have the git+svn
install off Macports, and I've checked the $MYVIMRC
variable: it's set to the correct file. Still, every time I go to commit a message I have a restriction on 80 characters per line, case sensitive search, and none of the plugins I've installed.
It's probably something silly. Would appreciate a pointer as to what it is.
EDIT: Actually I just checked: my plugins work. It's only the column width of 80 chars that miraculously comes alive when I type out commit messages.
That's not a bug, it's a feature!
Vim knows about a lot of filetypes - including git commits (and interactive rebases, and config...). There are syntax definitions and ftplugins (filetype-activated plugins) for each of these. One of the settings in the commit ftplugin is textwidth=72
. This is done so that the output of git log will look good in a standard-width terminal. If you really want to change it, you could go edit the plugin, but I'd really recommend keeping it.
The plugin should be in <vim-directory>/vimXX/ftplugin/gitcommit.vim
. The XX
is the version number, e.g. 72 for version 7.2, and the leading component is generally something like /usr/share/vim
.
P.S. The plugin also defines a command DiffGitCached, which will open the diff to be committed in a preview window. Handy!
:verbose set textwidth? formatoptions?
will tell you the values of these option and what script last set them. Text is only hard-wrapped while typing if 'textwidth'
is non-zero and 'formatoptions'
contains the t
setting. It's likely that the gitcommit filetype plugin (ftplugin/gitcommit.vim
) is changing one or both of these options because you have filetype plugins enabled (:filetype
shows plugin:ON
).
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