VimにおけるVerilog開発環境については、ここ数年で色々なプラグインが標準サポートしてきた。
整理のために、今回はVerilog関連のプラグインの設定を少しまとめたいと思う。
スニペット
今年になって、neosnippetsがVerilogを標準サポートしている。
neosnippet-snippets/verilog.snip at master · Shougo/neosnippet-snippets · GitHub
そのためNeoBundle等でneosnippetsを入れると、そのままVerilog用のスニペットを利用できるようになる。
構文チェック
Verilogの構文チェックについては、syntasticが少し前から標準サポートしている。
NeoBundleでsyntasticを入れる場合は以下を.vimrcへ。
NeoBundle 'scrooloose/syntastic'
またこのVerilogの構文チェックを有効化するにはVerilatorのインストールが必要になる。
homebrew経由だと以下でインストール。
brew install verilator
なおこのsyntastic & verilatorのサポートは結構強力で、入れた時は最強のVerilogエディター誕生みたいな気分になれる。
以下はファイル保存時に表示される構文チェックの結果例。異常な構文の箇所に「>>」赤文字が、最下部に何が異常かの警告が出る。
ブロック間のジャンプ
matchit.vimを有効にすると、そのままbegin〜end、module〜endmoduleなどVerilogのブロック間を%でジャンプできるようになる。またhl_matchit.vimなども普通に動く。
matchit.vimはデフォルトで格納されているので、有効化は.vimrcに以下を挿入すればできる。
:source $VIMRUNTIME/macros/matchit.vim
入力補完
「verilog.dict vimrc」などでウェブ検索すると、Verilog固有の辞書ファイルが見つかる。参考にして自作したり、ライセンスの範囲内で流用したりして、neocomplcache・neocompleteなどに登録すれば、Verilogの入力補完ができるようになる。