ftplugin文件的vim、病原体和加载顺序
我已经使用Vim和有一段时间了,一切都很好,但最近我的ftplugin配置开始出现加载顺序问题 我现在遇到的具体问题是覆盖我的ftplugin设置。我有一个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/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
文件的加载顺序可能与其目录名不同,这取决于调用这些文件中的函数的时间。