当从`git commit`调用时,Vim使用非标准配置?

dmk*_*mkc 7 git vim

我注意到git似乎在我编写提交消息时使用不同的vim设置.我git+svn安装了Macports,我检查了$MYVIMRC变量:它设置为正确的文件.尽管如此,每次我提交消息时,我都限制每行80个字符,区分大小写搜索,并且没有安装任何插件.

这可能是愚蠢的事情.希望得到一个关于它是什么的指针.

编辑:其实我只是检查:我的插件工作.当我输出提交消息时,只有80个字符的列宽才奇迹般地活跃起来.

Cas*_*bel 15

这不是一个错误,它是一个功能!

Vim知道很多文件类型 - 包括git提交(以及交互式rebase和config ...).每个都有语法定义和ftplugins(文件类型激活的插件).提交ftplugin中的一个设置是textwidth=72.这样做是为了使git log的输出在标准宽度终端中看起来很好.如果你真的想改变它,你可以去编辑插件,但我真的建议保留它.

该插件应该在<vim-directory>/vimXX/ftplugin/gitcommit.vim.这XX是版本号,例如版本7.2的72,而领先的组件通常是类似的/usr/share/vim.

PS该插件还定义了一个命令DiffGitCached,它将打开要在预览窗口中提交的diff.便利!

  • 如果要覆盖设置,则应在`〜/ .vim/after/ftplugin/gitcommit.vim`中执行此操作,而不是通过编辑系统文件.请参见http://vimdoc.sourceforge.net/htmldoc/options.html#after-directory (4认同)