Pull Requestが本家 vital.vimにマージされたので、紹介します。
これは何か
vim scriptから文字テーブルを作成することが簡単にできます。
perlのText::UnicodeTable::Simpleと似た感じです。
使い方
簡単な使い方を以下に載せます。
なお、ここでは題材に私の使用しているプラグインからいくつか抜粋して記載していますが、適当に抽出しただけで特に他意はありません。
これだけ複雑な表が簡単に作れてしまう!
実装している機能は、
- ヘッダの設定
- フッタの設定
- 列単位での水平/垂直方向の文字揃え
- 列単位での幅指定
- ボーダ有無の設定
- 列幅指定時、セル内での文字列自動折り返し
となかなか高機能です。
セルの結合に関しては、要望があればそのうち実装するかもしれません。
lets:V= vital#of('vital')lets:T=s:V.import('Text.Table')
unlet s:V
" オブジェクトの作成lets:table=s:T.new()" カラムの設定" 水平方向に右揃えの列を追加calls:table.add_column({'halign': 'right'})" デフォルト設定で列を追加calls:table.add_column({})" 垂直方向に中央揃えの列を追加calls:table.add_column({'valign': 'center'})" 幅20桁の列を追加calls:table.add_column({'width': 20})" ヘッダの設定calls:table.header(['No.','プラグイン名','作者','説明'])" フッタにはヘッダと同じものを表示calls:table.footer(s:table.header())" 行を追加していくcalls:table.add_row([1,'gist-vim','mattn','vimからgistの投稿、閲覧、更新ができる。'])calls:table.add_row([2,'qiita-vim','mattn','vimからqiitaの投稿、閲覧、更新ができる。'])calls:table.add_row([3,'vim-ref','thinca','vimから各種ドキュメントを閲覧できる。'])calls:table.add_row([4,'vim-quickrun','thinca','これがないと仕事にならない。'])calls:table.add_row([5,'calendar.vim','itchyny','vimからgoogleカレンダーを閲覧、編集ができる。使い勝手と見た目がとても良い。'])calls:table.add_row([6,'w3m.vim','yuratomo','vim上でw3mを使ったブラウジングができる。'])calls:table.add_row([7,'j6uil.vim','basyura','vimからチャットサービスのlingrに接続できる。'])calls:table.add_row([8,'previm','kannokanno','vimからmarkdownのプレビューができる。'])" 文字列化" ※等幅フォントで閲覧ください。qiitaだと斜体になるので、あまり綺麗に見えないかも。" +-----+--------------+------------+----------------------+" | No. | プラグイン名 | 作者 | 説明 |" +-----+--------------+------------+----------------------+" | 1 | gist-vim | mattn | vimからgistの投稿、 |" | | | | 閲覧、更新ができる。 |" | 2 | qiita-vim | mattn | vimからqiitaの投稿、 |" | | | | 閲覧、更新ができる。 |" | 3 | vim-ref | thinca | vimから各種ドキュメ |" | | | | ントを閲覧できる。 |" | 4 | vim-quickrun | thinca | これがないと仕事にな |" | | | | らない。 |" | 5 | calendar.vim | | vimからgoogleカレン |" | | | itchyny | ダーを閲覧、編集がで |" | | | | きる。使い勝手と見た |" | | | | 目がとても良い。 |" | 6 | w3m.vim | yuratomo | vim上でw3mを使ったブ |" | | | | ラウジングができる。 |" | 7 | j6uil.vim | | vimからチャットサー |" | | | basyura | ビスのlingrに接続で |" | | | | きる。 |" | 8 | previm | kannokanno | vimからmarkdownのプ |" | | | | レビューができる。 |" +-----+--------------+------------+----------------------+" | No. | プラグイン名 | 作者 | 説明 |" +-----+--------------+------------+----------------------+for row ins:table.stringify()
echo row
endfor