답변:
vim-plug 는 Vundle의 훌륭한 대안입니다. 기술적 인 관점과는 약간 다른 점이 더 빠릅니다 (이것 참조 ). Vundle의 기능 중 대부분 (또는 모두?)이 있습니다.
+ruby, +python또는 Neovim. 사용할 수없는 경우 Vimscript를 사용하여 순차 모드로 돌아갑니다.사용을 시작하려면 :
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
그리고 당신의 vimrc에서 :
call plug#begin()
Plug 'tpope/vim-sensible'
" On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
call plug#end()
그런 다음 명령을 내리십시오
:PlugInstall
나열된 플러그인을 설치합니다.
:PlugInstall새로운 플러그인 이었습니다 . 공식 문서조차도 이것을 조금 모호하게합니다.
..\vim81\autoload\..아닌 ..\.vim\autoload\...
병원체 는 간단합니다. 본질적으로 그것은 단지합니다 :
장점 :
단점 :
설치하려면 다음 pathogen.vim을 수행하십시오 ~/.vim/autoload.
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
그리고 당신 .vimrc에게 추가하십시오 :
call pathogen#infect()
call pathogen#helptags() "If you like to get crazy :)
미쳐 가고 싶지 않다면 :Helptags필요할 때만 전화하십시오 .
그런 다음 플러그인이에 추가됩니다 ~/vim/bundle.
Vundle 은 더 복잡합니다. La apt또는 yum플러그인 용 패키지 관리자 입니다. 그것은 할 수 있습니다 :
설치하기 위해서:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
그런 다음에 추가하십시오 .vimrc.
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" more Plugin commands
" ...
call vundle#end() " required
filetype plugin indent on " required
플러그인을 설치하려면 다음 Plugin명령을 사용하십시오 .vimrc(Github README에 대한 추가 예제).
" plugin on Github
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
그런 다음 (또는 ) :PluginInstall에서 전화하십시오 ..vimvim +PluginInstall +qall
dein.vim : 이 질문에 대한 후속 조치로 잘 알려진 Shougo가 만든 플러그인 관리자를 여기에 추가하겠습니다.
README에 따르면 플러그인은 다음과 같은 종속성이 있습니다.
Vim >7.4 or neovim: Vim을 최신 상태로 유지하는 것이 좋지만 일부 사용자에게는 이전 버전이 지원되지 않는 문제가있을 수 있습니다.git: 패키지 관리자에게 일반적입니다rsync: git만큼 일반적이지 않습니다저자는 그것이 NeoBundle보다 빠르다고 주장합니다. 벤치 마크는 프로젝트의 readme 페이지에서 찾을 수 있습니다 .
이 플러그인 관리자의 원래 개념 중 하나는 명령을 제공하지 않고 기능 만 제공한다는 것입니다. 예를 들어, 플러그인을 업데이트하려면와 같은 것을 사용할 수 없습니다 :PlugUpdate: :call dein#update(). 솔직히 말해서이 디자인 선택에 대한 설명을 찾지 못했습니다.
또한 누군가 "이 누락 된"명령을 제공 하는 플러그인 을 만들었습니다 . 이것이 좋은 아이디어인지 또는 이것이 플러그인 관리자의 주요 아이디어와 반대인지는 알 수 없지만 저자는 doc 파일의 FAQ에서 언급합니다.
Dein.vim은 Github (vimscript.org에서 플러그인에 쉽게 액세스 할 수 있음) 및 로컬 디렉토리에서 플러그인 가져 오기를 지원합니다.
플러그인 관리자는 플러그인 업데이트 및 비활성화와 같은 몇 가지 클래식 기능을 제공합니다. 또한 설치시 후크를 실행할 수 있습니다.
FAQ에 따르면, 설치 한 플러그인 의 도움말 태그 를 수동으로 빌드 해야합니다.
흥미로운 점은 저자가 dein.vim을 테스트하고 유지 관리하기 쉽도록 리포지토리에 일부 테스트 스크립트가 포함되기를 원한다는 것입니다.
마지막으로,이 플러그인 관리자는 가볍고 빠르도록 설계되었지만 흥미 롭지 만 vim-plug 또는 Vundle 보다 사용자 친화적이지 않다고 생각합니다 .
또한 Shougo는 dein.vim을 "어두운 전원 Vim / Neovim 플러그인 관리자"라고 설명 합니다. 어떤 사람이 무슨 뜻인지 알면이 답변을 자유롭게 편집하십시오. 궁금합니다. ;-)
Vim 8.0과 Neovim에는 자체 내장 된 패키지 관리자가 있습니다. Vim 8.0에서 다음 디렉토리를 작성하십시오.
.vim/pack/*/start여기서, *사용하려는 이름이 있습니다. 예 .vim/pack/jimmy/start.
병원체를 사용하는 것처럼 플러그인을 시작 디렉토리에 복제하십시오.
Neovim을 사용하면 디렉토리가 조금 더 오래갑니다.
.local/share/nvim/site/pack/*/start. 거기에서 Vim과 동일합니다.
다른 플러그인 관리자가 전혀 필요하지 않습니다.
Vim 또는 Neovim에서 :h packages조금 더 자세하게 실행하십시오 . 색상은 다르지만 색상에 대한 부분을 읽으십시오. 귀하 .vimrc또는 귀하의 nvim/init.vim파일 에 추가 지침이 필요하지 않습니다 .
희망이 도움이됩니다.
내가 아는 한, 의존성을 지원하는 데 사용하는 플러그인 관리자가 필요합니다.
그 이유는 여러 플러그인을 유지 관리하고 많은 상호 의존성이 있기 때문입니다. 일반 라이브러리는 모두 사용하고 템플릿 / 스 니펫 엔진은 C ++ 제품군에서 사용하며 리팩토링 플러그인은 ctags 라이브러리 플러그인도 사용합니다 , 등등. 최종 사용자가 최대 10 줄을 실행하여 관심있는 플러그인을 설치하도록 요구하는 것은 좋은 해결책으로 보이지 않습니다.
지금까지는 vim-addon-manager 및 NeoBundle 의 두 가지 플러그인 만 알고 있습니다. VAM은 vim 공식 메일 링리스트에서 여러 번 교환 한 후 데이터베이스 코드를 vim-pi 로 포크했습니다 . 아이디어는 NeoBundle (및 종속성 관리에 관심이있는 다른 플러그인)이 결국 vim-pi를 이용할 수 있다는 것입니다.
나는 최근에 의존성을 처리하는 vim-flavor를 발견 했습니다. 주제에서 플러그인 버전을 확인하여 올바른 버전을 설치합니다.
참고 : 초기 답변 이후
AFAIK, 백그라운드 / 병렬에 이러한 플러그인 복제 / 설치 / 업데이트 플러그인이 없습니다. 새로운 vim 환경을 설치하거나 한 달에 한 번 설치 한 플러그인을 업데이트하지 않기 때문에 솔직히 신경 쓰지 않습니다. 물론 업데이트 'helptags', 관리 등을 수행합니다 'rtp'.
vim-plugREADME에는 "그룹 종속성"이라는 예제가 있습니다. 그것을 시도 했습니까, 아니면 VAM / NeoBundle의 방법과 다른가요?
이러한 플러그인 관리자는 대부분 플러그인 관리 작업을 훌륭하게 수행하지만 vimrc사용자 관리에 어려움을 겪습니다 . 여러 대의 컴퓨터가 있고 동일한 구성을 원하는 경우 Vire를 사용하면 매우 쉽습니다. 자식 모듈이나 자식 모듈을 알아낼 필요가 없으며 설정이나 마이그레이션을위한 추가 노력이 필요하지 않습니다.
pip install virevimrcGithub에 요점을 게시 하고 유지하십시오.vire -i최신 Vim 또는 (Neovim with -i -n) 을 설치하려면" Plug 'tpope/vim-unimpaired'vire gistID그런 다음 플러그인을 업데이트하거나 앱을 업데이트 vire할 때마다 실행 하십시오 .vimrc-i
Vire는 Vim / Neovim의 pack기능을 활용 하여 플러그인을로드합니다. 기존 플러그인 관리자를 계속 사용할 수 있지만 Vire를 사용하여 원하는 경우 Vim vimrc, 및 플러그인 관리자 만 설치할 수 있습니다.
Pathogen을 사용하는 완전한 플러그인 관리자를 원하는 사람들을 위해 apt-vim도 있습니다. https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vim-editor-part-ii에curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
설명 된대로
설치할 수 있습니다
. 일단 설치되면 Ubuntu apt 패키지 관리자와 비슷한 유형 의 패키지 리포지토리 이름 만 입력하면됩니다 .apt-vim install
curl URL |sh. 아무도 인터넷에서 임의의 코드를 실행하도록 제안하지 않습니다. 실제로 그것은 나쁜 보안 습관입니다.
사용 방법을 찾고 pathogen있었지만 쉽게 업데이트하고 이식 가능하게 만들었으므로 bash스크립트가 도움이 될 수 있습니다 ( vim-plug기능 사용 ).
#!/bin/sh
# inspired by https://github.com/thoughtbot/dotfiles/blob/master/hooks/post-up
if [ ! -e "$HOME"/.vim/autoload/pathogen.vim ]; then
curl -fLo "$HOME"/.vim/autoload/pathogen.vim --create-dirs \
https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
fi
if [ -e "$HOME"/.vim/autoload/plug.vim ]; then
vim -E -s +PlugUpgrade +qa
else
curl -fLo "$HOME"/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
fi
vim -u "$HOME"/.vimrc.bundles +PlugUpdate +PlugClean! +qa
그리고 예 .vimrc.bundle-
"installed via the Githubs
call plug#begin('~/.vim/bundle')
Plug 'bling/vim-airline'
Plug 'scrooloose/syntastic'
Plug 'scrooloose/nerdtree'
Plug 'tpope/vim-fireplace'
Plug 'vim-scripts/paredit.vim'
" etc
call plug#end()
"disable vim-plug sugar-- actual config should be set via .vimrc
filetype plugin indent off
syntax on