2010-03-16 115 views
70

Emacs 24 looks like it will have一個包管理器。 Vim有哪些軟件包管理選項?Vim的包(插件)管理

+1

這種情況下的包管理器是什麼?像VimExplorer? – 2010-03-16 21:50:37

+0

將從中央存儲庫安裝和管理第三方插件的東西。 – ntimes 2010-03-16 21:53:35

+1

好吧,vim有一箇中央回購站(vim.org),一個包裹系統(vimballs)和腳本來檢查你是否擁有最新的和最好的(其中有幾個,現在不記得名字)......你還想要什麼? :-) – Rook 2010-03-16 23:33:11

回答

12

我使用手工製作的設置現在,但我一直告訴自己的某個時候給這個一杆(鏈接都使用相同的插件做):

  1. vim-addon-manager:管理和輕鬆更新插件; Marc Weber的插件(@ vim.org)
  2. GitHub profile Marc Weber;他有許多VAM相關回購
  3. Vim-plugin-manager @ Vim的維基 - 頁面的名稱不同,但實際上同一插件再一次意味着

,我還沒有真正嘗試過這個自己但是,它看起來很有前景。

5

Vim.org + Vimballs + GetLatestVimScripts優先構建的方式來管理vim插件。

:h GetLatestVimScripts 

關於它的不好的事情:

  • 不支持Windows(的GetLatestVimScript調用了wget AFAIR)
  • vim.org有很多未GLVS和vimball裏認識的插件。
+7

如果你已經能夠安裝Vim,你可以在Windows上安裝wget在Windows上:) – wRAR 2010-03-17 06:48:02

25

還有pathogen.vim

http://www.vim.org/scripts/script.php?script_id=2332

雖然它不提供管理從GitHub的和到位桶的檢出手段正是你問它。

這是很好的,因爲它將插件的目錄結構分開。因此,您可以檢出插件的存儲庫並獲得適當的版本控制,而不是依賴維護人員更新代碼。它也不依賴於插件作者根據引用的其他選項設置/打包。

有執行此任務vim.org一些其他的插件,雖然我不能在我現在用的VimPlugmy own Vim中設置的那一刻

81

找到他們,我絕對推薦它。安裝非常簡單,而且速度快,非常有效!

VimPlug video

我曾經建議Vundle在這個答案。但Vundle不再維護,並有更好的選擇。

+0

作者停止維護vundle http://gmarik.info/blog/2014/02/04/why-i-stopped-contributing-to-vundle。你仍然可以在github上看到貢獻,但也許有人更有知識可以評論vundle的未來。 – 2014-06-23 21:59:36

+0

他似乎有些惱火,NeoBundle大多隻是複製他的代碼而不是製作叉子。但如果他不再維護它,也許NeoBundle會接管? – Jostein 2014-06-25 23:50:49

+0

GitHub回購對我來說似乎很活躍。另外,在更新中的鏈接評論中,似乎有人加緊提供幫助。 – 2014-08-10 16:37:41

2

我寫了一個名爲「vimpyre」的工具,它可以使用GitHub服務搜索,安裝,卸載,更新vim插件。 https://github.com/pct/vimpyre

+3

FWIW,vimpyre在github轉移到新的API後不再有效。他們也對速率限制和封鎖非認證API查詢非常吝嗇.. :( – synthesizerpatel 2013-02-12 09:11:26

33

針對vim的插件管理通過在整個個人vim運行時目錄中傳播插件文件而成爲傳統方式中的一種痛苦,例如。 * nix系統的~/.vim。一旦安裝了插件,很難更新,因爲沒有簡單的方法來刪除過時的插件文件,這是必要的步驟。

在開始的時候,我想列出有關罰款的插件管理工具應該怎麼做我的個人要求:

  1. 應當用純VimL
  2. 應安裝插件到自己的目錄
  3. 應自動加載插件Vim啓動時,很高興加載按需要
  4. 應具有安裝,更新和刪除插件
  5. 最好有一個內置方法的內置方法搜索插件需要
  6. 應能在文件中聲明插件需要
  7. 不錯的依賴解決機制

有很多實現那裏的(Vim-Scripts.org具有的所有可用工具comprehensive summary)我只會按照他們的創建順序來討論幾個主要的工具。

vimball是第一次嘗試解決這個問題,實際上它是一個半官方的解決方案,很多插件隨着*.vba封裝一起發貨很長時間。結合GetLatestVimScripts,這形成了vim插件管理的傳統方式。

即使這樣,這個問題仍然存在,直到VIM的Tim PopepathogenGithub Repo),其中每個插件放到自己的目錄,並加載它們在通過修改啓動‘RTP(runtimepath)’出現了。這是一個偉大的進步 - 結合vim-scripts.org hosted by git/github和其他工具(例如vimmer),它形成了管理vim插件的現代方式。有很多關於這個話題的文章和視頻。

作爲該管理插件插件,病原體仍然缺少一些核心功能如搜索,安裝,更新和刪除的插件。因此,VAM(Vim-Addon-Manager)Github Repo)走出。 VAM提供了插件管理器所需的幾乎所有東西:將插件文件放在自己的目錄中,在vim啓動時加載插件,在ex命令行中搜索/安裝/更新/刪除插件,用純VimL編寫,維護自己的插件中央信息數據庫,甚至可以解決插件依賴關係。看起來VAM應該是我們需要的一個全功能的vim插件管理器,但從我的角度來看,VAM所採用的方法有點不雅,有時還會過度設計。雖然它仍然是一個很棒的插件,值得使用。

然後,Tom Link的tpluginGithub Repo)通過僅在調用相關命令或函數時才加載插件來改進病原體,類似於AsNeeded。此外,它有一些似乎很好的依賴解決機制。

Finnaly,Gmarik創建VundleGithub Repo),這是添教皇的病原體的靈感後繼從Ruby的Bundler,它提供了一個更好的用戶接口和附加管理功能。 Vim的Vundle和Bundler的Ruby項目非常相似。通過在vimrc中聲明所需的插件,vundle通過ex命令行界面處理所有其餘的事情,包括安裝/更新和刪除插件。最重要的是,vundle是在純VimL中實現的。在vundle的幫助下,可以通過一個簡單的vimrc文件來管理幾臺計算機上的vim配置。作爲一種現代插件管理工具,vundle依賴於Git,並且可以直接從Github安裝插件。 Vundle還提供了一個用於搜索和安裝插件的奇特交互式界面。

Vundle雖然沒有完全滿足我的要求,但它確實朝着正確的方向前進,這對我來說似乎是一個很好的起點。

這裏有a discussionanother comparison between vim plugin managers由VAM的作者MarcWeber。

+2

下面這個偉大的答案,[Neobundle](https://github.com/Shougo/neobundle.vim)似乎是合乎邏輯的進化來自Vundle – 2013-05-02 10:00:18

+0

偉大的有一些vim軟件包管理器已經發展的歷史 - 非常有用,並且很高興我使用Vundle,因爲我沒有複雜的需求。 – RichVel 2016-03-13 07:49:56

+0

@RichVel,相反,我很高興我使用VAM ,因爲我有一個*非常*複雜的要求:我希望日常使用它非常簡單,添加新插件非常簡單,因爲他們沒有準備好索引([VIM-π](HTTPS://到位桶。org/vimcommunity/vim-pi)) – jpaugh 2017-02-15 04:08:12

3

退房NeoBundle,vim的最終包管理器。這是一個Vundle的分支。

+4

這兩者之間有什麼區別? – 2013-12-05 23:28:48

+0

來自NeoBundle的自述文件:「NeoBundle上的主動發展已經停止,未來唯一的變化就是bug修復。」 – icc97 2017-09-07 14:02:48