Emacs 24 는 패키지 관리자 가있을 것 같습니다 . Vim에는 어떤 패키지 관리 옵션이 있습니까?
Emacs 24 는 패키지 관리자 가있을 것 같습니다 . Vim에는 어떤 패키지 관리 옵션이 있습니까?
답변:
vim에 대한 플러그인 관리는 전체 개인 vim 런타임 디렉토리에 플러그인 파일을 배포함으로써 기존 방식에서 고통 스러웠습니다. ~/.vim
* nix 시스템의 경우. 일단 플러그인이 설치되면 필요한 단계 인 오래된 플러그인 파일을 쉽게 제거 할 수있는 방법이 없기 때문에 업데이트하기가 어렵습니다.
처음에는 훌륭한 플러그인 관리 도구가 어떻게되어야하는지에 대한 개인적인 요구 사항을 나열하고 싶습니다.
많은 구현이 있습니다 ( Vim-Scripts.org 에는 사용 가능한 모든 도구에 대한 포괄적 인 요약 이 있습니다). 저는 몇 가지 주요 도구에 대해 생성 순서에 따라 이야기 할 것입니다.
vimball 은 문제를 해결하기위한 첫 번째 시도였으며 실제로 많은 플러그인 *.vba
이 오랫동안 패키지와 함께 제공되는 반 공식적인 솔루션 이었습니다. 이것은 GetLatestVimScripts 와 결합 하여 vim 플러그인 관리를위한 전통적인 방식을 형성했습니다.
그럼에도 불구하고 문제는 Tim Pope 의 병원체 ( Github Repo )가 나타나기 전까지는 남아 있습니다. 각 플러그인을 자체 디렉토리에 배치하고 vim의 "rtp (runtimepath)"를 수정하여 시작할 때로드하는 것이 나타났습니다. 이것은 git / github 및 기타 도구 (예 : git / github)에서 호스팅하는 vim-scripts.org 와 결합 된 훌륭한 발전 입니다. vimmer )에서 vim 플러그인을 관리하는 현대적인 방법을 형성합니다. 이 주제에 대해 이야기하는 많은 기사와 비디오가 있습니다.
플러그인을 관리하는 플러그인으로서, 병원체는 플러그인 검색, 설치, 업데이트 및 제거와 같은 일부 핵심 기능이 여전히 누락되었습니다. 그 결과 VAM (Vim-Addon-Manager) ( Github Repo )이 탈퇴했습니다. VAM은 플러그인 관리자가되는 데 필요한 거의 모든 것을 제공합니다. 플러그인 파일을 자체 디렉토리에 배치하고, vim 시작시 플러그인을로드하고, 순수 VimL로 작성된 ex 명령 줄에서 플러그인을 검색 / 설치 / 업데이트 / 제거하고, 자체 플러그인 중앙 정보 데이터베이스를 유지합니다. 플러그인 종속성도 해결합니다. VAM은 모든 기능을 갖춘 vim 플러그인 관리자로 필요한 것 같지만 제 관점에서 VAM이 취하는 접근 방식은 약간 우아하고 때로는 과도하게 설계되었습니다. 여전히 훌륭한 플러그인이며 사용할 가치가 있습니다.
그런 다음 AsNeeded 와 유사하게 관련 명령이나 함수가 호출 될 때만 플러그인을로드하여 병원체를 개선 한 Tom Link의 tplugin ( Github Repo )이 나왔습니다. . 또한 좋은 것처럼 보이는 일종의 종속성 해결 메커니즘이 있습니다.
Finnaly Gmarik은 Vundle ( Github Repo 은 Ruby 's Bundler 에서 영감을 받아 Tim Pope 병원체의 후계자 인 )을 , 더 나은 사용자 인터페이스 및 추가 관리 기능을 제공합니다. Vundle to Vim은 Ruby 프로젝트의 Bundler와 매우 유사합니다. vimrc에서 선언 된 플러그인을 필요로함으로써 vundle은 설치 / 설치를 포함한 나머지 모든 작업을 처리합니다. ex 명령 줄 인터페이스를 통해 플러그인 업데이트 및 제거. 가장 중요한 것은 vundle이 순수한 VimL로 구현된다는 것입니다. vundle의 도움으로 여러 컴퓨터에서 vim 구성을 관리하는 것은 간단한 vimrc 파일로 수행 할 수 있습니다. 최신 플러그인 관리 도구로서 , vundle은 Git에 의존하며 Github에서 직접 플러그인을 설치할 수 있습니다. 또한 Vundle은 플러그인 검색 및 설치를위한 멋진 대화 형 인터페이스를 제공합니다.
Vundle은 내 요구 사항을 완전히 충족하지 못하지만 올바른 방향으로 향하고 있으므로 좋은 출발점이 될 것 같습니다.
다음은 VAM의 저자 인 MarcWeber 가 vim 플러그인 관리자 간의 토론 과 또 다른 비교 입니다.
병원체도 있습니다.
http://www.vim.org/scripts/script.php?script_id=2332
정확히 요구하는 것은 아니지만 github 및 bitbucket의 체크 아웃을 관리하는 수단을 제공합니다.
이것은 플러그인의 디렉토리 구조를 분리하기 때문에 좋습니다. 따라서 관리자에게 코드를 업데이트하는 대신 플러그인 저장소를 확인하고 적절한 버전 제어를 얻을 수 있습니다. 또한 인용 된 다른 옵션에서 요구하는대로 설정 / 패키징하기 위해 플러그인 작성자에 의존하지 않습니다.
지금은 찾을 수 없지만 vim.org에이 작업을 수행하는 다른 플러그인이 있습니다.
나는 지금 손으로 만든 설정을 사용하고 있지만 언젠가 이것을 시도해 보라고 계속 스스로에게 말합니다 (모든 링크는 동일한 플러그인과 관련이 있습니다).
다시 한 번, 나는 실제로 이것을 실제로 시도하지는 않았지만 확실히 유망 해 보입니다.
Vim을위한 최고의 패키지 관리자 인 NeoBundle을 확인하십시오 . Vundle 의 포크입니다 .
이 모든 답변은 꽤 오래된 것 같습니다. 비슷한 질문에 대한이 답변 에서 설명한 것처럼 ,
Vim 8.0과 Neovim 모두 자체 내장 패키지 관리자가 있습니다.
다른 플러그인 관리자가 필요하지 않습니다.
1 ~ 2 년 동안 사용해 왔는데 간단하고 쉬운 것 같습니다.
다음은 장점 및 사용 방법에 대한 몇 가지 리소스입니다.