如何防止某些 vim 格式选项被 ftplugins 启用?

如何防止某些 vim 格式选项被 ftplugins 启用?

当我在 vim 中加载某些文件类型时,相应的 ftplugin 会添加“co”(以及其他选项)。我不想要这个。

一个例子是捆绑的 ruby​​.vim。我可以一次一个地执行此操作,方法是将文件复制到 ~/.vim/ftplugin/ 并手动更改行set formatoptions,但这真的很不方便。此外,如果我升级 vim,我将没有最新的 ftplugin 文件。

有没有办法只忽略所有 ftplugins 的“co”部分?或者是否有办法让“set formatoptions-=co”在每次加载 ftplugin 后自动运行?

更新:

这是我对已接受答案的改进:

augroup myft
  au!
  au FileType * setlocal formatoptions-=c formatoptions-=o
augroup END

这将自动命令定义为一个组,因此如果 .vimrc 被多次引用,则可以清除该组。否则相同的自动命令将继续被附加。

答案1

这个问题最近刚刚被别人回答过,但我找不到那个答案,所以又在这里重新回答一下。将以下内容放入你的 ~/.vimrc 中。

au FileType * setlocal formatoptions-=c formatoptions-=o

使用单独的 -=c 和 -=o 而不是 -=co 很重要,因为只有当 c 和 o 在“formatoptions”中按该顺序一起出现时,后者才会删除它们。

答案2

发现了这个:

http://peox.net/articles/vimconfig.html

看起来有一种方法可以设置 after-ftplugin 钩子。但我仍然必须对每种文件类型都这样做。

相关内容