ハイライトしたい範囲の開始ポイントと終了ポイントを指定すると 一時的に指定範囲をハイライトする。 ハイライトする時間はデフォルトは 0.1秒なので、一瞬キラっとする感じ。
;; require する (require 'volatile-highlight) ;; 使う (volatile-highlight 1 10) ; 開始位置、終了位置 (volatile-highlight 1 10 2) ; 開始位置、終了位置、ハイライトさせる時間(秒)
ハイライトに使っているフェイスは volatile-highlight-face
で、たとえば背景色を変えたい場合は
(set-face-background 'volatile-highlight-face "#ff8")
のように指定する。
デフォルトのハイライト持続時間を変更したい場合は volatile-highlight:default-duration-sec
に秒数をセットする。
(setq volatile-highlight:default-duration-sec 10)
eval-defun または eval-last-sexp して一瞬キラッとさせたい場合の例:
(require 'thingatpt) ; for beginning-of-sexp (defadvice eval-defun (after blink-after-eval-defun activate) (let (beg end) (save-excursion (end-of-defun) (forward-char -1) (setq end (point)) (beginning-of-defun) (setq beg (point))) (volatile-highlight beg end 0.2))) (ad-activate 'eval-defun) (defadvice eval-last-sexp (after blink-after-eval-last-sexp activate) (let (beg end) (save-excursion (setq end (point)) (beginning-of-sexp) (setq beg (point))) (volatile-highlight beg end 0.2))) (ad-activate 'eval-last-sexp)
追記 2011-10-26
修正しました。変更点は以下の通り。
- 複数の箇所を同時にハイライトできるようにした
- volatile-highlight の3番目の引数で持続時間を指定できるようにした(optional)
- 変数名などを修正
関連記事
- 2010-05-16 hi-list.el: カーソルを含んでいるリストを常時ハイライトするマイナーモード http://haraita9283.blog98.fc2.com/blog-entry-376.html
参考
- 2014-08-12 volatile-highlights.el — 操作に視覚的フィードバックを与える … 名前が微妙に被ってしまいましたね…。
- 2009-11-09 S式評価のためのちっちゃい拡張を集めた eval-sexp-fu.el というのを創りました。 評価している式をキラッとさせたりします。 - hchbaw記