LoginSignup
16
12

More than 5 years have passed since last update.

Go開発向けVim設定

Last updated at Posted at 2015-12-09

自分用覚え書き程度ですが。

プラグインを入れる

使うのはvim-goとtagbarの2つ。
vim-goはgoのための色々な機能を提供してくれているので、これだけでもいいんだけどタグ表示もしたいのでtagbarも入れる。

これはおなじみのNeobundleのお世話になって

NeoBundle 'majutsushi/tagbar.git'
NeoBundle 'fatih/vim-go.git'

vim-goの設定

vim-goをインストールしたら

:GoInstallBinaries

としてあげると諸々入る。
個人的によく使うのは

  • :GoRun
  • :GoBuild
  • :GoImport
  • :GoImplements
  • :GoDoc
  • :GoTest

あたり。:GoFmtは保存するときに自動的に実行されるからあんまり気にしない。
よくつかうのはキーマップに割り当ててあげる。

autocmd FileType go nmap <Space>gr <Plug>(go-run)
autocmd FileType go nmap <Space>gb <Plug>(go-build)
autocmd FileType go nmap <Space>gt <Plug>(go-test)
autocmd FileType go nmap <Space>gc <Plug>(go-coverage)
autocmd FileType go nmap <Space>gd <Plug>(go-doc)
autocmd FileType go nmap <Space>gi <Plug>(go-import)
autocmd FileType go nmap <Space>gm <Plug>(go-implements)

あとはハイライトの設定で

let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_highlight_functions = 1
let g:go_highlight_build_constraints = 1

タブ設定

goはハードタブを使うのがマナーらしいので

autocmd FileType go setlocal noexpandtab
autocmd FileType go setlocal tabstop=4
autocmd FileType go setlocal shiftwidth=4

Tagbarの設定

tagbarはtagの一覧を表示してくれるプラグイン。
vim-goがtagbarサポートも持っているので、特に固有設定しなくてよかったはず。

let g:tagbar_left = 0
let g:tagbar_autofocus = 1

としておくと、Tagbarを開くときに一覧が画面右側に表示されて、自動的にフォーカスがそちらに移るようになる。
タグ一覧が折りたたまれているときはoで開閉できる。
tagbarの表示/非表示切り替えは

:TagbarToggle

で出来るのでキーマップを割り当てておくのがいいかと。

16
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
12