vim이 번들을 설치하고 백그라운드에서 닫을 수 있습니까?


4

Dockerfiles로 놀고 있었고 개발 환경을 설정할 때 아직 해결하지 못한 수동 단계가 하나 있습니다. vimrc에 번들을 설치하려면 vim을 열어야합니다. 그러면 vim을 모두 다운로드 한 후 계속하려면 enter를 누르라고 말합니다. Dockerfile에서 RUN 명령 으로이 단계를 수행하고 싶습니다. vim이 열릴 때 vim -c 'q'명령을 실행하는을 사용하려고 시도 :q했지만 자동 번들 설치 스크립트는 여전히 enter 키를 눌러야하며 vim은 입력 및 출력이 터미널이 아니라고 불평하므로 작동하지 않습니다.

이미지가 아닌 Dockerfiles 로이 작업을 수행하고 싶습니다.

여기 내 관련 .vimrc 섹션이 있습니다.

    " 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

답변:


3

내 플러그인을 별도의 파일에 나열 하여이 문제를보다 쉽게 ​​해결할 수 있음을 알았습니다 vundle.vim. 이렇게하면 Ex 모드.vimrc 에서 잘 재생되지 않는 플러그인 및 설정을 피할 수 있습니다 .

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'
" ...

그런 다음 아래와 같이 ex 모드로 설치를 실행할 수 있습니다.

vim -E -u NONE -S ~/.vim/vundle.vim +PluginInstall +qall > /dev/null

1
내 기본 .vimrc를 사용 하여이 작업을 수행 할 수 있었으며 사용 사례에 잘 작동합니다. 방금 이것을 Dockerfile에 추가했는데 이제 모든 것이 작동합니다.RUN vim -E -u NONE -S ~/.vimrc +qall
rwilson04

위의 답변에서 1 종료 코드가 표시됩니다. 플러그인을 설치하는 것처럼 보이지만 1로 종료됩니다.ERROR: Service 'edit' failed to build: The command '/bin/sh -c vim -E -u NONE -S ~/.vimrc +PluginInstall +qa' returned a non-zero code: 1
plasticide

1
@plasticide 나는 같은 오류가 발생합니다. 지금 || true은 그것을 막기 위해 마지막에 추가 했습니다. 왜 이런 일이 발생하는지 잘 모르겠습니다.
Michael Mior

1
@vabada Vundle을 더 이상 사용하지 않지만이 답변을 게시 한 후 아마도 변경되었을 것입니다.
Michael Mior

1
@Vorticity vim-plug 사용하고 있습니다. 나는 그것이 더 빠르며 몇 가지 더 많은 기능을 가지고 있음을 발견했습니다.
Michael Mior
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.