4

Вчера я столкнулся с плагином jedi-vim, который обеспечивает автозаполнение для python. Я установил плагин, используя pathogen, поместив его в каталог bundle и он работает нормально.

Теперь, как я уже говорил, этот плагин предназначен только для типа filetype: python поэтому я хочу загружать его только тогда, когда я открываю файлы с расширениями .py а не когда я открываю другие файлы, такие как .java, .perl, .sh .

Итак, как этого можно достичь.

Я новичок в vim /noob, но перед тем, как спросить, я гуглил и обнаружил, что это можно сделать с помощью vim ftplugin но я понятия не имею, куда поместить файл.

3 ответа3

2

Есть менеджеры плагинов для Vim, которые делают это

Для вашего примера в vim-plug.

Plug 'davidhalter/jedi-vim', {'for': 'python'}

где строка является автором / именем репозитория github. Все скрипты с vim.org также перенесены на github через vim-scripts.org под пользователем vim-scripts

1

У меня была такая же проблема, когда я хотел условно загрузить jedi-vim и использовать менеджер плагинов Vundle . Теперь, после небольшого исследования, я обнаружил, что Vundle будет загружать все свои пакеты / плагины во время выполнения, и я ничего не мог с этим поделать.

Тем не менее, jedi-vim может автоматически загружаться или нет. Поэтому я решил установить для параметра jedi-vim значение 0 (не загружается автоматически) в моем файле ~/.vimrc равном единице, в моем файле ~/.vim/ftplugin/python.vim .

Эта опция:

" supposing this is the .vim/ftplugin/python.vim file let g:jedi#auto_initialization = 1

0

Особенно для сложных плагинов, плагин должен быть написан таким образом, чтобы свести к минимуму его влияние на другие типы файлов. Вы не указали, почему вы хотите ограничить приложение плагина файлами Python (если оно не устанавливает глобальные сопоставления, которые мешают другим сопоставлениям, вам, как правило, это не важно), но после обнаружения проблемы с медленной загрузкой Я подозреваю, что это так.

Пока автор плагина не предоставит исправление, вы можете попробовать переместить файл plugin/jedi.vim (и соответствующий jedi_vim.py) на один каталог вверх, чтобы он не получался автоматически при запуске Vim. Если вы хотите использовать плагин, загрузите его через :runtime jedi.vim . Может быть, вы даже можете переместить файлы в папку ftplugin/ ; они будут автоматически получены при редактировании файла Python; попробуй это.

В качестве альтернативы, вы можете полностью отделить .vim для Python и других разработок и использовать два разных псевдонима для запуска vim-with-python вместо простого vim:

alias vim-with-python='vim --cmd "set rtp^=~/.vim-with-python" --cmd "set rtp+=~/.vim-with-python/after"'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .