誰もsymbol-overlay
モードについて言及していません。基本的にはのより良い書き直しですhighlight-symbol-mode
。のように「より良い」は、元のハイライト記号のバグがなく(一時的なハイライトが動かなくなったり、強調表示された単語内を移動するために一時的なハイライトが消えたり、のような記号を強調表示できなくなったりするなど*
)、より適切に統合され、維持されます。READMEの「利点」の段落を参照してください。
で、通常どおりインストールできますM-xpackage-install (事前にパッケージリストを更新してくださいpackage-list-packages
)。参考までに、下部に、モードを有効にし、必要な場合と不要な場合があるいくつかのより高度な機能を無効にするために使用するコードを添付しました。
Notepad ++には便利な機能があります。テキスト内の単語(必ずしもキーワードである必要はありません)を選択すると、その単語はテキスト全体で強調表示されます。これはEmacsでも実行できますか?もしそうなら、どのように?
を有効にするoverlay-symbol
と、タイムアウト後にカーソルを置いた単語ごとに画面上のオカレンスが表示されます(デフォルトではタイムアウトは0.5秒で、symbol-overlay-idle-time
変数で構成できます)。単語が強調表示されない場合、これは画面上に一致するものが1つだけ(カーソルを置いたもの)であることを意味します。したがって、単語を強調表示する必要はありません。
ハイライトが永続的である場合、つまり、ハイライトされた単語からポイントを移動してもハイライトが削除されないようにすることができれば素晴らしいと思います。
カーソルの下の単語を永続的に強調表示する機能があります symbol-overlay-put
。ハイライトを解除するには、もう一度呼び出します。
私の設定例では、Logo+`キーにバインドされています。
(require 'symbol-overlay)
(defun enable-symbol-overlay-mode ()
(unless (or (minibufferp)
(derived-mode-p 'magit-mode)
(derived-mode-p 'xref--xref-buffer-mode))
(symbol-overlay-mode t)))
(define-global-minor-mode global-symbol-overlay-mode
symbol-overlay-mode
enable-symbol-overlay-mode)
(global-symbol-overlay-mode)
(global-set-key (kbd "s-`") 'symbol-overlay-put)
(setq symbol-overlay-ignore-functions nil)
(setq symbol-overlay-map (make-sparse-keymap))