NeovimでGo言語を快適に書きたい
最近Go言語を触り始めました。最初はvscodeとかatomを試してたんですけどなんかしっくりこなかったのでvimを使おうと思った。 でもvimも完全に「画面分割ができるメモ帳」のような使い方をしていたので、どうせならとneovimに移行した。移行というのも怪しいが。
Neovimを入れる
導入からinit.vimとかdein、deopleteなどのプラグインの設定はこちらを参考にしました。
Go用のプラグインを入れる
GitHub - fatih/vim-go: Go development plugin for Vim
GitHub - zchee/deoplete-go: deoplete.nvim source for Go
とか入れると良さそうだったのでこの2つを入れた。 下のようにgo.tomlとか作って{lazy : 1}で読み込んだ。 間違ってなければ多分これでgoファイルじゃないときはプラグインは読み込まれない。
#go.toml [[plugins]] repo = 'fatih/vim-go' on_ft = 'go' [[plugins]] repo = 'zchee/deoplete-go' build = 'make' on_ft = 'go' depends = ['deoplete.nvim'] hook_source = ''' let g:deoplete#sources#go#gocode_binary = $GOPATH . '/bin/gocode' '''
あと、deoplete-goのREADMEにも書いてあったけどgocode_binaryでgocodeのバイナリーのパスを設定しなければならなと動かない。なんでかわからないけど見落としてて最初「なんで動かんの……」って焦ってた。
go get -u github.com/nsf/gocode
まとめ
まだまだ使い始めたばかりですが、:wするだけでgo fmtを走らせてくれたりtestするとQuickfixリストを出してくれたり、とてもいいです。