Vimで表をみやすく整形

Emacsで表を記述する際に使用していたtable.elというelispがありますが、Vimでも同様な便利なプラグインが無いか探してみました。

これというものは探せませんでしたが、table_format.vimというものを発見したので方法をメモ。


簡単な表を作成する際に、以下のフォーマットのようにスペース区切りで記述したとします。

header1 header2
data1 data2
datadata3 data4

この状態でC-vにて範囲を選択し、\tを押すと

header1   header2
data1 data2
datadata3 data4

な感じで整形してくれます。これでも十分ですが、先に:s/ / | /gしておくと

header1   | header2
data1 | data2
datadata3 | data4

となり、もう少しみやすくなります。

本当はこんな表が理想なんですが…。いいスクリプトがあったらお願いします。

 | header1   | header2 |
| --------- | ------- |
| data1 | data2 |
| datadata3 | data4 |