Vim Pathogen не загружается - E117: неизвестная функция: pathogen#infect
Это должно быть очень простой проблемой. У меня простой .vimrc
файл. Всего 15 строк:
filetype off
set nocompatible
call pathogen#infect()
syntax on
filetype plugin indent on
set hlsearch
set colorcolumn=79
set number
set list
set expandtab
set tabstop=4
set softtabstop=4
colorscheme vividchalk
Когда я пытаюсь запустить vim, я получаю следующее сообщение об ошибке:
Error detected while processing /Users/Jon/.vimrc:
line 3:
E117: Unknown function: pathogen#infect
line 15:
E185: Cannot find color scheme 'vividchalk'
Я довольно долго работал над решением этой проблемы, включая поиск здесь: Vim: Pathogen не загружается и здесь: Pathogen не загружает плагины, а здесь: https://github.com/tpope/vim-pathogen/issues/50
Я храню все мои файлы, связанные с VIM в ~/.dotfiles/vim/
каталог и есть ссылки .vimrc
а также .gvimrc
а также .vim/
из моего домашнего каталога. У меня есть три плагина, которые я пытаюсь загрузить: command-t, commentary и fugitive. Все эти плагины являются подмодулями git. Структура каталогов выглядит следующим образом:
.dotfiles/
├──vim/
├── autoload/
│ └── pathogen.vim
├── bundle/
│ ├── command-t/
│ ├── commentary/
│ └── fugitive/
├── colors/
│ ├── distinguished.vim
│ └── vividchalk.vim
├── ftdetect/
│ ├── markdown.vim
│ └── vim.vim
├── gvimrc
├── snippets/
│ └── markdown.snippets
├── syntax/
│ ├── markdown.vim
│ └── python.vim
├── test.txt
└── vimrc
3 ответа
Поскольку vividchalk также не может загружаться, я думаю, vim не может получить доступ к вашему.vim.
Вы на OS X? Вы используете MacVim?
Возможно, вы неправильно создали ваш ~/.vim. Я бы сделал это (с абсолютными путями):
ln -s ~/.dotfiles/vim ~/.vim
Вы можете попробовать это:
mkdir ~/vim_archive
mv ~/.*vim* ~/vim_archive/.
mkdir -p ~/.vim/colors
cp ~/vim_archive/.vim/colors/vividchalk.vim ~/.vim/colors/.
echo colorscheme vividchalk > ~/.vimrc
Если он успешно загружается, то vim правильно читает ваши vimrc и.vim. Тогда попробуйте это со связанной папкой. Если это работает, то добавьте патоген и посмотрите, загружается ли он.
Наиболее очевидным решением является переместить ваш ~/.dotfiles/vim
папка из этого ~/.dotfiles
каталог к его обычному расположению и имени:
~/.vim
Вы можете использовать символическую ссылку, как в ответе pydave.
Другое решение было бы добавить следующую строку к вашему ~/.vimrc
:
set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs)
Я столкнулся с той же проблемой, наконец, после того, как много Google и настройки файла vimrc, нашел решение. Надеюсь, что следующий фрагмент кода решит проблему.
В моем домашнем каталоге все файлы связаны с их соответствующим расположением следующим образом
ln -s ~/dotfiles/vim ~/.vim
ln -s ~/dotfiles/vim/vimrc ~/.vimrc
ln -s ~/dotfiles/bash/bashrc ~/.bashrc
ln -s ~/dotfiles/bash/aliases ~/.bash_aliases
Добавьте следующие строки в ваш файл vimrc.
set nocp
source /home/ameet/.vim/autoload/pathogen.vim "location of my pathogen.vim
call pathogen#infect()
call pathogen#helptags()