Vim で、Boost.PP を読みやすくする
みたいなやり取りがあって、Vim のシンタックスハイライトを設定して、視覚的に【BOOST_PP】を消してみました。
ついでに、個人的に読みづらい【大文字→小文字】にも変更。
視覚的に変えているだけなので、実際のコードが変更されているわけではありません。
ついでに、個人的に読みづらい【大文字→小文字】にも変更。
視覚的に変えているだけなので、実際のコードが変更されているわけではありません。
[_vimrc]
" BOOST_PP を消す " とりあえず、filetype=cpp の場合に設定が有効になるように設定 autocmd Filetype cpp call <SID>boost_pp_syntax() function! s:boost_pp_syntax() if exists("b:boost_pp_syntax") return endif let b:boost_pp_syntax=1 " BOOST_PP_(+PP_) を _ に変更して表示 syntax match boost_pp /BOOST_PP_/ transparent conceal cchar=_ syntax match pp /\<PP_/ transparent conceal cchar=_ " 大文字→小文字に変更して表示 " 速度が気になる場合は、以下をコメントアウト " ---- ここから ---- let i = 0 let a_z = "abcdefghijklmnopqrstuvwxyz" while i < strlen(a_z) let c = a_z[i] execute "syntax match ".c." /".toupper(c). \ "/ contains=boost_pp,pp transparent conceal cchar=".c let i += 1 endwhile syntax match boost_pp /BOOST_PP_/ transparent conceal cchar=_ syntax match pp /\<PP_/ transparent conceal cchar=_ " ---- ここまで ---- " おまけ、[] を λで表示 " パースは適当 syntax match lambda /[[]]/ transparent conceal cchar=λ endfunction
[使い方]
コマンド | 動作 |
---|---|
set conceallevel=1 | BOOST_PPを消す |
set conceallevel=0 | ハイライトを戻す |
[比較してみる]
↓↓↓↓
こんな感じです。
まぁコードリーディングする分にはいいんじゃないのかなーと。
個人的にかなり見やすくなったと思います。
あとハイライト回りの設定は結構適当なので、もしかしたらうまく変換されないかも。
[注意]
【大文字→小文字】に変換している部分はかなり強引に変換しているので、ぶっちゃけ重いです……重いです!!
気になるようなら _vimrc のソースからコメントアウトするなりして下さい。
むしろ、『こうした方がいい!!』みたいな意見があれば教えて教えて下さい!