isearch-decoとigsearchの比較
どちらも標準で付いているisearch(インクリメンタルサーチ)に色分けとか色々追加機能をしてくれるlispだけど。この二つは、どうやら競合してしまうようなので、どちらを使うか選ばないといけないようで、難しい所。結構一長一短あるので悩ましいメモ
■検索対象の色分け
isearch-decoもigsearchも同じような感じに検索対象を色分けをする。isearch-decoは色とかは細かく指定できるような気がする。逆に言うと指定しないといけないので設定はやや面倒。
■検索
igsearhだとbuffer内に複数該当するのがある場合は、別のWindowで該当行を色分けして表示してくれるのが便利。だけど、この辺表示Windowを適当に操作すると何か色々エラーも出るような気がするので、ある意味微妙な箇所ともいえるかも。
isearch-decoだとM-gでGrepで似たような事も出来るけど全部のbufferやるので少し違う。まあ、そんなには違わないけど。後、分裂したWindowに色は付かない。decoやっていた時にはpsearchとか対象がポップアップするのを同時に入れる感じで使っていたので実質的にはそんなに差がないようなことはできる。
■Migemo
igsearchはmigemoのUIも組み込まれているので、バラバラに入れなくても統合された感じでMigemoが使える。逆に言うとmigemoのUIがigsearchに依存してしまうので汎用性は下がると思われ。
■正規表現
regexpはigsearchもdecoも両方ともUIがあるけど。igsearchはregexpで入力すると何かバグって止まる時があるので、decoの方がインクリメンタルで使える所にはメリットがあるように思う。
エスケープシーケンスに関してはigsearchの方が切り替えるUIが付いていて利点があると思う。
■導入
機能的には甲乙付けがたいが、導入が楽なのは明らかにigsearchだと思う。
■汎用性
汎用性はどちらも低いけど、igsearchの方が色々機能取り込んでいるので、楽な分流用は難しそう。
個人的には、色分けの拡張とか別にあると重複は相当避けれそうに思ったり。後はisearchが引数付きで受け取ってくれたら、他のモードとかでも、機能の途中から値をisearchに渡してとかも出来るんだけど。それを何とかできないかと考えてみたけど、isearchの完成度が高い分、色々変えないと動いてくれそうになくて、面倒な雰囲気。後は、やっぱり、インクリメンタルに色つけるならre-builderとかと別々に入れてやるしかないってのは微妙。結局検索して色つけているわけで、なんかやるせない。