Патоген не загружает плагины
Патоген не работает для меня. Я слежу за подсказками Адама Лоу здесь (и несколько других) без каких-либо успехов...
Мой vimrc:
filetype off
call pathogen#runtime_append_all_bundles()
filetype plugin indent on
set nocompatible
syntax on
set tabstop=2
set smarttab
set shiftwidth=2
set autoindent
set expandtab
set number
colorscheme darkblue
Содержимое .vim - ls .vim/*
:
.vim/autoload:
pathogen.vim
.vim/bundle:
nerdcommenter/ vim-haml/ vim-surround/
vim-endwise/ vim-rails/ vim-vividchalk/
Все плагины в комплекте были установлены путем клонирования их из GitHub в каталог bundle.
Я пробовал с патогенами 1.1 и 1.2 и даже последними из GitHub без каких-либо результатов. Vividchalk, Vim-rails и nerdcommenter не работают. У меня очень мало опыта с другими разъемами, поэтому я не уверен в них, но я полагаю, что они тоже не работают.
Я использую ArchLinux, vim 7.2.385-1 (не последнее, потому что последнее требует установки ruby1.9, но все равно 7.2). Он был установлен через pacman - диспетчер пакетов ArchLinux. Никакие плагины vim не были установлены другим способом, чем использование патогена (я даже переустановил пакет vim с очисткой /usr/share/vim
).
Что я делаю неправильно?
EDIT:
Ответы
Ответ 1
Это, по-видимому, обычная проблема, вызванная "системой" vimrc в некоторых настройках дистрибутива filetype on
перед установкой патогена. Таким образом, выключение и повторное включение снова заставляет плагины правильно загружаться:
call pathogen#runtime_append_all_bundles()
filetype off
syntax on
filetype plugin indent on
Подробнее здесь.
Ответ 2
У меня была аналогичная проблема. Патоген загружал некоторые мои плагины, а не все из них.
После некоторых попыток и гадания, которые я обнаружил (я не знаю, упоминается ли в документации), что в каждой папке bundle/'plugin_name'
должна быть другая папка с именем plugin
, которая содержит файл *.vim.
Затем, когда vim начинает будет выглядеть, а не в пачке, но в тех папках внутри пакета, которые содержат папку под названием плагин... и создаст другие папки (в каждой папке плагина).
Итак, если плагин - это просто файл .vim, создайте для него папку...
вместо:
~/.vim/bundle/vimexplorer/vimExplorer.vim
вам нужно:
~/.vim/bundle/vimexplorer/plugin/vimExplorer.vim
И все работает как шарм.
Ответ 3
У меня возникли проблемы с загрузкой определенных плагинов: в частности, плагины с подкаталогом plugin
. Например, при новой установке MacVim плагин в ~/.vim/bundle/surround/plugin/surround.vim
не был загружен, хотя ~/.vim/bundle/surround
появился на выходе :scriptnames
.
Проблема заключалась в том, что я загружал Pathogen в .gvimrc
, а не .vimrc
. По какой-либо причине, вложенные в подкаталоги .vim/bundle/*/plugin
не будут загружаться, если вы это сделаете, так что сделайте это в .vimrc
!
Я открыл проблему в github - я не знаю, можно ли его заставить работать, даже если он загружается с .gvimrc
, но там по крайней мере, должно быть какое-то предупреждение в документации для таких идиотов, как я.
Ответ 4
Если ваш .vim основан на репозитории и подмодулях git, DO ПОМНИТЕ, чтобы запустить git submodule init
и git submodule update
после клонирования репо. то есть.
git submodule init
git submodule update
У меня была такая же ошибка, и я пробовал все вышеперечисленное, но это не сработало. Пока я не инициализировал и не обновлял подмодули git.
Надеюсь, это поможет любому, у кого есть аналогичная ошибка.
Ответ 5
Возможно, Arch default vimrc (возможно, /etc/vim/vimrc
) плохо работает с Pathogen. Попробуйте запустить Vim без загрузки файлов конфигурации:
vim -u NONE
а затем загрузите vimrc изнутри vim:
:so ~/.vimrc
Работают ли плагины?
Ответ 6
Исправлено с помощью (mattn и tpope) после поднятия проблемы через github
set nocp
call pathogen#infect()
syntax on
filetype plugin indent on
call pathogen#infect()
см. https://github.com/tpope/vim-pathogen/issues/50#issuecomment-3137909
Ответ 7
Моя среда - Vim 7.3.35 и Ubuntu 11.04.
Я потратил некоторое время, пытаясь его решить. Я клонирую проект https://github.com:r00k/dotfiles и следуйте инструкциям для установки.
При запуске vi a получил прокомментированный
E117: Неизвестная функция: патоген # runtime_append_all_bundles
и решение:
filetype off
вызвать патоген # runtime_append_all_bundles()
filetype on
не работает.
Я нашел символическую ссылку .vim в своем домашнем каталоге, где не установлено должным образом. Установка script сделала .vim ДИРЕКТОРИЮ с символической ссылкой vim внутри нее, указав на мой .dotfiles/vim. Решение заключалось в удалении каталога .vim и создании символической ссылки .vim, указывающей .dotfiles/vim.
A сохранил тип файла off/on в моем .vimrc.
Ответ 8
filetype off
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
Ответ 9
Попробуйте проверить свой путь выполнения, используя команду:
: установить runtimepath?
Первая запись должна быть чем-то вроде ~/.vim.
Моя проблема с загрузкой плагинов/патогенов заключалась в том, что я разместил среду vim в ~/.dotfiles/vim, где живет мой vimrc и остальная часть материала (плагины и т.д.).
После создания символической ссылки на ~/.dotfiles/vim/vimrc в ~/.vimrc я забыл сделать вторую символическую ссылку ~/.vim → ~/.dotfiles/vim/, которая заставила vim запутаться, потому что он искал материал в ~/.vim(по умолчанию). После того, как я сделал правильную символическую ссылку, все появилось в нужном месте.
Я надеюсь, что это поможет кому-то, кто забыл о второй символической ссылке, как я, -)
Ответ 10
Вместо call pathogen#runtime_append_all_bundles()
я использовал call pathogen#infect('~/.vim/bundle')
, и это сработало для меня.
Ответ 11
У меня была такая же проблема с Ubuntu. Журнал был:
linha 4: executando "/usr/share/vim/vim73/ftoff.vim"
Erro detectado ao processar /usr/share/vim/vim73/ftoff.vim:
linha 11:
E216: Grupo ou evento inexistente: filetypedetect *
fim da execução de /usr/share/vim/vim73/ftoff.vim
Решение заключалось в том, чтобы добавить "\n" s в конец из файла /usr/share/vim/vim 73/ftoff.vim, чтобы выполнить его правильно.
Ответ 12
set nocp
call pathogen#infect()
syntax on
filetype plugin indent on
call pathogen#infect()
Это помогло мне исправить проблему, не могу оставить комментарий к другим народам, однако спасибо за отправку кода выше.
Ответ 13
У меня это у меня как:
молчать! call pathogen # runtime_append_all_bundles()
Ответ 14
Проведя долгое время waaaay, пытаясь решить эту проблему с помощью nerd-commenter/pathogen, я сломался и просто использовал ОС Debian для плагина nerd-commenter:
vim-addons install nerd-commenter
Если вы работаете в Debian и вам нужно вернуться на работу, попробуйте. Вероятно, вам нужны пакеты "vim-addon-manager" и "vim-scripts", установленные из apt, если у вас его еще нет.
Ответ 15
Для завершения я добавлю свое решение для этой проблемы.
Я просто переименовал свой файл ~/.gvimrc в ~/.vimrc, и все мои проблемы были решены. Я буквально скопировал мой .vim и мой .gvimrc из linux и сделал это изменение, и все работает так, как ожидалось.
Ответ 16
У меня была та же проблема. Я пробовал все возможные комбинации.
Наконец, я обнаружил, что если я использую mksession
для сохранения рабочего пространства Vim и загружаю его на запуск Vim, это заставило патоген не загружать новые плагины, которые я помещал в папку пакета.
После установки нового плагина я теперь всегда удаляю свой файл сеанса и запускаю Vim fresh, и каждый плагин загружается нормально.
filetype off
set nocompatible
set laststatus=2
execute pathogen#infect()
syntax on
filetype plugin indent on
Ответ 17
В моем случае я клонировал в папку ~/dotfiles, но vun ищет папку ~/.vim, в результате у него не было никаких плагинов или цветовых схем для решения проблемы, я сделал это:
ln -s ~/.dotfiles ~/.vim
Ответ 18
У меня была та же проблема, решена путем копирования этого файла в ~/.vim/autoload:
https://github.com/sontek/dotfiles/blob/master/_vim/autoload/pathogen.vim
Ответ 19
Я столкнулся с той же проблемой, наконец, после многого поиска Google и настройки файла vimrc нашел решение. Надеюсь, что следующий фрагмент кода решит проблему.
set nocp
source /home/ameet/.vim/autoload/pathogen.vim "location of my pathogen.vim
call pathogen#infect()
call pathogen#helptags()