vim - 在哪里放置系统范围内特定于语言的 Vim ftplugin .vim 文件

标签 vim ftplugin

我在 /etc/vimrc 中放置了一些与语言无关的基线设置,除非用户覆盖它们,否则它们将作为用户的默认设置。

放置各个 {language}.vim 文件的规范系统范围位置在哪里?

对于每个用户,我总是将它们放在 ~/.vim/ftplugin/{language}.vim 中,即 ~/.vim/ftplugin/python。 vim 可能包含:

setlocal colorcolumn=72,80

但是,这只对给定用户有效。

系统范围版本的 ~/.vim/ftplugin/ 应该放在哪里?我应该直接编辑 /usr/share/vim/vim74/ftplugin/python.vim,还是在其他地方覆盖它?


信息:

:scriptnames的输出:

/etc/vimrc
/usr/share/vim/vim74/syntax/syntax.vim
/usr/share/vim/vim74/syntax/synload.vim
/usr/share/vim/vim74/syntax/syncolor.vim
/usr/share/vim/vim74/filetype.vim
/usr/share/vim/vimfiles/ftdetect/dockerfile.vim
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/ftdetect/stp.vim
/usr/share/vim/vim74/ftplugin.vim
/usr/share/vim/vim74/syntax/nosyntax.vim
/usr/share/vim/vimfiles/plugin/cctree.vim
/usr/share/vim/vim74/plugin/getscriptPlugin.vim
/usr/share/vim/vim74/plugin/gzip.vim
/usr/share/vim/vim74/plugin/matchparen.vim
/usr/share/vim/vim74/plugin/netrwPlugin.vim
/usr/share/vim/vim74/plugin/rrhelper.vim
/usr/share/vim/vim74/plugin/spellfile.vim
/usr/share/vim/vim74/plugin/tarPlugin.vim
/usr/share/vim/vim74/plugin/tohtml.vim
/usr/share/vim/vim74/plugin/vimballPlugin.vim
/usr/share/vim/vim74/plugin/zipPlugin.vim
/usr/share/vim/vim74/ftplugin/python.vim
/usr/share/vim/vim74/syntax/python.vim

:h 运行时路径的输出:

'runtimepath' 'rtp'     string  (default:
                                       Unix: "$HOME/.vim,
                                               $VIM/vimfiles,
                                               $VIMRUNTIME,
                                               $VIM/vimfiles/after,
                                               $HOME/.vim/after"
                                       Amiga: "home:vimfiles,
                                               $VIM/vimfiles,
                                               $VIMRUNTIME,
                                               $VIM/vimfiles/after,
                                               home:vimfiles/after"
                                       PC, OS/2: "$HOME/vimfiles,
                                               $VIM/vimfiles,
                                               $VIMRUNTIME,
                                               $VIM/vimfiles/after,
                                               $HOME/vimfiles/after"
                                       Macintosh: "$VIM:vimfiles,
                                               $VIMRUNTIME,
                                               $VIM:vimfiles:after"
                                       RISC-OS: "Choices:vimfiles,
                                               $VIMRUNTIME,
                                               Choices:vimfiles/after"
                                       VMS: "sys$login:vimfiles,
                                               $VIM/vimfiles,
                                               $VIMRUNTIME,
                                               $VIM/vimfiles/after,
                                               sys$login:vimfiles/after")

最佳答案

如果您想覆盖/usr/share/vim/vim74/ftplugin/python.vim全局将您的代码放入 $VIM/vimfiles/after/ftplugin/python.vim (上面 :help runtimepath 中提到过); $VIM通常是/usr/share/vim所以确切的路径是 /usr/share/vim/vimfiles/after/ftplugin/python.vim 。这些插件在主插件之后执行。每用户覆盖位于$HOME/.vim/after中.

使用 :echo &runtimepath 验证路径.

关于vim - 在哪里放置系统范围内特定于语言的 Vim ftplugin .vim 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57148293/

相关文章:

html - 如何在 Vim 中编辑 HTML?

vim - 在vim中关闭缓冲区时如何执行命令?

vim - 在预览窗口中打开新缓冲区时自动关闭占用 Vim 预览窗口的缓冲区

vim:删除显示行而不是物理行

linux - slimv 不加载 vim 中的 *.lisp 文件

vim - 禁用所有文件类型的自动评论

Vim ftplugin 对 C++ 文件执行 c.vim 而不是 cpp.vim

eclipse - Emacs 或 Vim 与 Eclipse 的效率如何?

vim - vim中全局操作的一致性