脚本的变量会随autocmd而消失?

时间:2013-12-07 12:37:14

标签: vim autocmd vundle

我在.vimrc(使用vundle)中尝试过此操作:

autocmd FileType python Bundle 'ervandew/supertab'

'ervandew/supertab'也列在python文件中的'BundleList`中。它不起作用。我不知道为什么。也许我的autocmd命令错了?

我怀疑作业正在消失。当我只做Bundle 'ervandew/supertab'时,我可以在vim中看到变量。例如,:let SuperTabMappingForward显示SuperTabMappingForward <tab>。但是使用autocmd,我得到E121: Undefined variable: SuperTabMappingForward。当我将Bundle 'ervandew/supertab'放入~/.vim/ftplugin/python.vim

时,我也会这样做

我的有限知识!

1 个答案:

答案 0 :(得分:2)

:Bundle命令用于放入~/.vimrc,在所有其他初始化之前执行。稍后发出:Bundle命令时,这些将不会自动运行。

所以,你需要至少添加

:autocmd FileType python runtime! plugin/supertab.vim

运行插件初始化。 (然后,这些变量也应该出现!)

批判

我建议不要使用这种动态插件加载。你这样做是为了加快Vim的启动速度吗?你真的只想要一个像Python文件一样加载SuperTab的通用插件吗?!