Переменные скриптов уходят с autocmd?

Я попробовал это в .vimrc (который использует vundle):

autocmd FileType python Bundle 'ervandew/supertab'

и 'ervandew/supertab' также перечислены в «BundleList» в файле python. Это не работает. Я не знаю почему. Может быть, моя команда autocmd была неправильной?

Я подозреваю, что задания исчезают. Когда я делаю только Bundle 'ervandew/supertab', я вижу переменные в vim. Например, :let SuperTabMappingForward показывает SuperTabMappingForward <tab>. Но с autocmd я получаю E121: Undefined variable: SuperTabMappingForward. Я получаю то же самое, когда ставлю Bundle 'ervandew/supertab' в ~/.vim/ftplugin/python.vim.

Мои знания о vim ограничены!


person emnoor    schedule 07.12.2013    source источник


Ответы (1)


Команда :Bundle предназначена для ввода в ~/.vimrc, которая выполняется перед всеми другими инициализациями. Они не будут запускаться автоматически, когда вы позже введете команду :Bundle.

Итак, вам нужно добавить как минимум

:autocmd FileType python runtime! plugin/supertab.vim

для запуска инициализации плагина. (И тогда эти переменные тоже должны появиться!)

критика

Я бы рекомендовал против таких динамических загрузок плагинов. Вы делаете их, чтобы ускорить запуск Vim? Вы действительно хотите, чтобы плагин общего назначения, такой как SuperTab, загружался только для файлов Python?!

person Ingo Karkat    schedule 07.12.2013
comment
Я хочу использовать jedi-vim и supertab для python файлов и YouCompleteMe для всего остального (включая supertab). - person emnoor; 08.12.2013