vimpathogen

Vim Pathogen won't load - E117: Unknown function: pathogen#infect


This should be a very straightforward problem. I have a simple .vimrc file. It is 15 lines in its entirety:

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

When I try to start vim, though, I get the following error message:

Error detected while processing /Users/Jon/.vimrc:
line    3:
E117: Unknown function: pathogen#infect
line   15:
E185: Cannot find color scheme 'vividchalk'

I have worked quite a while at solving this, including looking here: Vim: Pathogen not loading and here: Pathogen does not load plugins and here: https://github.com/tpope/vim-pathogen/issues/50

I am storing all my vim-related files in a ~/.dotfiles/vim/ directory and have symlinked .vimrc and .gvimrc and .vim/from my home directory. I have three plugins I am trying to load: command-t, commentary, and fugitive. These plugins are all git submodules. The directory structure is as follows:

.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

Solution

  • Since vividchalk can't load either, I'd guess vim can't access your .vim.

    Are you on OS X? Are you using MacVim?

    You may have incorrectly created your ~/.vim. I would do this (with absolute paths):

    ln -s ~/.dotfiles/vim ~/.vim
    

    You could try this:

    mkdir ~/vim_archive
    mv ~/.*vim* ~/vim_archive/.
    mkdir -p ~/.vim/colors
    cp ~/vim_archive/.vim/colors/vividchalk.vim ~/.vim/colors/.
    echo colorscheme vividchalk > ~/.vimrc
    

    If that successfully loads, then vim is correctly reading your vimrc and .vim. Then try it with a linked folder. If that works, then add pathogen and see if it loads.