【问题标题】:How to override options set by ftplugins in vim如何覆盖 vim 中 ftplugins 设置的选项
【发布时间】:2019-11-24 14:00:37
【问题描述】:

我希望能够为所有文件类型设置我自己的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

【问题讨论】:

    标签: vim


    【解决方案1】:

    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 中一样。

    【讨论】:

    • /etc 中是否还有用于系统范围配置的“之后”树? vim 支持吗?
    • @RegisMay 这取决于 Linux 发行版完成的 Vim 配置。您可以检查 :set rtp? 以获取 /etc/.../after 值。假设您对 /etc 树具有写入权限,您可以轻松地将 :set rtp+=/etc/vim/after 添加到 /etc/vimrc
    猜你喜欢
    • 2014-08-22
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2011-03-01
    • 2018-04-09
    • 1970-01-01
    相关资源
    最近更新 更多