1. 程式人生 > >基於vim的golang開發環境配置

基於vim的golang開發環境配置

我用的作業系統為ubuntu14.04

用慣了命令列下裸的vim,有些厭倦,嘗試著去emacs裡打了個滾,各種快捷鍵讓我覺得慘不忍睹。回到vim感覺像是回到了天堂,想想又不是隻有emacs才有圖形介面,雖然我已經棄用gvim很久,不代表它不存在。故而轉投gvim的懷抱。

而最近正好開始學golang,嘗試著寫些小程式,卻發現vimgolang的原生支援實在是糟糕,於是重新走上了配置vim的不歸路……

外掛:

pathogen

我使用pathogen來管理所有的外掛,這是因為它比vundle簡單……vim當中安裝東西的手感不如一句簡單的git clone來的好。

安裝:

https://github.com/tpope/vim-pathogen,按照說明完成安裝即可

它的用法很簡單,便是把下載的外掛放在~/.vim/bundle資料夾中,就能立即使用了。

ctrlp

我對於這個外掛並無太多的認識,只覺得它作為一個檔案搜尋的外掛比nerdtree來的方便快捷,ctrl-p+檔名就可以。我或許可以試著挖掘一下其它的功能。

Molokai

這是我的配色方案,初安裝的時候忘了在.vimrc中加入一句colorscheme molokai,導致一直看不見效果。想起來真傻。原來用的是solarized,換成molokai是因為它看起來有sublime的感覺。

Nerdtree

ctrlp搜尋檔案是方便,但要瀏覽資料夾結構就不好玩了。Nerdtree的功能還是必不可少的。

Tagbar

用於顯示檔案內的函式與變數的。其實我原來用的是taglist,奈何我不知道怎麼讓它支援golang,只好換用gotags的說明中有提到的tagbar

Gotags/ctags

Ctags是著名的用於生成標籤的程式了,嚴格來說它並不算是一個ctags的外掛。不過諸如tagbartaglist都用它作為標籤生成的程式,與vim也算是密不可分了。Gotags是對ctags不支援golang的一個彌補。

Godef

一開始我覺得,有了ctagsC-]之後為什麼還要畫蛇添足弄一個專門用於golang的跳轉外掛。直到我發現在我存著golang原始碼的情況下它可以直接跳轉到那裡去……

golang

Vimgolang沒有支援,所以看不到高亮,沒有自動的檔案型別解析。Golang的原始碼當中就附帶了這個外掛。也可以從github之類的地方下到。而且我在file type plugin里加了不少私貨,比如用“//”來切換是否註釋當前的語句(當然這個東西改一改在所有語言裡都能用),再比如用F5來執行程式(go run

Gocode

它的安裝比較複雜……除了.vim下的外掛以外,還需要在系統上安裝一個用於自動補全的守護程序。而且快捷鍵也比較惱人,我還在考慮要怎麼讓它精簡一點。

Powerline

沒它實在太難受……雖然只是點綴了一下介面,可是給我的感覺有和沒有還是不一樣的。

Vimrc

這裡面是對於各個外掛的配置,以及一些全域性的對映之類。其中主要建立了一系列類似chrome的標籤頁操作對映,然後加了一些括號補全。其核心要義就是什麼功能覺得缺了就自己加一個上去。

歡迎指導~