元データ
hoge huga piyo
foo bar baz
tsura poyo ponyo
inu neco tori
↑これをコピペしてハンズオンで試していただけると分かりやすいと思います.
データを整列する
vim-alignta や Align を用いてデータを整列します.(vim-alignta のほうがおすすめ)
左詰めや右詰め,中央揃えなど簡単に指定できます.(詳しくは各プラグインの help を見て下さい)
hoge huga piyo
foo bar baz
tsura poyo ponyo
inu neco tori
横線を引く
hoge の行と foo の行の間に横線を引きたいとします.
まず,hoge の行と foo の行の間に空行を入れ,
hoge huga piyo
foo bar baz
tsura poyo ponyo
inu neco tori
次に 16i-<Esc>
と入力します.i
の前に数字を入力してからインサートモードに入ることで,入力した文字を数字回数分だけ入力できます.適当に多めの数字を入力しておいて,あとでいらない - を D
で削除するのが楽だと思います.
hoge huga piyo
----------------
foo bar baz
tsura poyo ponyo
inu neco tori
縦線を引く
例えば hoge と huga の間に縦線を引きたい場合,huga の直前で <C-v>
を押してブロック矩形選択し,neco の直前までカーソルを持って行き,r|
とすると縦線を引くことができます.行の右端や左端に縦線を入れる場合は置き換えではなく一斉挿入しないといけないので,代わりに I|<Esc>
を使います.
hoge |huga piyo
-----|----------
foo |bar baz
tsura|poyo ponyo
inu |neco tori
他の部分にも同様にして縦線を引けます.
: を入れる
左/右/中央揃えをするためのコロンを入れます.
これはあまり良い方法が思いつかなかったですが,横線を引いた行で適当に f|
と ;
で移動しながら r:
していく方法が考えられます.
出来上がり
|hoge |huga|piyo |
|:----|---:|:---:|
|foo |bar |baz |
|tsura|poyo|ponyo|
|inu |neco|tori |
hoge | huga | piyo |
---|---|---|
foo | bar | baz |
tsura | poyo | ponyo |
inu | neco | tori |
線を引く専用のプラグインを入れなくても,矩形選択などを使えば Vim なら簡単に表が書けます.
線を描くプラグイン
線を描く機会が多い人は DrawIt.vim という線を描くためのプラグインもあります.