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
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.
The most obvious solution is to move your ~/.dotfiles/vim
folder out of that ~/.dotfiles
directory to its normal location and name:
~/.vim
You can use a symlink like in pydave's answer.
Another solution would be to add the following line to your ~/.vimrc
:
set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With