$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

Emacsでのテキストハイライトの話

 最近、まあまあ複雑なコードを読むときに、これとこれをハイライトしておきながら見たい、ということが多くありました。それでちょうど関西Emacsもあるし、そういうこと聞くかーと思って聞いてみたら、それっぽいものがあったので紹介します。

auto-highlight-symbol

 これは設定しておくだけで、今カーソルがあたったところにあるsymbolにマッチするものを、自動的にハイライトしてくれるものです。

 auto-highlight-symbolはMELPAに存在しないので、el-getを使っていれます。こういう感じで、el-get-sourcesに定義を追加して、

M-x el-get-install auto-highlight-symbol

のようにすればインストールできます。

 設定もとりあえず以下を追加すれば動きます。

(require 'auto-highlight-symbol-config)

highlight-symbol

 auto-highlight-symbolは今見ているのがどのへんにあるのかなというのをさっと見たいときには便利です。とは言え、ハイライト状態を維持した状態でコードリーディングしたいというのが最初の目的です。

 探してみるとhighlight-symbolを使えば、やりたいことが出来そうです。

 こんなかんじで使えます。

 こちらはMELPAにあるので、普通に入れられます。

M-x package-install highlight-symbol

 設定は以下のようにします。

(require 'highlight-symbol)
(setq highlight-symbol-colors '("DarkOrange" "DodgerBlue1" "DeepPink1")) ;; 使いたい色を設定、repeatしてくれる

;; 適宜keybindの設定
(global-set-key (kbd "<f3>") 'highlight-symbol-at-point)
(global-set-key (kbd "M-<f3>") 'highlight-symbol-remove-all)

まとめ

 今回はEmacsのテキストのハイライトについて少し設定してみました。普通にEmacs標準でhi-lock-modeというのもあるみたいだけど、ぱっと使うの出来なくてhighlight-modeとauto-highlight-modeの併用で今はやってみています。