GO開發利器vim-go配置
GO語言的開發工具有很多種,有人喜愛 emacs +spacemacs、有人喜歡atom+go-plus,而我卻獨愛vim-go,今天就大家介紹下linux如何配置go的開發利器vim-go,實現自動格式化程式碼、程式碼補齊、語法高亮等方便使用的功能。
一、安裝vim-go
- vim-go下載地址
$ git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go
- 安裝和配置Vundle外掛管理器
<1>、安裝rpm包
# yum install -y git curl
<2>、先安裝Vundle外掛管理器
$ git clone https ://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
<3>.參考官方的https://github.com/VundleVim/Vundle.vim,配置.vimrc。這個預設配置裡面,不需要的外掛可以註釋掉。
$ vi ~/.vimrc
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 'VundleVim/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/'}
" " Install L9 and avoid a Naming conflict if you've already installed a
" " different version somewhere else.
" " Plugin 'ascenator/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
在~/.vimrc的vundle配置裡面加入vim-go
Plugin ‘fatih/vim-go’
儲存退出後,再次啟動vim。
a、用命令:PluginInstall安裝vim-go。
Vundle.vim會在左側開啟一個Vundle Installer Preview子視窗,視窗下方會提示:”Processing ‘fatih/vim-go’”,等待安裝完成後,會顯示Done!這時可以看到~/.vim/bundle下面有個vim-go資料夾。
[[email protected] bundle]
總用量 8
drwxrwxr-x 16 app app 4096 9月 12 09:49 vim-go
drwxrwxr-x 8 app app 4096 9月 12 09:05 Vundle.vim
截圖如下:
b、命令列安裝
$ vim +PluginInstall +qall
編輯hello.go,語法高亮有了, 儲存時自動format(利用$GOBIN/gofmt)也有了,但其他高階功能,比如自動import缺失的 package、自動補齊仍然沒有,我們還要繼續安裝一些二進位制工具。
二、安裝 go.tools Binaries 二進位制工具
在vim下輸入:GoInstallBinaries 會自動安裝相關工具,安裝後會在GOPATH目錄下的bin資料夾裡面。
該安裝相關檔案在~/.vim/bundle/vim-go/plugin/go.vim,我們可以看到安裝了下面幾個工具
let s:packages = [
\ "github.com/nsf/gocode",
\ "github.com/alecthomas/gometalinter",
\ "golang.org/x/tools/cmd/goimports",
\ "golang.org/x/tools/cmd/guru",
\ "golang.org/x/tools/cmd/gorename",
\ "github.com/golang/lint/golint",
\ "github.com/rogpeppe/godef",
\ "github.com/kisielk/errcheck",
\ "github.com/jstemmer/gotags",
\ "github.com/klauspost/asmfmt/cmd/asmfmt",
\ "github.com/fatih/motion",
\ "github.com/fatih/gomodifytags",
\ "github.com/zmb3/gogetdoc",
\ "github.com/josharian/impl",
\ "github.com/dominikh/go-tools/cmd/keyify",
\ ]
其中有的網址訪問不了,如果安裝失敗,可以到http://www.golangtc.com/download/package搜尋下載,下載後放到GOPATH的src目錄,用go install安裝!安裝後,會在GOPATH目錄下的pkg和bin目錄生成相應的檔案!
vim-go預設程式碼補全是<C-x> + <C-o>。
再次編輯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]。
三、其他外掛
實現功能:實時跟隨的程式碼補齊 + Code Snippet support
安裝YCM(Your Complete Me) —– bundle安裝
在~/.vimrc中新增一行:
Plugin ‘Valloric/YouCompleteMe’
儲存退出後,再開啟~/.vimrc並執行 :PluginInstall。編譯安裝
# yum install build-essential cmake python-dev
$ cd ~/.vim/bundle/
$ git clone https://github.com/Valloric/YouCompleteMe.git
$ cd YouCompleteMe/
$ git submodule update --init --recursive
$ cd ~/.vim/bundle/YouCompleteMe
$ ./install.py --gocode-completer // 對 golang的支援
Q1:YouCompleteMe unavailable : requires Vim 7.4.143
升級vim版本:
# yum install -y ncurses-devel
# git clone https://github.com/vim/vim.git
# cd vim
# ./configure --enable-multibyte --enable-pythoninterp=yes --enable-python3interp=yes
# make && make install
Q2: YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support
configure 引數加上--enable-pythoninterp=yes --enable-python3interp=yes 引數
# ./configure --enable-multibyte --enable-pythoninterp=yes --enable-python3interp=yes
Q3:vim 退格鍵(backspace)不能用
編輯~/.vimrc加入下面2行:
$ vi ~/.vimrc
set nocompatible
set backspace=indent,eol,start
四、配置~/.vimrc快捷鍵
便捷 .vimrc,前面講到了vim-go有許多命令,在:xx模式下執行多顯不便,於是你可以定義一些Mappings,比如:
$ vi ~/.vimrc
" set mapleader
let mapleader = ","
" vim-go custom mappings
au FileType go nmap <Leader>s <Plug>(go-implements)
au FileType go nmap <Leader>i <Plug>(go-info)
au FileType go nmap <Leader>gd <Plug>(go-doc)
au FileType go nmap <Leader>gv <Plug>(go-doc-vertical)
au FileType go nmap <leader>r <Plug>(go-run)
au FileType go nmap <leader>b <Plug>(go-build)
au FileType go nmap <leader>t <Plug>(go-test)
au FileType go nmap <leader>c <Plug>(go-coverage)
au FileType go nmap <Leader>ds <Plug>(go-def-split)
au FileType go nmap <Leader>dv <Plug>(go-def-vertical)
au FileType go nmap <Leader>dt <Plug>(go-def-tab)
au FileType go nmap <Leader>e <Plug>(go-rename)
" vim-go settings
let g:go_fmt_command = "goimports"
參考連結:
相關推薦
GO開發利器vim-go配置
GO語言的開發工具有很多種,有人喜愛 emacs +spacemacs、有人喜歡atom+go-plus,而我卻獨愛vim-go,今天就大家介紹下linux如何配置go的開發利器vim-go,實現自動格式化程式碼、程式碼補齊、語法高亮等方便使用的功能。
Go開發之路 -- Go語言基本語法
1.5 變量交換 數據類型 UNC 賦值 初始 寫法 調用 關鍵字 一. 變量 1.1 變量的聲明 Go 語言的每一個變量都擁有自己的類型,必須經過聲明才能開始用。 標準格式: var 變量名 變量類型 變量的聲明以關鍵字 var 開頭,行尾不需要寫分號
Vim go語言開發環境配置
安裝vim 和 vim-go sudo apt-get install vim git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go 安裝Vundle sudo apt-get install g
mac下安裝配置go開發環境
string hello pkg obi cin keyword art ces mac 1、官網下載安裝包(需FQ) https://storage.googleapis.com/golang/go1.7.darwin-amd64.pkg 2、配置Go環境變量GOPA
Windows下GO開發環境配置
blank 環境配置 div href body ack col window amd64 GO下載 https://golang.org/dl/ IDE-goland下載 http://www.jetbrains.com/go/
windows通過Visual Studio Code中配置GO開發環境(轉)
fin gpe def 微軟 sqs oba 安裝插件 包括 ont 一、GO語言安裝 詳情查看:GO語言下載、安裝、配置 二、GoLang插件介紹 對於Visual Studio Code開發工具,有一款優秀的GoLang插件,它的主頁為:https://gith
在Centos下配置GO開發環境
1、安裝VSCode編輯器 Visual Studio Code 是一個輕量級但功能強大的原始碼編輯器,可在 Windows,macOS 和 Linux 桌面上執行。它內建了對JavaScript,TypeScript和Node.js的支援,併為其他語言(如C ++,C#,
vscode 配置golang go開發環境 IDE(2018年10月)
vscode版本 : VSCodeUserSetup-x64-1.28.1 go sdk : go1.11.1.windows-amd64 我的系統 win7 64 旗艦 go sdk的安裝一路按next就行, 安裝完了,開啟cmd,分別執行兩個命令" go env
vscode 配置go開發環境
go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v g
在Visual Studio Code中配置GO開發環境
轉自:https://www.cnblogs.com/zsy/archive/2016/02/28/5223957.html一、GO語言安裝二、GoLang外掛介紹這款外掛的特性包括:Colorization 程式碼著彩色Completion Lists 程式碼自動完成(使用
Visual Studio Code --GO開發工具配置
一直在尋找一個趁手的GO語言開發工具,嘗試了很多都不順心,聽beego作者推薦試了一下微軟推出的業界良心Visual Studio Code 來開發做GO開發確實很舒服,今天總結一下Visual St
基於vim搭建Go開發環境
Go作為一門新興語言,發展的如火如荼啊。不過,目前還沒有一個成熟的IDE。本文介紹基於vim搭建Go的開發環境,保證在具有vim的快感的同時,又支援Go的特性。1. Go環境首先,是安裝Go。下載安裝包,解壓,然後設定環境變數GOROOT:指向解壓後的go路徑。GOPATH:
在intellij上配置go開發環境
1、安裝go外掛 Setting–>plugins–>browse repositories,在輸入框中填寫go。 2、手動配置go環境 2-2靠譜的文件 2-3驗證文件 另外一個地方 3、用整合開發環
Go語言 安裝、Notepad++配置Go 開發環境
安裝Go 以window7 環境為例: 下載go語言安裝包https://golang.org/dl/ 選擇go1.4.2.windows-386.msi 版本,直接點選安裝。 配置環境變數: 將C:\Go\bin,加入path環境變數中(預設貌似有了
GoLang之再談Gvim/Vim配置——使用Vundle安裝vim-go
2014-11-09 wcdj 根據Vundle的安裝說明,首先安裝Vundle: $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 然後對.vimrc進行配置,
Windowns環境下配置go開發環境
問題:在windows環境配置好以後,goland工具匯入工程無法編譯問題 答:配置環境變數,新建以下目錄: GOPATH: 專案路徑 GOROOT: go安裝路徑 GOBIN: ../../../bin
Vim Go開發環境搭建
bsp 讀取 share bre 修改 參考 兩個 func 項目 基本搭建流程參考了網上的博文以及Vimgo的Github主頁 博文https://www.cnblogs.com/breg/p/5386365.html Vim-go主頁(我能不能加入項目,做點貢獻呢?
Visual Studio Code 配置Go 開發環境最簡單的方法!!!
lang 方法 導致 分享圖片 src info 國內 golang 失敗 由於大家都知道的原因,在國內如果想訪問go等各種資源,都會遇到某種不可預知的神奇問題。導致在VS Code中安裝 go 各種插件都會失敗。 於是乎,網上就出現了各種各樣的解決方案:什麽手動git
macOS Eclipse配置Go開發環境:安裝goclipse
生成 oar issue 設置 span 參考資料 port 安裝eclipse -i 環境:Mac 10.14.4 安裝Eclipse 1 .官網下載安裝程序 https://www.eclipse.org/downloads/ 2 .執行安裝程序 ecl
vscode 配置 go 開發環境
一、下載vscode並安裝 https://code.visualstudio.