eclipseだとカーソル位置のシンボルをハイライトできるのが地味に便利だったので、emacsでできないかと探したところ
まさにこれ、というのが見つかりました。
auto-highlight-symbol-mode
https://github.com/mitsuo-saito/auto-highlight-symbol-mode
install
auto-install-from-urlでインストールしました
M-x auto-install-from-url https://raw.github.com/mitsuo-saito/auto-highlight-symbol-mode/master/auto-highlight-symbol.el
設定
コメントにあるとおりに~/emacs.d/init.elに設定しました
(require 'auto-highlight-symbol) (global-auto-highlight-symbol-mode t)
使い方
上記の設定をするだけで、カーソル位置のシンボルがハイライトされるようになります
すばらしく使い勝手がよいです。
キー | function | 機能 |
---|---|---|
M- |
ahs-backward | 前のシンボルへ移動 |
M- |
ahs-forward | 次のシンボルへ移動 |
M-s- |
ahs-backward-difinition | ? |
M-s- |
ahs-forward-definition | ? |
M-- | ahs-back-to-start | 最初のカーソル位置のシンボルへ移動 |
C-x C-' | ahs-change-range | ハイライトする範囲を表示しているディスプレイの範囲かバッファ全体かを切り替える |
C-x C-a | ahs-edit-mode | ハイライトしているシンボルを一括でrenameする |
ahs-edit-modeがとても便利に使えそうです。eclipseでいうrefactoring->renameですね。
ハイライトしている範囲しかrenameできませんが。
ファイルをまたいで一括で置換したいときは、moccur-editを使います。
参考)
http://d.hatena.ne.jp/higepon/20061226/1167098839
あと、ahs-backward-definitionとahs-forward-definitionがよくわからない。
カスタマイズ
ハイライトするまでの時間を変更してみました。デフォルトは1秒です。
(ahs-set-idle-interval 0.8)