【问题标题】:VIM set spell in file .git/COMMIT_EDITMSGVIM 在文件 .git/COMMIT_EDITMSG 中设置拼写
【发布时间】:2010-12-14 01:06:54
【问题描述】:

我想在 git 中编辑提交文本时自动“设置拼写”。从 % 我看到它正在写入一个名为 .git/COMMIT_EDITMSG 的文件名。如何更新我的 .vimrc 以在编辑该文件时自动设置拼写。 在线上的东西

如果(文件名中有一个单词COMMIT)

设置咒语

fi

【问题讨论】:

    标签: vim


    【解决方案1】:

    使用vim filetype plugin 是一种简洁的简便方法。

    这将允许您将依赖于文件类型的配置/映射放在单独的文件中(例如,请参阅我的 .vim/ftplugin/gitcommit.vim

    为此,请在~/.vim/ftplugin/gitcommit.vim 创建一个文件,并将您的自定义配置放在那里。

    【讨论】:

      【解决方案2】:

      这条线适合我:

      autocmd FileType gitcommit setlocal spell
      

      【讨论】:

        【解决方案3】:

        您可以在 .vimrc 文件中添加“设置拼写”,以使 Vim 自动对所有文档进行拼写检查,包括您的 git 提交消息。 Vim 足够聪明,可以在忽略源代码的情况下检查 cmets 和字符串。

        根据您的配色方案,尽管看到 cmets 中的变量名称和字符串突出显示为拼写错误的单词,这可能会很烦人。

        有关拼写检查的更多详细信息,请参阅this stackoverflow question

        【讨论】:

          【解决方案4】:

          autocmd BufNewFile,BufRead COMMIT_EDITMSG 设置拼写

          在 ~/.vimrc 中会这样做

          【讨论】:

            【解决方案5】:

            通常您可以使用 autocmd (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 ....”。感谢您提供的文件类型方式。
            • 我们可以在 ~/.vim/after/ftplugin/gitcommit.vim 中执行此操作吗?
            【解决方案6】:
            auBufNewFile,BufRead COMMIT_EDITMSG setlocal spell

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2010-10-16
              • 1970-01-01
              • 2014-12-29
              • 2013-10-05
              • 2011-08-17
              • 1970-01-01
              • 2011-12-07
              相关资源
              最近更新 更多