LoginSignup
22
21

More than 5 years have passed since last update.

Qiita の テーブル記法を Vim で簡単に書く

Last updated at Posted at 2012-11-02

元データ

hoge huga piyo
foo bar baz
tsura poyo ponyo
inu neco tori

↑これをコピペしてハンズオンで試していただけると分かりやすいと思います.

データを整列する

vim-aligntaAlign を用いてデータを整列します.(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 という線を描くためのプラグインもあります.

参考

Vimエディタで線を描画する

22
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
21