vim 插件覆盖后如何强制执行选项?

How to force an option after it has been overriden by vim plugin?

我在 /etc/vimrc:

中有 expandtab 的经典设置
set expandtab
set tabstop=4
set shiftwidth=4

如何确保它们不会被任何插件覆盖?

如何强制他们忽略所有插件?

/etc/vimrc 中的设置被特定语言的设置覆盖。我想要相反的东西 - 任何特定于语言的设置都会被 /etc/vimrc.

中的 my 设置覆盖

我很欣赏按文件类型设置的 "smart",但它们太聪明了 - 默认 vim 设置在一些不相关的文件上设置 noexpandtab。即使我能找到罪魁祸首的插件,我也不想一个一个地修复它们——一些新插件总是有可能再次把事情搞砸的。我宁愿使用意外空格(需要制表符的地方),否则。

满足您的要求的唯一方法同时仍然启用文件类型插件我能想到的涉及覆盖所有可能的文件类型插件。

最简单的可能是在 /etc/vimrc 中使用自动命令:

augroup expandtabFTW
    autocmd!
    autocmd FileType * setlocal expandtab
augroup END