ふと、コンソール上でアスキーアートでフロー図を作成する方法ってあるのかなと調べてみたところ、vim以外だと2つほど見かけたので記述してみる。
1. groffを用いる
manページの作成などに用いられるgroffを用いることで、roffのフォーマットを使ってアスキーアートでフロー図を簡単に生成できるらしい。 以下、実行例。
blacknon@BS-PUB-UBUNTU-01:~$ cat ascii.roff
.PS
box "box1";
line
box "box2";
.PE
blacknon@BS-PUB-UBUNTU-01:~$ groff -T ascii -p ascii.roff | head -5
+------+ +------+
| +-----| |
| box1 | |box2 |
+------+ +------+
blacknon@BS-PUB-UBUNTU-01:~$ groff -T ascii -p <(echo -e '.PS\nbox "box1";\nline\nbox "box2";\n.PE') | head -5
+------+ +------+
| +-----| |
| box1 | |box2 |
+------+ +------+
2. graph-easyを用いる
perlで書かれているツールで、graph-easyというコマンドを使うことで、特定のフォーマットで記述された内容をパイプで渡してアスキーアートのフローチャートを生成させることができるようだ。 Ubuntuであればaptからインストールが行える。
blacknon@BS-PUB-UBUNTU-01:~$ echo "[box1] -- test --> [box2-1],[box2-2]" | graph-easy
+--------+ test +--------+
| box1 | ------> | box2-1 |
+--------+ +--------+
|
| test
v
+--------+
| box2-2 |
+--------+
もっと細かく指定可能で、 日本語だとこちら、及びこちらの情報が参考になるので、細かい使い方についてはそちらを参考にするといいだろう。