modify ShowInvisibleCharacters.vim

直接的には http://d.hatena.ne.jp/janus_wel/20091120/1258698899 の続きなんだけど今回の修正に至るまでにいろいろなことがあったわけで。えーととりあえず id:thinca のツッコミ ( http://d.hatena.ne.jp/thinca/20091121/1258748377 ) に始まりおれがそれに反応して書き連ねていって ( http://d.hatena.ne.jp/janus_wel/20091122/1258872759 , http://d.hatena.ne.jp/janus_wel/20091122/1258878500 ) やっぱり thinca さんに comment で advice をもらいつつ ( http://d.hatena.ne.jp/janus_wel/20091122/1258878500#c ) 必要になる知識を勉強して ( http://d.hatena.ne.jp/janus_wel/20091201/1259682937 ) やっと修正に至る、と。

でまぁごちゃごちゃ説明するよりも見てもらった方がはやいということで。

大きな、かつ重要な変更は http://github.com/januswel/dotfiles/commit/de8fb303ab7c798b17eb008be5f09e62f5975c9a なんだけど advice の通りに window local な変数を使って管理するように変更してる。こうすると window に出入りするたびにいちいち matchdelete() する必要がなくなる ( 正確にはその必要がないことがわかった ) のですでに可視化済みかのみを確認する code に変更。あと付随して autocmd の event を WinEnter ( と VIMEnter ) に変更、と。他は整形とかなんだけど tab space ( CHARACTER TABULATION ) の可視化をこの plugin で自動的に行うのはやめて手動でやる mapping を .vimrc に定義したってのが変更点といえば変更点 ( http://github.com/januswel/dotfiles/commit/60ac1b15fab1d42d45954961f2e9a962d27dca68 ) 。

というわけでけっこういいもんに仕上がったと思うよ。最後にもっかい、 thinca さん本当にありがとう。いろいろ勉強になりましたっ。