Vim / vi에 플러그인을 어떻게 설치합니까?


96

Vim에서 플러그인을 어떻게 설치합니까?

그게 그렇게 중요한 건가:

  • vi 또는 Vim을 사용합니까?
  • gVim 사용 여부
  • 어떤 버전의 Vim을 사용하고 있습니까?
  • 내 OS는 무엇입니까?

답변:


65

플러그인을 설치하려면 어떤 형태로 제공되는지 알아야합니다.

단일 .vim파일이 .vim/plugin디렉토리 에 있어야합니다 .

Vimball 파일 Vim에서 열고 실행하여 설치할 수 있습니다:source % .

표준 디렉토리 레이아웃의 파일 세트는 파일을 복사 .vim하거나 플러그인 패키지 관리자를 사용하여 설치할 수 있습니다 .

플러그인은 특정 기능에 따라 달라질 수 있습니다. 따라서:

  • Vi 또는 Vim을 사용하는 경우 중요 할 수 있습니다.
  • gVim을 사용하고 있는지 여부는 중요 할 수 있습니다 (gVim은 일반적으로 동일한 배포에서 Vim보다 컴파일 타임에 더 많은 기능을 활성화합니다).
  • Vim 버전 이후에 기능이 추가되었을 수 있으므로 사용중인 Vim 버전이 중요 할 수 있습니다.
  • 플러그인이 외부 명령을 호출하는 경우 사용중인 OS가 중요 할 수 있습니다.

그러나 대부분의 플러그인은 중요하지 않을 수 있습니다.


9
Vi를 사용하고 있다면 분명히 중요합니다-Vi의 플러그인 개념은 존재하지 않습니다. 물론 vi현대적인 상자에 입력 vim하면 일부 기능이 꺼진 상태에서 시작 됩니다. 요즘 많은 사람들이 실제 Vi에 액세스 할 수 없을 것 입니다.
tommcdo

37

vim- 플러그

vim-plug 플러그인 관리자 를 사용하고 싶습니다 .

플러그인을 수동으로 설치할 때의 문제점은 플러그인을 제거 하기가 다소 어렵다는 것입니다 . 다른 디렉토리에 여러 개의 다른 파일이있는 경우가 종종 있으므로 수동으로 찾아서 제거해야합니다.

업그레이드 문제도 마찬가지로 어려운 : 어떤 경우 autoload/old-name.vim에 이름이 변경됩니다 autoload/new-name.vim? 이제 플러그인의 이전 버전과 새 버전 이 모두 있습니다.

vim-plug각 플러그인을 자체 디렉토리에 저장하여이를 해결합니다. 또한 플러그인을 쉽게 설치 / 제거하는 명령이 포함되어 있으므로 압축 해제 플러그인 등을 사용하지 않아도됩니다.

병원체 에 비해 vim-plug의 주요 장점은 vim-plug를 사용하면 플러그인을보다 쉽게 ​​설치하고 제거 할 수 있다는 것입니다. Pathogen이하는 일은 각 플러그인이 별도의 포함 된 디렉토리에있게하는 것입니다.

vim-plug는 git에 의존합니다 . MS Windows의 경우 msysgit이 필요 합니다.

vimrc에서 플러그인을 다음과 같이 정의 할 수 있습니다.

call plug#begin('~/.vim/plugged')

" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')

Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc

call plug#end()

그런 다음 Vim을 다시 시작한 후 다음을 사용하여 플러그인을 설치하십시오.

:PlugInstall

이에 플러그인을 넣어 것 ~/.vim/plugged또는 $HOME\vimfiles\pluggedMS Windows 용.

호출 하기 전에 FAQ 에서 vimrc 파일 로이 스 니펫을 추가 할 수 있습니다 plug#begin().

if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall
endif

curl이 작업이 필요 합니다. 이것은 거의 항상 Linux 및 OSX에서 사용할 수 있지만 MS Windows에서는 사용할 수 없습니다. 이 트릭은 작동하지 않습니다 ...

플러그인을 제거하려면 vimrc 파일에서 플러그인을 제거하고 다음을 실행하십시오.

:PlugClean

vim-plug는 Vim 스크립트 웹 사이트에서 스크립트 설치를 지원하지 않지만 해당 스크립트는 GitHub에 미러링 되므로 그렇게 할 필요가 없습니다.

더 쉬운 플러그인 업데이트 및 더 나은 성능을위한 주문형로드와 같은 추가 이점도 있습니다. vimrc를 다른 컴퓨터에 쉽게 복사하고을 실행 :PlugInstall하고 모든 플러그인을 가질 수도 있습니다.

더 많은 플러그인 관리자가 있습니다. 사용 vim-plug합니다. 참조 : Vim은 패키지 관리자의 차이점은 무엇입니까?


1
vim-plug가 다른 것에 비해 가장 중요한 장점 중 하나는 플러그인의 병렬 설치 / 업데이트입니다.
r3bo0t

"이러한 스크립트는 GitHub에서 미러링되므로 그렇게 할 필요가 없습니다." 불행히도 스크레이퍼는 오래 전에 작동을 멈췄습니다. github.com/vim-scraper/vim-scraper/issues/…
Bluu

@Bluu 그래, 나는 작년의 관리자에게 연락했다; 업데이트가 필요한 기술적 인 부분이 있으며 실제로 업데이트를 수행하는 사람은 아무도 없습니다.
Martin Tournoij

25

병원체

Pathogen은 Vim 내에 플러그인을로드하는 런타임 경로 관리자입니다. 플러그인 설치가 간단합니다. 작동 방식은 다음과 같습니다.

참고 : Windows를 사용하는 경우, 교체 ~/.vim와 함께 $HOME\vimfiles.

  1. 에 복사 pathogen.vim하십시오 ~/.vim/autoload/pathogen.vim.

  2. ~/.vim/bundle디렉토리가 없으면 작성하십시오 .

  3. 맨 처음에 다음 줄을 추가하십시오 .vimrc.

    execute pathogen#infect()
    
  4. 끝났습니다! 당신이 플러그인을 추가 할 때, 단순히 전체 플러그인의 디렉토리에 복사 ~/.vim/bundle, 또는 git clone거기. 예를 들면 다음과 같습니다.

    cd ~/.vim/bundle
    git clone https://github.com/tpope/vim-surround
    
  5. *주의 사항 : 플러그인이 .vim파일 형식으로 제공되면 Pathogen에서 작동하지 않습니다. ~/.vim/plugin대신이 폴더를 복사하십시오 (없는 경우이 디렉토리를 작성해야합니다).


5
참고 : 병원체는 플러그인 관리자 가 아닙니다 .
romainl

또는 vim 구성이 이미 자체 git 프로젝트의 일부인 경우 git submodule add(대신 git clone).
Martin York

@romainl 그때 무엇입니까?
RodrikTheReader

3
런타임 경로 관리자입니다. 마찬가지로 runtimepath옵션을 관리하고 그게 전부입니다. 플러그인 업데이트, 추가, 검색, 제거는 전혀 다루지 않습니다.
romainl

1
또한 병원체 사용에 관한 @romainl의 우수한 요점을 참조하십시오 .
icc97

23

Vim 8 이상 / Neovim

버전 8 에는 작성 당시 (2017 년) 기존 플러그인 관리자 (병원체, vim-plug, vundle 등)의 필요성을 대체 하는 새로운 패키지 메커니즘도입되었습니다 .

로부터 문서 :

Vim 패키지 는 하나 이상의 플러그인을 포함하는 디렉토리입니다

패키지 디렉토리에는 두 개의 하위 디렉토리가 있습니다.

  • start/ -자동으로로드되는 플러그인을 포함합니다
  • opt/ -요청시로드되는 플러그인을 포함합니다. :packadd

약간 복잡해 보일 수 있지만 실제로 플러그인을 여기에 추가하기 만하면됩니다 .

                 ↓ package name
~/ .vim / pack / bundle / start / some-plugin
          ↑ packages dir          ↑ plugin dir

Windows : ~\vimfiles\pack\대신 사용~/.vim/pack/

일반적으로 패키지 이름 "bundle"을 모든 플러그인을 포함하는 디렉토리로 사용했습니다. 원하는 이름을 사용할 수 있으며 원하는 경우 플러그인을 별도의 패키지 디렉토리에 넣을 수도 있습니다.

예 : sensible.vim 설치

mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git

Windows : ~\vimfiles\pack\대신 사용~/.vim/pack/

다음에 Vim을 시작하면 플러그인이 자동으로로드됩니다.


3
하나 .vim가 버전 관리하에 있다면 , git의 서브 모듈과 함께 플러그인을 설치하는 것이 좋습니다. shapeshed.com/vim-packages/#adding-a-package를 참조 하십시오 .
아치 스탠턴

시간 기반 답변이있는 경우 현재 답변으로 사용됩니다.
Amin NAIRI

12

위대하고 강력한 Vundle을 잊지 마십시오 !

Vundle은 다음과 같은 기능을 갖춘 완벽한 플러그인 관리자입니다.

  • 플러그인 검색 (을 사용하여 :PluginSearch)
  • 플러그인 설치 (사용 :PluginInstall)
  • 플러그인 업데이트 (을 사용하여 :PluginUpdate)
  • .vimrc에서 플러그인로드 경로 관리 (로드하지 않으려는 플러그인 항목을 간단히 주석 처리)
  • 더 이상 원하지 않는 플러그인 제거 (사용 :PluginClean)

보시다시피, Carpetsmoker가 언급 한 vim-plug manager와 매우 흡사합니다. 어느 것이 먼저 왔는지 모르겠지만 설정 프로세스 와 마찬가지로 API도 나와 비슷합니다 .


Vundle의 좋은 점은에 모든 플러그인을 저장할 수있는 vim-plug와 비슷 .vimrc하므로 새 서버에 설치할 때 Vundle 설치 + .vimrc모든 것만 설치하면 됩니다. 또한 플러그인에 주석을 달고 '청소'할 수 있지만, 몇 달 또는 몇 년 후에 이름을 잊어 버렸을 때 다시 주석을 달 수 있습니다.
icc97

또한 Vundle은 비교적 초보자 친화적이기 때문에 좋아합니다. 그것은 단지 일을하는 한 가지 방법을 제공하며 Sublime Text와 비슷한 방식으로 작동합니다.
icc97

1

플러그인은 단일 .vim 파일 일 것입니다.

이 경우 도움말을 검색하고 다음을 실험하고 알아 냈습니다. vim (명령 모드)에서 다음을 입력하십시오.

:set runtimepath

일련의 디렉토리가 표시됩니다. 이러한 디렉토리 중 일부에는 plugin하위 디렉토리가 있습니다 . 이 plugin하위 디렉토리 중 하나에 .vim 파일을 넣으면 어디서나 vim을 시작할 때 자동으로로드됩니다.

나를 위해 우분투 리눅스에서 /usr/share/vim/vim74/plugin모든 사용자를 위해 설치하는 것이 효과적 이라는 것을 알았습니다 . 당신은 (당신의 앞에 여기에 파일을 복사 할 루트 권한이 필요할 수 있습니다 cp또는 mv와 명령 sudo).


3
IMHO 이것은 최선의 방법이 아닙니다. 당신이 있습니다 vim74이 플러그인을 잃어 버리게된다, 그래서 빔 8.0으로 업그레이드는 버전 특정 것을 의미한다. 더 업그레이드 방지 방법은 사용하는 것입니다 /etc/vim/그것에 대해 (존재하지 않는 경우를 작성하고 해당 경로를 추가 runtimepath로 경우 사용할 수 없습니다 /etc/vimrc)
grodzik

3
@grodzik 의견에 추가하려면 : Most likely, your plugin will be a single .vim file나는 동의하지 않습니다. 대부분의 플러그인은 .txt문서를 포함 하는 파일 과 함께 제공되며 기능적인 문서를 얻으려면 태그를 생성해야합니다. 또한 많은 플러그인이 autoload디렉토리 와 함께 제공됩니다 . 플러그인 관리자를 사용하는 것이 수동으로 런타임 경로를 관리하는 것보다 더 나은 솔루션이라고 생각합니다.
statox

-1 /usr/share/vim/vimXX은 스톡 런타임이며 사이트 구성 / 플러그인의 장소가 아닙니다. 대신, 사이트 구성 / 플러그인은 $VIM해당 시스템의 어느 위치 에나 배치해야합니다 (참조 :h vimfiles). 일반적으로 이것은 /usr/share/vimUbuntu의 경우이며에 대한 심볼릭 링크를 보유합니다 /etc/vim. 일반적으로 패키지 관리자 외부의/usr/local/ 사이트 구성을위한 사실상의 장소입니다 . Neovim은 및 디렉토리 를 사용 하므로 사이트 구성에 기본적으로 더 나은 기본값을 제공합니다. $XDG_(CONFIG|DATA)_DIRSsite
ZeroKnight

1

Vire 는 최신 팩 형식을 활용하여 플러그인을 설치하고 Vim 및 Neovim을 지원합니다. 어디로 가는지 알 필요가 없습니다. vimrc 만 제공하면 Vire가 나머지를 처리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.