Как использовать доступный для обеспечения vim vundle плагин?
Я использую vundle в качестве диспетчера плагинов для vim. И я хочу использовать ansible для автоматизации установки плагина vundle.
Но я просто не могу получить возможность автоматически выполнять резервное копирование:
- name: install vundle plugin
shell: vim +PluginInstall +qall
выше - файл YML для загружаемых файлов для VIM.
Когда возможно начать выполнение этой задачи, она просто продолжается вечно, она никогда не заканчивается, и она никогда не терпит неудачу. Пока я не заставляю его останавливаться на CTRL C
.
Если я запустил эту команду непосредственно в гостевой ОС, она отлично работает, vim появляется и завершает установку.
В чем проблема?
==========================================
Изменить:
После чтения Roy Zuo
ответа и включения подробного режима vim я попробовал следующую команду:
vim -E -s -c "source ~/.vimrc" +PluginInstall +qall -V
и ниже - вывод:
continuing in /home/vagrant/.vimrc
Searching for "/usr/share/vim/vimfiles/after/syntax/syncolor.vim"
Searching for "/home/vagrant/.vim/after/syntax/syncolor.vim"
Searching for "/home/vagrant/.vim/bundle/Vundle.vim/syntax/syncolor.vim"
Searching for "/after/syntax/syncolor.vim"
Searching for "colors/solarized.vim" in "/home/vagrant/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim74,/usr/share/vim/vimfiles/after,/home/vagrant/.vim/after,/home/vagrant/.vim/bundle/Vundle.vim,/after"
Searching for "/home/vagrant/.vim/colors/solarized.vim"
Searching for "/usr/share/vim/vimfiles/colors/solarized.vim"
Searching for "/usr/share/vim/vim74/colors/solarized.vim"
Searching for "/usr/share/vim/vimfiles/after/colors/solarized.vim"
Searching for "/home/vagrant/.vim/after/colors/solarized.vim"
Searching for "/home/vagrant/.vim/bundle/Vundle.vim/colors/solarized.vim"
Searching for "/after/colors/solarized.vim"
not found in 'runtimepath': "colors/solarized.vim"
line 188:
E185: Cannot find color scheme 'solarized'
finished sourcing /home/vagrant/.vimrc
continuing in command line
Кажется, vim остановился, когда он не может найти плагин, указанный в .vimrc.
Любая идея, как продолжить?
Ответы
Ответ 1
Вы хотели бы, чтобы vim в этом случае работал в режиме EX, что позволяет избежать визуального интерфейса, для которого требуется tty для отображения. Вместо этого попробуйте выполнить следующую команду.
vim -E -s -c "source ~/.vimrc" -c PluginInstall -c qa
Здесь -E
указывает vim начать в режиме EX, а "-s" (доступно только в режиме EX, help -s-ex
) означает, что мы хотим, чтобы он запускался без каких-либо подсказок или информационных сообщений. Кроме того, без поиска вашего файла времени выполнения, режим EX не знает, как выполнить команду PluginInstall
.
-s Silent or batch mode. Only when Vim was started as "ex" or
when preceded with the "-e" argument. Otherwise see -s,
which does take an argument while this use of "-s" doesn't.
To be used when Vim is used to execute Ex commands from a file
instead of a terminal. Switches off most prompts and
informative messages. Also warnings and error messages.
The output of these commands is displayed (to stdout):
:print
:list
:number
:set to display option values.
====================
Что касается вашей схемы Solarized color, так как вы уже используете Vundle, в вашем vimrc
легко иметь следующее.
Plugin 'altercation/vim-colors-solarized'
и вы должны убедиться, что строка colorscheme solarized
появится после него.