もた日記

くだらないことを真面目にやる

Vimメモ : Rainbow CSVでCSVデータのカラムを色分け表示

Rainbow CSV

github.com

Rainbow CSVというCSVやTSVデータのカラムを色分け表示してくれるVimプラグインがあったので試してみる。

f:id:wonder-wall:20180204164830p:plain


インストール

他のプラグインと同じようにインストールすればよい。例えばvim-plugの場合はvimrcに下記行を追加して:PlugInstall

Plug 'mechatroner/rainbow_csv'


使い方

Rainbow CSVにはカラムをハイライトする機能とRBQL(RainBow Query Language)と呼ばれるSQLライクなクエリ言語を提供する機能がある。

ハイライト

下記リンクにテスト用のcsv, tsvファイルがあるのでこれを使ってみる。

https://github.com/mechatroner/rainbow_csv/tree/master/python/test_datasets

ハイライトに関してはファイル内容に応じて自動判別するらしく拡張子は.csv, .tsvでなくてもよい。
ハイライトを無効にしたいときは:NoRainbowDelimを実行する。 ハイライトを有効にしたいときは:RainbowDelimを実行すればよいが、この際カーソルの下の文字がデリミタになるので注意。

f:id:wonder-wall:20180204170910p:plain

RBQL(RainBow Query Language)

RBQLはSQLライクな言語でSELECT, UPDATE, WHERE, ORDER BY, JOIN, GROUP BYなどが使えるようだ。 RBQLを使うにはCSVファイルなどを開いている状態でF5キーを押す。

f:id:wonder-wall:20180204172438p:plain

クエリを編集する画面が表示されるので、例えばクエリを以下のように編集してF5キーを押すと絞り込まれた結果が表示される。

# modify:
select a1, a3 where a3 == "2015" order by a1

f:id:wonder-wall:20180204173313p:plain

RBQLについての説明はREADMEに書いてあるが使いこなすのは大変そう。