수색…
비고
플러그인은 존재하지 않는 기능을 추가하거나 기존 기능을 확장하여 Vim의 기본 동작을 변경하는 스크립트 또는 스크립트 세트입니다.
종종 "존재하지 않는 기능"이 추가되었습니다.
- 주석 달기,
- 들여 쓰기 감지,
- 자동 완성,
- 퍼지 - 매칭,
- 특정 언어에 대한 지원,
- 기타
종종 확장 된 "기존 기능"에는 다음이 포함됩니다.
- 전 방향 완료,
- 텍스트 개체 및 동작,
- 야킹 & 퍼팅,
- 상태 표시 줄,
- 검색 & 대체,
- 버퍼 / 창 / 탭 페이지 전환,
- 접는,
- 기타
플러그인 작동 방법
플러그인은 30 줄의 vimscript를 포함하는 하나의 파일이나 vimscript / python / ruby / 20MB의 디렉토리를 포함하는 여러 개의 파일로 분할 될 수 있습니다.
전자는 설치 및 관리가 쉽지만 후자는 상당한 어려움을 겪을 수 있습니다.
원칙
'runtimepath'
옵션은 Vim에게 런타임 스크립트를 찾을 곳을 알려줍니다. 기본값은 Vim이 다음 디렉토리 에 스크립트를 순서대로 찾도록합니다 :
유닉스 계열 시스템에서
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
Windows에서
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
위 디렉토리 중 굵은 글씨로만 플러그인을 설치하십시오. 다른 것들은 정당한 이유없이 불안정성을 일으킬 것입니다. 플러그인 설치는 각 구성 요소를 $HOME/.vim/
또는 $HOME/vimfiles/
아래의 올바른 디렉토리에 배치하는 것으로 귀결됩니다.
수동 방법
단일 파일 플러그인
파일을 $HOME/.vim/plugin
또는 $HOME/vimfiles/plugin
이것은 Vim을 시작할 때 플러그인 소스가됩니다. 이제 사용자는 정의 된 모든 것을 사용할 수 있습니다. 그러나 플러그인이 활성화되어야하는 경우 사용자는 사용하려고 할 때마다 명령을 직접 실행하거나 .vimrc
명령을 추가해야합니다
묶음
번들은 플러그인이 사용하는 디렉토리 구조입니다. 해당 서브 디렉토리 아래에있는 플러그인의 모든 파일로 구성됩니다.
이러한 플러그인을 설치하려면 하위 디렉토리를 $HOME/.vim/plugin
에있는 해당 항목과 병합해야합니다. 그러나이 접근법은 같은 디렉토리에있는 서로 다른 플러그인 파일을 섞어서 네임 스페이스 문제를 일으킬 수 있습니다.
또 다른 방법은 전체 디렉토리를 $HOME/.vim/bundle
에 복사하는 것입니다.
이 방법을 사용할 때 $HOME/.vim/bundle/autoload
디렉토리 아래에 적어도 하나의 .vim
파일이 있어야합니다. 이 파일들은 시작할 때 vim에 의해 소스 화됩니다.
참고 : 사용자의 운영 체제에 따라 모든 경로의 접두사는 $HOME/vimfiles
일 수 있습니다. 자세한 내용은 플러그인 작동 방법
VAM
https://github.com/MarcWeber/vim-addon-manager
번들
Vundle 은 Vim의 플러그인 관리자입니다.
번들 설치
(전체 설치 세부 사항은 번들 빠른 시작 에서 찾을 수 있습니다)
Git을 설치하고 Vundle을
~/.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() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on "place non-Plugin stuff after this line
플러그인 설치 : Vim을 실행하고 실행
:PluginInstall
.
지원되는 플러그인 형식
다음은 지원되는 다양한 형식의 예입니다. vundle#begin
과 vundle#end
사이에서 플러그인 명령을 유지하십시오.
플러그인 위치 | 용법 |
---|---|
플러그인 GitHub에 | Plugin 'tpope/vim-fugitive' |
http://vim-scripts.org/vim/scripts.html의 플러그인 | Plugin 'L9' |
GitHub에서 호스팅되지 않는 Git 플러그인 | Plugin 'git://git.wincent.com/command-t.git' |
로컬 컴퓨터에서 git repos (즉, 자신의 플러그인으로 작업 할 때) | Plugin 'file:///home/gmarik/path/to/plugin' |
sparkup vim 스크립트는 vim이라는이 저장소의 하위 디렉토리에 있습니다. 경로를 전달하여 런타임 경로를 올바르게 설정하십시오. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
L9를 설치하고 다른 버전을 이미 설치 한 경우 이름 충돌을 피하십시오. | Plugin 'ascenator/L9', {'name': 'newL9'} |
예를 들어 클러스터 헤드 노드에서 공유 계정으로 작업하면 .vim
디렉터리의 디스크 사용 시점에서 문제가 발생할 수 있습니다. 예를 들어 YCM 과 같이 상당한 양의 디스크 공간을 차지하는 두 개의 패키지가 있습니다. 그래서 Vundle
플러그인 디렉토리를 현명하게 선택하십시오. rtp
를 설정하면 Vundle
플러그인 디렉토리를 매우 쉽게 선택할 수 있습니다. 또한 vim 플러그인을 설치할 계획이라면 bundle
디렉토리에서 git clone
을 직접 수행하지 마십시오. 번들 방식을 사용하십시오.
미래 : 패키지
참조 :help packages
.
병원균
VIM-병원균은 A는 runtimepath
쉽게 자신의 개인 디렉토리에 플러그인과 런타임 파일을 설치 할 수 있도록 팀 교황에 의해 만들어진 관리자.
병원체 설치
병원균을
~/.vim/bundle
에 넣으십시오. (여기 힘내와 함께하되 필수는 아닙니다) :git clone https://github.com/tpope/vim-pathogen.git
.vimrc
의 맨 위에 다음 행을 추가하십시오." enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
-
runtime
지시문은vim-pathogen
의 자동로드 스크립트에 대한 경로를 지정합니다. -
execute pathogen#infect()
초기화합니다.
일단 시작되면 Pathogen은 ~/.vim/bundle
의 폴더를 통해 자동으로 스윕을 시작하고 각각에서 플러그인을로드합니다.
병원균 사용
- 플러그인의 최상위 디렉토리를
~/.vim/bundle/
에~/.vim/bundle/
다음에 Vim을 시작할 수 있도록하십시오. - 실행
:Helptags
를 사용하여 새 플러그인 문서의 색인을 생성하십시오.
은혜
- 각 플러그인은
~/.vim/bundle/
아래에 고유 한 디렉토리에 있습니다. -
.vimrc
는 플러그인을로드하는 데 필요한 구성에서 깨끗하게 유지됩니다.
따라서 플러그인을 "관리"하는 데 필요한 노력은 다음과 같이 축소됩니다.
- 최상위 디렉토리를
~/.vim/bundle/
아래에 두어 설치 합니다. - 를 업데이트하기 위해 최상위 디렉토리를 교체
- 그것을 제거하는 최상위 디렉토리를 삭제합니다.
세 가지 작업 (수동, 자동화 도구를 통해 Git / Svn / Hg / ... 등)을 수행하는 방법은 전적으로 귀하에게 달려 있습니다.