vimの便利なPlugin(その20)table-mode ~ vimで簡単テーブル作成

 

vimでオープンソースコードを読んでいてよくテキストで書かれたテーブルを見かけますが、どのようにして書いているのでしょうか。 テーブル内容を変更するとテーブルのサイズの調整が大変だったりしないでしょうか? そんな時に是非このプラグインを試してみると良いかと思います。  ここでは、以下の環境を前提にします。

  • CentOS6.8 x86_64
  • vim-7.4

Install

今回もdein.vimを前提とさせていただきます。 まだ、dein.vimを使っていない方は(その5)から。

call dein#add(‘dhruvasagar/vim-table-mode’)

これで「:call dein#install()」をコマンドラインモードで実行すれば、インストールは終了。

使い方

テーブルを書き始めるには、:TableModeToggle とすれば良いのですが、デフォルトで <leader>tm(<leader>は通常 \)にマップされています。 開始するとステイタスに”Table Mode Enabled”と表示されます。 終了するには、同コマンドを繰り返していただければ終了できます。 テーブルを作成していくには、次の様に | シンボルをタイプしてから内容を書き始めます。

|Oct | Dec | Hex | Char |

 | をタイプする度にそれがトリガーとなり、カラムの幅を自動で調整します。つまり自分でカラムの幅を考えて調整する必要が無く、必要なだけ内容を記述した後に | を入力するだけです。行間の区切りは、改行した後に | を2回入力します。

|Oct | Dec | Hex | Char |
+-----+-----+-----+------+

基本的にこれを繰り返していくことになります。 言葉で説明するより動画の方が分かりやすいかもしれませんのでこちらを参考にして見て下さい。

もし以下の動画にあるようにReST-compatible テーブルにしたい場合は、コーナーを + に変更したり、ヘッダーの次の区切りを = に変更できます。 その場合、.vimrcファイルに次の行を追加します。

let g:table_mode_corner_corner=’+’
let g:table_mode_header_fillchar=’=’

どうでしょうか、凄く便利ではないでしょうか? これだけではなく、CSVのようにカンマ区切りになったデータを矩形選択して <leader>ttとしていただくとテーブルが作成されます。 試してみて下さい。

また、一旦記述したテーブルにセルを追加したり、行を削除したり、カラムを削除したりできます。

  1. セルの追加。 追加したいセルにカーソルを持っていき i | または、 a | をタイプするとセルが追加される。 vimのインサートモードを連想できるので覚えやすいですね。
  2. 行の削除。<leader>tdd で行を削除できます。 (これは普通に行削除 dd するのでも良いのではと思ったりしますが。。。)
  3. カラム削除。 <leader>tdc でカーソルがあるコラムを削除できます。(試してみると、ヘッダー行の消したいカラムにカーソルを持っていくとヘッダーも含めカラムが削除されますが、そうでないとヘッダーは消されないようです。)

 

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら