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()

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