如何覆盖 vim 中 ftplugins 设置的选项
How to override options set by ftplugins in vim
我希望能够为所有文件类型设置我自己的 formatoptions
,但我似乎无法让它覆盖 Vim 的默认值 "ftplugins"。
我将我的自定义格式选项放在 .vim/after/overrides
中,但这似乎并没有覆盖任何内容。
如果我 运行 :verbose set formatoptions?
它告诉我设置该选项的最后一个文件是 /usr/share/vim/vim74/ftplugin/vim.vim
。
.vim/after/overrides.vim
的内容是:
" Format Options
set formatoptions=crnj
after目录树与~/.vim/
下的目录树结构相同;您的 .vim/after/overrides.vim
将永远不会被采购(检查 :scriptnames
)。
您不能用 after 目录覆盖 all 文件类型插件,只能单独覆盖,例如~/.vim/after/ftplugin/vim.vim
.
中的 Vimscript
您可以使用 :autocmd Filetype * setlocal formatoptions=...
执行通用覆盖,但必须在 之后 默认文件类型检测(即 :filetype plugin on
)定义。
您应该使用 :setlocal
而不是 :set
,就像在 ftplugins 中一样。
我希望能够为所有文件类型设置我自己的 formatoptions
,但我似乎无法让它覆盖 Vim 的默认值 "ftplugins"。
我将我的自定义格式选项放在 .vim/after/overrides
中,但这似乎并没有覆盖任何内容。
如果我 运行 :verbose set formatoptions?
它告诉我设置该选项的最后一个文件是 /usr/share/vim/vim74/ftplugin/vim.vim
。
.vim/after/overrides.vim
的内容是:
" Format Options
set formatoptions=crnj
after目录树与~/.vim/
下的目录树结构相同;您的 .vim/after/overrides.vim
将永远不会被采购(检查 :scriptnames
)。
您不能用 after 目录覆盖 all 文件类型插件,只能单独覆盖,例如~/.vim/after/ftplugin/vim.vim
.
您可以使用 :autocmd Filetype * setlocal formatoptions=...
执行通用覆盖,但必须在 之后 默认文件类型检测(即 :filetype plugin on
)定义。
您应该使用 :setlocal
而不是 :set
,就像在 ftplugins 中一样。