GO語言安裝及vim-go的配置__go

來源:互聯網
上載者:User
GO語言安裝及vim-go的配置

輕度強迫症。。。

最近void-001在寫NEUOJ_judge的後端測評機,而我本人最近也比較空閑,於是就想跟著VOID-001,看著他的代碼,進行一下GO的學習。 GO的安裝 如果對自己的梯子比較有信心可以在官網下載GO的編譯器,如果沒信心的話,可以使用國內的golang中國http://www.golangtc.com/download(不要擔心版本落後,版本是同步的),下載go1.7.3.linux-amd64.tar.gz

下載好之後,先進行解壓,然後就可以把的解壓後檔案放在自己喜歡的位置。之後進行配置:

export GOROOT=/your path/go1.7.3.linux-amd64/go   //下載的安裝包解壓後的位置export PATH=$PATH:$GOROOT/bin    //下載的安裝包解壓後的位置/bin,其中是可執行檔export GOPATH=/like path/go  //自己喜歡的go語言的工作空間workspace,自行設定
到此,安裝結束。使用 go version驗證安裝成功。 GO開發環境的使用 很多人問GO語言使用什麼開發環境,個人認為還是使用vim比較好,其實,現在主流的GO的開發環境還沒有一個主流的IDE,都是需要在別的IDE上進行GO外掛程式的配置,與其在一個幾百兆的環境上開發,倒不如使用vim

vim 配置,Vim-go是當前使用最為廣泛的用於搭建Golang開發環境的vim外掛程式,於是我們採用vim-go外掛程式。vim-go利 用開源Vim外掛程式管理器安裝,gmarik/Vundle.vim是目前被推薦次數更多的Vim外掛程式管理器。可以參照官方介紹 https://github.com/VundleVim/Vundle.vim 下載。git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 配置。在~.vimrc的開始部分,進行如下配置(直接粘貼過去即可),

    " -------------    " Vundle    " https://github.com/gmarik/Vundle.vim    " -------------    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 'gmarik/Vundle.vim'    " The following are examples of different formats supported.    " Keep Plugin commands between vundle#begin/end.    " plugin on GitHub repo    ""Plugin 'tpope/vim-fugitive'    " plugin from http://vim-scripts.org/vim/scripts.html    ""Plugin 'L9'    " Git plugin not hosted on GitHub    ""Plugin 'git://git.wincent.com/command-t.git'    " git repos on your local machine (i.e. when working on your own plugin)    ""Plugin 'file:///home/gmarik/path/to/plugin'    " The sparkup vim script is in a subdirectory of this repo called vim.    " Pass the path to set the runtimepath properly.    ""Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}    " Avoid a name conflict with L9    ""Plugin 'user/L9', {'name': 'newL9'}    " Install Vim-go    Plugin 'fatih/vim-go'    " 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    "    " Brief help    " :PluginList       - lists configured plugins    " :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate    " :PluginSearch foo - searches for foo; append `!` to refresh local cache    " :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal    "    " see :h vundle for more details or wiki for FAQ    " Put your non-Plugin stuff after this line  
在vim中使用PluginInstall命令進行vim-go的安裝,注意:在上一步的配置中,我已經了進行vim-go外掛程式的添加。安裝完成後,就可以有go語言的字元高亮顯示了。

為了實現自動補全等功能,還需要進行GoInstallBinaries的安裝。在vim中使用命令GoInstallBinaries。就會自動的安裝一些二進位的可執行檔,如gocode、godef、goimports等,被安裝在$GOPATH/bin下,可以ls進行命令的查看。不過這種方法一般是不行的,因為code.google.com被牆,導致一些託管在code.google.com上面的包go get不下來。不過這個不用擔心,程式員的具有超能力的。下面進行解決。 首先,找到我們需要安裝的檔案,~/.vim/bundle/vim-go/plugin/go.vim這個檔案中,羅列出了需要安裝的命令,其實都很小,每個只有幾十KB。列舉出這個的檔案關鍵的內容。

    " these packages are used by vim-go and can be automatically installed if  " needed by the user with GoInstallBinaries  let s:packages = [              \ "github.com/nsf/gocode",               \ "code.google.com/p/go.tools/cmd/goimports",               \ "code.google.com/p/rog-go/exp/cmd/godef",               \ "code.google.com/p/go.tools/cmd/oracle",               \ "code.google.com/p/go.tools/cmd/gorename",              \ "github.com/golang/lint/golint",               \ "github.com/kisielk/errcheck",              \ "github.com/jstemmer/gotags",              \ ]  
接下來,我們就需要一個檔案一個檔案的進行下載。這裡還是在golang中國,http://www.golangtc.com/download/package,這個頁面講了下載安裝的詳細方法,而且非常的簡單,就不說明了

安裝好上一步的那些檔案後,基本就完成了vim-go的配置,測試一下

編輯hello.go:- 新起一行輸入fmt.,然後ctrl+x, ctrl+o,Vim 會彈出補齊提示下拉框,不過並非即時跟隨的那種補齊,這個補齊是由gocode提供的。– 輸入一行代碼:time.Sleep(time.Second),執行:GoImports,Vim會自動匯入time包。– 將游標移到Sleep函數上,執行:GoDef或命令模式下敲入gd,Vim會開啟$GOROOT/src/time/sleep.go中 的Sleep函數的定義。執行:b 1返回到hellogolang.go。– 執行:GoLint,運行golint在當前Go源檔案上。– 執行:GoDoc,開啟當前游標對應符號的Go文檔。– 執行:GoVet,在目前的目錄下運行go vet在當前Go源檔案上。– 執行:GoRun,編譯運行當前main package。– 執行:GoBuild,編譯當前包,這取決於你的源檔案,GoBuild不產生結果檔案。– 執行:GoInstall,安裝當前包。– 執行:GoTest,測試你當前路徑下地_test.go檔案。– 執行:GoCoverage,建立一個測試覆蓋結果檔案,並開啟瀏覽器展示當前包的情況。– 執行:GoErrCheck,檢查當前包種可能的未捕獲的errors。– 執行:GoFiles,顯示當前包對應的源檔案清單。– 執行:GoDeps,顯示當前包的依賴包列表。– 執行:GoImplements,顯示當前類型實現的interface列表。– 執行:GoRename [to],將當前游標下的符號替換為[to]。

即時跟隨的代碼補齊 安裝YCM(Your Complete Me)

在~/.vimrc中添加一行:Plugin 'Valloric/YouCompleteMe'儲存退出後,再開啟/etc/vimrc並執行 :PluginInstall。

之後,需要開啟~/.vim/xxx/YCM,進行./install.sh,其中,根據提示進行安裝就可以了 安裝完成之後,就可以進行自動提示了 有的時候,可能遇到問題,比如不能自動提示,原因是youcompleteme unavailable: No module named future。開始的時候我找這個錯誤還找了很久,後來在一篇部落格中找到了答案。

原因就是你或者沒用Vundle安裝,或者Vundle由於網速太慢下載到一半不能把安裝依賴包完全下載下來
解決方案:
進入到YouCompleteMe目錄,在terminal視窗敲入git submodule update –init –recursive

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.