Posso obter o vim para instalar pacotes e fechar em segundo plano?

4

Tenho andado a brincar com o Dockerfiles e, ao criar um ambiente de desenvolvimento, existe um passo manual que ainda não consegui contornar. Para instalar os pacotes no meu vimrc, eu tenho que abrir o vim, e então ele faz o download de todos eles e diz para pressionar enter para continuar. Eu gostaria de fazer este passo como um comando RUN no Dockerfile. Eu tentei usar vim -c 'q' , que executa o comando :q quando o vim é aberto, mas o script de instalação do pacote automático ainda requer pressionar enter e não funciona de qualquer maneira, pois o vim reclama que a entrada e a saída não um terminal.

Eu gostaria de fazer isso com Dockerfiles, em vez de imagens

Aqui está a seção do meu .vimrc que parece relevante

    " Setting up Vundle - the vim plugin bundler
        let iCanHazVundle=1
        let vundle_readme=expand('~/.vim/bundle/vundle/README.md')
        if !filereadable(vundle_readme)
            echo "Installing Vundle.."
            echo ""
            silent !mkdir -p ~/.vim/bundle
            silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle
            let iCanHazVundle=0
        endif
        set rtp+=~/.vim/bundle/vundle/
        call vundle#rc()
        call GetBundles()
        if iCanHazVundle == 0
            echo "Installing Bundles, please ignore key map error messages"
            echo ""
            silent :BundleInstall
        endif
    " Setting up Vundle - the vim plugin bundler end
    
por rwilson04 05.02.2015 / 08:01

1 resposta

3

Eu encontrei este problema mais facilmente resolvido tendo meus plugins listados em um arquivo separado, vundle.vim . Isso evita plugins e configurações .vimrc que não funcionam muito bem no modo Ex .

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" Add plugins
Plugin 'bling/vim-airline'
" ...

Então você pode executar a instalação no modo ex como abaixo.

vim -E -u NONE -S ~/.vim/vundle.vim +PluginInstall +qall > /dev/null
    
por 24.04.2015 / 19:09

Tags