10

I am trying to create an Ansible script to set up my mac. One role is to set up vim. A first clone my dot-files into a local folder and symlink them to ~/. In my vimrc I use vundle to install extension. So I try to start vim to install all extensions like this:

- name: vim | Install vundle plugins
  shell: vim  +PluginInstall +qall

But when I start this, I get the error:

E185: Cannot find color scheme 'molokai'

Is it possible to suppress this error messages for the first startup?

Pascal
  • 2,175
  • 4
  • 39
  • 57
  • You can include things like custom colorschemes inside try/catch blocks and/or if finish style include guards. I had the same issues and ended up doing this so that everything still works cleanly if certain plugins aren't installed or disabled. –  Feb 10 '19 at 04:53
  • @swalladge That also sounds like a good solution, thansk – Pascal Feb 10 '19 at 07:16

4 Answers4

11

You can silence the E185: Cannot find color scheme 'molokai' error in your .vimrc by setting silent! colorscheme molokai then install with i.e.: vim -E -s -u ~/.vimrc +PlugInstall +qall.

masseyb
  • 3,745
  • 1
  • 17
  • 29
4

I had the same issue. The way I solved this, was by using the stdin argument of the shell module. I'm passing a new line at stdin.

My task looks like this

- name: "Install plugins"
  shell: vim +PluginInstall +qall
  args:
      stdin: "\n"
Eddie Staniloiu
  • 163
  • 1
  • 7
2

Possibly you could split your vundler config into its own file vundler.vim, and on your first startup/ansible script you instead run vim -u vundler.vim (you can make it run :VundleInstall or whatever else would be required via some commandline flags too, -E?).

Then in your regular vimrc you just source vundler.vim for your regular day to day usage.

purplelulu
  • 329
  • 3
  • 7
  • If you can't get the extra command line flag to work you can split it on more level, `vundler-ansible-shim.vim` that just has `source vundler.vim:PluginInstall` in it. – purplelulu Feb 09 '19 at 14:07
1

You might be able to use --clean arg to get around those startup warnings/errors. Once you're inside vim, if you send a second command, it will pass over those warnings/errors.

This worked for me: vim --clean '+source ~/.vimrc' +PluginInstall +qall

(I know this thread is a little old but I came across this issue myself just now.)

Rick B
  • 21
  • 1