Vimは、組み込みでいくつかの言語のコンパイル設定ファイルを持っている。 Debian, Vim 8.1なら、/usr/share/vim/vim81/compiler
の下に ${言語名}.vim
というファイルが置いてある。golangなら /usr/share/vim/vim81/compiler/go.vim
。このPATHは runtimepath
か packpath
を見ればみつかる。
これを読み込むことで (拡張子で自動で読んでくれるわけではないらしい?) quickfix errorformatが適用される。
:compiler! go.vim
必要があれば autcmd
などで拡張子毎の設定をしておくと良さそう。
その他
:help compiler
によると
What the command actually does is the following:
- Delete the "current_compiler" and "b:current_compiler" variables.
- Define the "CompilerSet" user command. With "!" it does ":set", without "!"
it does ":setlocal".
- Execute ":runtime! compiler/{name}.vim". The plugins are expected to set
options with "CompilerSet" and set the "current_compiler" variable to the
name of the compiler.
- Delete the "CompilerSet" user command.
- Set "b:current_compiler" to the value of "current_compiler".
- Without "!" the old value of "current_compiler" is restored.
compiler/{name}.vim
を読んでみると、makeprg
(:make
が発効されたときのコマンド)とerrorformat
が設定されているようだ。 errorformatを自分で書くときののexampleとしても役立つ。
参考
:help runtime
:help compiler
:help current_compiler
:help makeprg