VimでGraphvizのプレビューを行うにはwannesm氏のVim Plugin wmgraphviz.vimを使う方法がある。ここでは自分自身の防備録として、インストールから設定までをまとめる。
筆者の環境
- Ubuntu 16.04 LTS
- Vim version 8.0.946 (常に最新)
- Graphviz version 2.38.0
Graphvizのインストール
Ubuntu 16.04のパッケージリポジトリに、本記事執筆時で最新の(Version 2.38.0)Graphvizが収録されているのでそれをインストールする。
sudo apt install graphviz
wmgraphviz.vimのインストール
wannesm氏のwmgraphviz.vimをインストールする。
筆者はVim Pluginの管理にDeinを使っているのでwmgraphviz.vimのインストールには.vimrcに
call dein#add('wannesm/wmgraphviz.vim')
と書く。あとは
:call dein#install()
を実行すれば良い。
wmgraphviz.vimの設定
wmgraphviz.vimの設定は簡単である。wmgraphviz.vimのリポジトリのREADME.mdの説明にある通り、.vimrcに
let g:WMGraphviz_dot = "dot"
let g:wmgraphviz_output = "pdf"
let g:WMGraphviz_viewer = "xdg-open"
let g:WMGraphviz_shelloptions = ""
と記入するが、上記のうちwmgraphviz_outputは自分がdotコマンドで出力したいフォーマットを指定する。例えばsvgで出力したいなら
let g:wmgraphviz_output = "svg"
とする。
wmgraphviz.vimの使い方
dotファイルのコンパイル
<LocalLeader>ll
を押す。キーボードのマッピングを変更していなければ、通常<LocalLeader>は\キーなのでそれを押す。コマンド
:GraphvizCompile
を実行するのでもよい。
dotファイルのプレビュー
<LocalLeader>lv
を押す。コマンド
:GraphvizShow
を実行するのでもよい。
この場合、
dot -txlib hoge.dot
が実行され、dotコマンド自身でプレビューが表示される。コンパイル結果のファイルは生成されない。
dotファイルのコンパイルと結果の表示と編集
<LocalLeader>li
を押す。コマンド
:GraphvizInteractive
を実行するのでもよい。
この場合、wmgraphviz_outputに設定した形式でコンパイル結果のファイルが生成され、xdg-openでそれに適したプログラムで表示される。
実行例
digraph sample {
// 基本設定
graph [rankdir=LR];
node [shape=record, fontsize=7, width=2.0];
edge [fontsize=7];
// ノード
hoge [label="[顧客マスタ]|{
{ 顧客 id\l| 顧客名\l| 住所\l}|
{Int\l|VarChar[128]\l|VarChar[1024]\l}
}"];
piyo [label="[piyo]|{
{id\l| 顧客 id\l|piyo1\l|piyo2\l}|
{Int\l|Int\l|hoge1_type\l|hoge2_type\l}
}"];
// エッジ
piyo -> hoge [label="顧客 id = 顧客 id"];
}
上記のファイルをhoge.dot開き
<LocalLeader>lv
を押すと
というような図がプレビューされる。