在文件.git/COMMIT_EDITMSG中设置VIM拼写检查

34

我希望在编辑git提交文本时自动设置拼写检查。从%中看到它正在写入名为.git/COMMIT_EDITMSG的文件。如何更新我的.vimrc以在编辑该文件时自动设置拼写检查。

类似这样的内容:

如果(文件名包含单词COMMIT)

设置拼写检查

结束

6个回答

36

这段代码对我有效:

autocmd FileType gitcommit setlocal spell

将建议的行添加到~/.vimrc中,并将Vim设置为Git的默认编辑器:git config --global core.editor“ vim” - Noam Manos

26

通常情况下,您可以使用自动命令(au BufNewFile,BufRead COMMIT_EDITMSG setlocal spell)来完成此操作,但是最近的vim版本已经为git提交消息指定了文件类型,因此您可以创建一个文件~/.vim/ftplugin/gitcommit.vim并在其中放置以下内容:

if exists("b:did_ftplugin")
  finish
endif

let b:did_ftplugin = 1 " Don't load twice in one buffer

setlocal spell

确保在您的 .vimrc 文件中添加 filetype plugin on。这需要一些额外的工作,但是可以使以后添加调整更加容易。 :)


我错过了你的回答,但是周末我找到了"autocmd...."的方法。感谢您提供的文件类型解决方案。 - user205315
我们可以在~/.vim/after/ftplugin/gitcommit.vim中完成这个吗? - wik
这个答案的措辞意味着这比使用 autocmd 更可取(如 @Keith Smiley 的答案所示)。有人可以帮我理解为什么会这样吗?一行 autocmd 看起来要简单得多。 - Jonathan Hartley

11

5

在 ~/.vimrc 中添加 autocmd BufNewFile,BufRead COMMIT_EDITMSG set spell 可以实现拼写检查。


5
一种简洁的方法是使用vim filetype plugin来实现。这将允许您在单独的文件中放置与文件类型相关的配置/映射(例如,参见我的.vim/ftplugin/gitcommit.vim)。要这样做,请在~/.vim/ftplugin/gitcommit.vim处创建一个文件,并在其中放置自定义配置。

3
你可以在 .vimrc 文件中添加 'set spell',这样Vim会自动拼写检查所有文档,包括你的git提交消息。Vim足够聪明,可以拼写检查注释和字符串,同时忽略源代码。
根据你的颜色方案,这可能会很烦人,因为你的注释和字符串中的变量名被标记为拼写错误。
请参阅this stackoverflow question获取有关拼写检查的更多详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接