go語言沒有如source insight般優秀的編輯器,試用了多種,vim算最好的,其次可以用liteide(有反查變量函數引用點、修改行變色功能),兩者可配合使用。
更新:最好的是idea+go插件
下面是一步步搭建vim go語言編輯環境的過程。
ubuntu為例,前提:go開發環境配置好、git安裝好。
安裝 Pathogen
-
前往http://www.vim.org/scripts/script.php?script_id=2332,找到下方的最新版 Package ZIP 包下載鏈接;
-
下載解壓后你會得到一個名稱為
autoload
的目錄,將目錄下的文件pathogen.vim
拷貝至~/.vim/autoload/pathogen.vim
; -
編輯
~/.vimrc
文件,在頂部加入行call pathogen#infect()
。
安裝 VIM-GO 插件
裝好了插件管理器,就可以開始安裝我們想要的插件了。
- 進入目錄
~/.vim/bundle
后執行命令git clone https://github.com/fatih/vim-go.git
。 - 編輯
~/.vimrc
文件,加入以下內容(最后一行用於禁止自動下載):syntax enable filetype plugin on set number let g:go_disable_autoinstall = 0
此時,插件本身已經安裝完成,可以根據 github.com/fatih/vim-go 的說明進行使用,其中要指出的是 <C-x><C-o>
為代碼補全提示,且一般需要在輸入 .
操作符之后使用。
let g:go_highlight_functions = 1 let g:go_highlight_methods = 1 let g:go_highlight_structs = 1 let g:go_highlight_operators = 1 let g:go_highlight_build_constraints = 1

let g:go_fmt_command = "goimports"
自動import對應文件。
安裝 neocomplete
如果想要實時的代碼補全提示,可以通過安裝 neocomplete 插件來實現,不過它對 VIM 的版本有比較高的要求,具體可以查看它的主頁 github.com/Shougo/neocomplete.vim。
- 進入目錄
~/.vim/bundle
后執行命令git clone https://github.com/Shougo/neocomplete.vim.git
。 - 編輯
~/.vimrc
文件,加入行let g:neocomplete#enable_at_startup = 1
。這樣就能在啟動 VIM 時自動開啟實時補全功能。
安裝ctags與gotags
sudo apt-get install ctags,然后
go get -u github.com/jstemmer/gotags
安裝 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' \ }
使用:光標在某變量或函數上,輸入gd跳轉。ctrl+o返回
安裝tagbar
-
裝 tagbar 插件了,和安裝 VIM-GO 一樣,首先進入
~/.vim/bundle
目錄。然后執行git clone https://github.com/majutsushi/tagbar.git
。 -
編輯
~/.vimrc
文件,加入行nmap <F8> :TagbarToggle<CR>
。這是個快捷鍵映射,你可以把F8
換成任意的。
安裝nerdtree
-
進入目錄
~/.vim/bundle
后執行命令git clone https://github.com/scrooloose/nerdtree.git
。 -
編輯
~/.vimrc
文件,加入行map <F7> :NERDTreeToggle<CR>
。如此一來,當你需要瀏覽目錄的時候,就可以使用快捷鍵<Ctrl+n>
來調出瀏覽窗口了。
安裝mark.vim
從http://www.vim.org/scripts/script.php?script_id=2666下載,用vim打開后輸入:so %即可,詳見:h vimball
nmap ml <Plug>MarkSet #高亮或反高亮一個單詞 nmap md <Plug>MarkClear nmap mn <Plug>MarkSearchAnyNext #跳轉到任一下一個高亮單詞 nmap mp <Plug>MarkSearchAnyPrev nmap mf <Plug>MarkSearchCurrentNext #跳轉到當前高亮的下一個單詞 nmap mb <Plug>MarkSearchCurrentPrev

安裝visualmask
名稱: | visualmask |
下載地址: | |
安裝: | 把下載下來的 visualmask.vim 放到 $HOME/.vim/plugin 目錄下。 |
幫助: | 見 visualmask.vim 的開頭部分。 |
普通模式下按 ctrl+F2 或者 mm 即可進行設置高亮書簽;按 F2 或 Shift+F2 進行跳躍;將光標移動到書簽上,再按 ctrl+F2 或 mm 取消該書簽。
使用的過程中遇到一個問題,每次添加書簽的時候都會提示:E197: Cannot set language to "en_US"。將 visualmask.vim 的第55行:
exec ":lan mes en_US"
改成以下即可解決:
exec ":lan mes en_US.utf8"g
安裝Ack
先裝ack-grep, sudo apt-get install ack-grep
git clone https://github.com/mileszs/ack.vim.git ~/.vim/bundle/ack.vim
vimrc中加入 :
map <F4> :Ack
光標停留在某函數或變量名上,按F4回車,即可全局搜索調用處

ctrlP找文件快捷
http://www.vim.org/scripts/download_script.php?src_id=19448
直接<Ctrl + p>,輸入文件名,可像sublime一樣快速定位文件。
