Search code examples
vimpluginsvim-plugincolor-schemeiterm2

Vim onedark Colorscheme not Loading, But Exists


I currently use Iterm2, and Vim 7.4 with the Minimalist Vim Plugin Manager. While opening a file through Vim, I get the error:

Error detected while processing MYDIRECTORY/.vimrc:
line 19:
E185: Cannot find color scheme 'onedark'
Press ENTER or type command to continue

The onedark theme doesn't load, but if, in Vim, I type :colorscheme onedark, it loads perfectly.

My .vimrc is as follows:

set t_Co=256
set autoindent
set mouse=a
set number
set shiftwidth=0
set tabstop=4

"let g:airline_theme='onedark'

"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux."
if (has("nvim"))
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
if (has("termguicolors"))
set termguicolors
endif

set background=dark
colorscheme onedark
syntax on

call plug#begin('~/.vim/plugged')

"Make sure you use single quotes

"ATOM Text Editor Default Syntax Theme"
Plug 'https://github.com/joshdick/onedark.vim.git'

"Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align'

"Any valid git URL is allowed
Plug 'https://github.com/junegunn/vim-github-dashboard.git'

"Multiple Plug commands can be written in a single line using |
"separators
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'

"On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

"Using a non-master branch
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }

"Using a tagged release; wildcard allowed (requires git 1.9.2 or
"above)
Plug 'fatih/vim-go', { 'tag': '*' }

"Plugin options
Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }

"Plugin outside /.vim/plugged with post-update hook
Plug 'junegunn/fzf', { 'dir': '/.fzf', 'do': './install --all' }

Plug 'https://github.com/exvim/ex-autocomplpop'

"Initialize plugin system
call plug#end()

What should I do?


Solution

  • The way vim-plug works is this:

    call plug#begin('~/.vim/plugged')
    

    creates a bunch of functions/commands and sets a bunch of options,

    Plug 'https://github.com/joshdick/onedark.vim.git'
    

    adds that resource to an internal list,

    call plug#end()
    

    actually installs all your plugins in ~/.vim/plugged if they are not there and sets up your :help 'runtimepath' to the correct value that tells Vim where to look for plugins.

    So, basically, you can't expect a plugin installed by vim-plug to be available before vim-plug did its magic.

    Moving colorscheme onedark below call plug#end() should solve your problem.