Патоген, игнорирующий скрипты ftplugin

Я пытаюсь использовать Pathogen управлять плагинами Vim. У меня была пара скриптов, которые я сделал в .vim/ftplugins,

Я установил Pathogen, но теперь ни один из скриптов в ftplugins не запускается.

Я пытался добавить каталог внутри .vim/bundle со сценариями, но это не сработало (это было .vim/bundle/local/ftplugin/python.vim)

Есть идеи, как заставить Pathogen загружать скрипты в каталог ftplugin?

Первые строки моего .vimrc:

set nocompatible
syntax on
filetype plugin indent on
"execute pathogen#infect()

Работает только с закомментированной строкой.

я бегу gvim из приглашения Bash с именем файла в качестве первого параметра, например:

$ gvim some/path/somefile.py

Я ожидаю увидеть файл с моей предопределенной схемой цветов для файлов Python, определенной в ~/.vim/ftplugin/python.vim, и всеми другими настройками, определенными в этом сценарии.

Каталог ~/.vim/bundle пуст.

Патоген находится в ~/.vim/autoload и там больше ничего нет.

$ ls ~/.vim/ftplugin/
css.vim  html.vim  javascript.vim  python_pep8.vim  python_pyflakes.vim  python.vim  rst.vim  xml.vim

$ ls ~/.vim
autoload  bundle  colors  doc  ftdetect  ftplugin  plugins  ScrollColor.vim  spell  syntax

3 ответа

Решение

Это была проблема с определением типа файла, это проблема с патогеном.

Обходной путь в моем случае был прост, используйте это, чтобы включить Pathogen:

set nocompatible
"execute pathogen#infect()    " breaks filetype detection
call pathogen#runtime_append_all_bundles()

filetype plugin indent on
syntax on

Чтобы выяснить это, я удалил каталог ~/.vim и начал с чистого. Добавление вещей по одному и проверка результатов. Я понял, что это не обнаруживает правильный тип файла (когда я открыл пустой файл, обнаружение было в порядке, но это было не при открытии существующего файла).

Выкладываю мой комментарий сюда:

Хотите знать, работает ли он, если поставить :filetype а также :syntax звонки после :execute? официальный README предлагаем сделать именно это во втором разделе: первый :executeвторой :syntax, в третьих :filetype, Примечание: НЕ отключайте тип файла до :execute как предложил @Eduan, просто не включайте его, пока :execute называется:

set nocompatible
execute pathogen#infect()
syntax on
filetype plugin indent on

И, кстати, никогда не используйте*map,

Я думаю, что я вижу вашу проблему, помещая это в ответ вместо комментария ради ясности примера кода.

Попробуй это:

" Set the filetype stuff to off, required for Pathogen
filetype off
filetype plugin indent off

execute pathogen#infect()

" You can now turn it on again
filetype on
filetype plugin indent on

Вместо вашей текущей настройки.

Другие вопросы по тегам