답변:
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
에서 전화하십시오 ..vim
vim +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-plug
README에는 "그룹 종속성"이라는 예제가 있습니다. 그것을 시도 했습니까, 아니면 VAM / NeoBundle의 방법과 다른가요?
이러한 플러그인 관리자는 대부분 플러그인 관리 작업을 훌륭하게 수행하지만 vimrc
사용자 관리에 어려움을 겪습니다 . 여러 대의 컴퓨터가 있고 동일한 구성을 원하는 경우 Vire를 사용하면 매우 쉽습니다. 자식 모듈이나 자식 모듈을 알아낼 필요가 없으며 설정이나 마이그레이션을위한 추가 노력이 필요하지 않습니다.
pip install vire
vimrc
Github에 요점을 게시 하고 유지하십시오.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