vimでCSVを見やすくするためにコマンドを打つとハイライトを行うようにするスクリプト。
.vimrcに追加する。
ここを参考にしてカーソル位置のカラムのハイライトも行うようにした。
ソース
.vimrc
" csvファイルハイライト「:Csv [数値]」 と打つと、csvファイルでnカラム目のハイライトをしてくれるfunction! CSVH(x)
execute 'match Keyword /^\([^,]*,\)\{'.a:x.'}\zs[^,]*/'
execute 'normal ^'.a:x.'f,'endfunction
command!-nargs=1 Csv :call CSVH(<args>)" 「:Csvs」と打つと、現在のカラムをハイライトしてくれる
command! Csvs :call CSVH(strlen(substitute(getline('.')[0:col('.')-1],"[^,]","","g")))
使い方
指定したカラムをハイライト→:Csv 2
現在カーソル位置のカラムをハイライト→:Csvs
※Csv 2の「2」は0から数えたカラム位置。
aaa,bbb,ccc,dddというデータがあった場合、cccをハイライト表示する。
コマンド名は好きに変えられるので使いやすいように。
(vimでユーザコマンドを作るときは最初の文字が大文字じゃなくてはならないので注意)
リアルタイムでカーソル位置のカラムをハイライトするようにしようと思ったけど思いつかなかったのでここで終わり。なんかいい方法あるかな?