- 締切済み
emacs ediffで全角、半角の区別なしの検索
emacs ediffで、日本語の全角、半角を区別しないで検索する方法を教えてください。mac Sierraでemacs 25.2、または、windows7(off-line) cygwin のemacs 24.5位を使っています。 google検索してみましたが、上手くヒットしません。 とりあえずの対応策として、ediff-buffersを走らせる前に、全領域にjapanese-zenkaku-region を適用するようにしています。ですから、これをhook?などで「自動化」してくれる方法でも結構です。ただし、elispはかろうじて読める程度の知識レベルです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- trapezium
- ベストアンサー率62% (276/442)
> google検索してみましたが、上手くヒットしません。 ediff というより diff コマンドの機能ですから、検索するなら全角半角を無視するような diff の拡張、改造版ですね。 ediff の #i (ignore case) コマンドだと diff -i の拡張みたいな感じで探せばありそうな気はします。 > japanese-zenkaku-region を適用するようにしています。ですから、これをhook?などで「自動化」してくれる方法でも結構です。ただし、elispはかろうじて読める程度の知識レベルです。 これでいいなら (add-hook 'ediff-prepare-buffer-hook (lambda () (japanese-zenkaku-region (point-min) (point-max) 'kana-only))) 片仮名以外も全角にするなら 'kana-only 消すか nil に。 ただ初期状態だと元々半角の部分がハイライトされたままなので ! (update) してみてください。ちょっと挙動が変な気もしますが、他の hook とかだと面倒な感じですし、! すればいいということの気もします。 あと試すのは上記コードを *scratch* に貼り付けて C-j それで良ければ .emacs or init.el に yank
お礼
回答、ありがとうございました。 diff でgoogle検索してもヒット数が多すぎたり、絞り込むとヒットしなかったりで、見つかりませんでした。しかし、hookを使う方法はうまくいきました。