Подтвердить что ты не робот

Как использовать доступный для обеспечения 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. Любая идея, как продолжить?

4b9b3361

Ответ 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 появится после него.