ftplugin文件的vim、病原体和加载顺序

ftplugin文件的vim、病原体和加载顺序,vim,python-mode,pathogen,Vim,Python Mode,Pathogen,我已经使用Vim和有一段时间了,一切都很好,但最近我的ftplugin配置开始出现加载顺序问题 我现在遇到的具体问题是覆盖我的ftplugin设置。我有一个~/.vim/ftplugin/python.vim,其中包含以下行: setlocal textwidth=119 python模式附带了自己的ftplugin文件,该文件还设置了中的textwidth 问题是Vim现在在我的ftplugin文件之后加载python模式的ftplugin文件,因此我最终得到了它的textwidth=79我

我已经使用Vim和有一段时间了,一切都很好,但最近我的ftplugin配置开始出现加载顺序问题

我现在遇到的具体问题是覆盖我的ftplugin设置。我有一个
~/.vim/ftplugin/python.vim
,其中包含以下行:

setlocal textwidth=119
python模式附带了自己的ftplugin文件,该文件还设置了中的
textwidth

问题是Vim现在在我的ftplugin文件之后加载python模式的ftplugin文件,因此我最终得到了它的
textwidth=79
我最近不得不重新安装MacPorts,我想库存配置中一定发生了变化

根据答案,我尝试了各种技巧,包括在调用病原体之前关闭文件类型/插件检测,但没有一个有用

通过使用
verbose set textwidth?
和一些
echomsg
调试,我知道两个ftplugin文件都被调用了,并且它们被调用的顺序是错误的(出于我的需要)

有没有办法强制Vim/pathogen在插件文件之后调用我的ftplugin文件?


我甚至尝试过将我的设置放入
~/.vim/after/plugin/pymode.vim
,但这是在病原体设置插件后立即加载的,所以它仍然在
ftplugin
文件之前运行,而这些文件只有在我编辑Python文件后才会加载。

<。我没有意识到Vim还支持
~/.Vim/after/ftplugin
,因此我能够将覆盖移动到
~/.Vim/after/ftplugin/python.Vim
,并获得我期望的行为。我不愿意回答自己的问题,但希望这能帮助其他人

我仍然在寻找一个更一般的答案,这个加载顺序的问题

据我所知,你不能真的用病原体。使用NeoBundle非常简单。病原体是非常微小的,它不能给你提供很多灵活性——它只做一件事,而且做得很好。如果您正在寻找可配置性,我认为您使用了错误的工具


编辑:不太确定ftplugins,但通常会按照您的指定加载捆绑包(使用Vundle/NeoBundle)。所以我意识到这可能不是最相关的答案。

Plain Vim按照字母顺序加载插件脚本。这是来自
:帮助加载插件

... all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.

因此,您可以通过将
\u plugin.vim
重命名为
/35plugin.vim
来设置插件加载顺序。35是您想要的装货单。我认为通过重命名
bundle
中的插件目录,这应该也适用于病原体,但我还没有测试它。

我通过在
~/.vim/after/plugin/pymode.vim
中设置
let g:pymode_options=0
来解决这个特定问题,因为我不想要任何python模式的选项,但我仍然在寻找一个更一般的答案来回答这个装载顺序问题。我认为回答自己的问题是特别鼓励的。它通过重命名在v7.4中测试的
bundle
中的插件目录来处理病原体。(是的,我需要更新。:D)另外,请注意,
autoload
文件的加载顺序可能与其目录名不同,这取决于调用这些文件中的函数的时间。