基於vim搭建Go開發環境

來源:互聯網
上載者:User

標籤:vim   golang   

Go作為一門新興語言,發展的如火如荼啊。不過,目前還沒有一個成熟的IDE。本文介紹基於vim搭建Go的開發環境,保證在具有vim的快感的同時,又支援Go的特性。

1. Go環境

首先,是安裝Go。下載安裝包,解壓,然後設定環境變數

GOROOT:指向解壓後的go路徑。

GOPATH:指向用於開發的workspace。Go按照固定的檔案結構組織該檔案夾,可以很方便的發布代碼,或者從其他倉庫下載代碼。需要在該目錄下建立src/,pkg/,bin/三個檔案夾

PATH:Go產生的所有的可執行程式都存放在$GOPATH/bin下,需要將它加入到PATH中。同時,需要把go tool加到PATH中,即$GOROOT/bin。

完成後,可以在src下簡單寫一個go程式,測試是否安裝成功。該檔案路徑:$GOPATH/src/chosen0ne.com/hello.go

package mainimport "fmt"func main() {fmt.Printf("Hello, world.\n")}
運行下列命令執行該程式:

go run chosen0ne.com/hello.go
如果有輸出就說明安裝成功。

2. Vim的Go外掛程式

在$GOROOT/misc/vim下,對應的是支援go相關特性的vim外掛程式,包括:文法高亮,縮排,Godoc支援等。按照方式在readme.txt中有說明。主要是在.vimrc加入以下代碼:

  " Some Linux distributions set filetype in /etc/vimrc.  " Clear filetype flags before changing runtimepath to force Vim to reload them.  if exists("g:did_load_filetypes")    filetype off    filetype plugin indent off  endif  set runtimepath+=$GOROOT/misc/vim " replace $GOROOT with the output of: go env GOROOT  filetype plugin indent on  syntax on

然後:source ~/.vimrc,開啟一個go檔案,就會看到文法高亮。


3. Vim Tag list for Go

這個外掛程式列出go檔案中得變數、類型、函數等,並支援跳轉。

需要安裝tagbar外掛程式,本身這個外掛程式依賴於Exuberant ctags,但是它不支援go,需要通過gotags。

1) 安裝gotags

gotags是go編寫的,安裝很簡單,直接運行:

go get -u github.com/jstemmer/gotags
就會將gotags安裝到$GOROOT/bin下。

2) 安裝配置tagbar

tagbar外掛程式就和普通vim外掛程式安裝一樣,可以通過pathtogen或者vundle。安裝完之後,需要對Go進行配置,在.vimrc中加入以下代碼:

let g:tagbar_type_go = {    \ ‘ctagstype‘ : ‘go‘,    \ ‘kinds‘     : [        \ ‘p:package‘,        \ ‘i:imports:1‘,        \ ‘c:constants‘,        \ ‘v:variables‘,        \ ‘t:types‘,        \ ‘n:interfaces‘,        \ ‘w:fields‘,        \ ‘e:embedded‘,        \ ‘m:methods‘,        \ ‘r:constructor‘,        \ ‘f:functions‘    \ ],    \ ‘sro‘ : ‘.‘,    \ ‘kind2scope‘ : {        \ ‘t‘ : ‘ctype‘,        \ ‘n‘ : ‘ntype‘    \ },    \ ‘scope2kind‘ : {        \ ‘ctype‘ : ‘t‘,        \ ‘ntype‘ : ‘n‘    \ },    \ ‘ctagsbin‘  : ‘gotags‘,    \ ‘ctagsargs‘ : ‘-sort -silent‘\ }
輸入:Tagbar就可以開啟tagbar,右側的視窗會顯示一系列符號。可以通過Ctrl + ]跳至符號定義處,Ctrl + t返回。效果如下:



4. 文法檢測

vim外掛程式syntastic支援對各種語言進行語法檢查,會標記處出錯位置以及錯誤原因,:



輸入:Errors會開啟quickfix視窗列出所有的錯誤清單,通過:bp,:bn在多個錯誤之間切換。:SyntasitcInfo會顯示當前檔案對應的文法checker資訊。這個外掛程式可以簡單配置一下,具體可以查看協助文檔。

" location list always updatedlet g:syntastic_always_populate_loc_list = 1" collect errors when use multple checkerslet g:syntastic_aggregate_errors = 1

5. 代碼提示

最後是大殺器。vim寫代碼被人詬病的就是不想IDE一樣,可以基於語義的代碼提示。通過gocode即可實現這個功能。gocode同樣是go寫的,安裝方便:

go get -u github.com/nsf/gocode
然後cd到gocode/vim下,執行./update.sh,實際就是把vim外掛程式拷貝到~/.vim/下。然後編輯go檔案,就會有代碼提示,:



這樣,Go的開發環境就配置成功了,敬請享用吧^-^

基於vim搭建Go開發環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.