85

Notepad++ has a convenient feature: if you select a word in your text (not necessarily a keyword), the word is highlighted throughout the text. Can this be done in Emacs as well? And if so, how?

It doesn't necessarily have to work exactly like Notepad++ (i.e., via selection); ideally, I would like to set up a key binding that causes all occurrences of the word under cursor to be highlighted.

It would be great if the highlights were permanent, i.e., moving point away from a highlighted word should not cause the highlight to be removed.

Also, it would be useful if there was a solution that made it possible to navigate between highlights (using custom key bindings).

4

13 に答える 13

90

hi-lock提案は良いです。M-xただし、バージョンを使用する方が簡単だと思います。

M-x highlight-regexp RET <REGEXP>

M-x highlight-phrase RET <REGEXP>

highlight-phrasehighlight-regexp大文字と小文字を区別せず、正規表現のスペースを任意の空白に一致するように変換するちょっとした砂糖です。ハンディ。

于 2009-01-09T04:11:12.427 に答える
42

http://nschum.de/src/emacs/highlight-symbol/の highlight-symbol.elが探しているものかもしれません:

代替テキスト

于 2008-12-23T00:50:53.773 に答える
37

を入力C-sしてから、現在の単語を入力するか、 を入力しC-wます。おまけとして、C-sもう一度ヒットして単語を検索できるようになりました。

これはインクリメンタルサーチと呼ばれます。

于 2008-12-22T08:53:30.727 に答える
15

私が使用しているのはアイドルです-ハイライト

http://www.emacswiki.org/emacs/IdleHighlight

Mx idle-highlightは、ポイントの下の単語のバッファー内のすべての出現を強調表示するアイドルタイマーを設定します。

すべてのプログラミングモードで有効にするには、次のようにします~/.emacs.d/init.el

;; highlight words
(add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))
于 2011-04-28T08:59:45.943 に答える
10

Light-symbol will highlight whatever symbol point is over.

Alternately, you can use occur, which lists all lines matching a regexp. It's useful to quickly see all functions in a class.

于 2008-12-22T06:39:10.997 に答える
6

http://www.emacswiki.org/emacs/msearch.elを試してください 。カーソルで選択されたテキストの出現箇所がすべて強調表示されます。ハイライトしたい文字列をドラッグする必要があります。これにより、ハイライトを変更せずに選択を簡単に変更できます。

文字列の強調表示を保持したい場合は、フリーズできます。

バッファーを別のバッファーにスレーブ化できます。マスター バッファーで選択されたテキストは、スレーブ バッファーでも強調表示されます。これは、バッファを比較するのに役立ちます。また、別のバッファーでテキストを調べている間に、あるバッファーでメモを取るのにも役立ちます。ノート バッファにキーワードのコレクションを含めることができます。そのようなキーワードの上にドラッグすると、調査対象のテキストでのその出現箇所が強調表示されます。

私はこのものを何年も使用しています。ごく最近、凍結を追加しました。だから、何かが壊れているのかもしれません。その場合は、 http://www.emacswiki.org/emacs/msearchまたはここにメモを残してください。

于 2013-08-22T16:09:22.717 に答える
6

This may not be as nice as what you were hoping but if you put

(global-hi-lock-mode 1)

in your .emacs file then you can type C-x w h REGEX <RET> <RET> to highlight all occurances of REGEX, and C-x w r REGEX <RET> to unhighlight them again. Again, not as elegant as you'd probably like, but it'll work.

于 2008-12-22T06:37:27.193 に答える
5

Check Interactive Highlighting

Should be:

C-x w h word <RET> <RET>

于 2008-12-22T06:37:38.863 に答える
2

ライブラリのコマンドをhighlight.el 使用すると、オーバーレイまたはテキスト プロパティを使用して、正規表現 (この場合はシンボル) に一致するテキストを (非) 強調表示できます。オカレンスを切り替えることができます。強調表示は、一時的または永続的です。(詳細) .

于 2011-09-05T06:38:39.737 に答える
2

ieditを試してください。ポイントで単語を強調表示し、その単語のすべての出現箇所を簡単に編集できます。追加のキーストローク (C-') を使用すると、その単語を含まないすべての行が非表示になります。とても便利な!

于 2011-10-31T03:45:30.290 に答える
0

これは強調表示されないかもしれませんが、入力する必要なく単語を検索します...

検索したい単語CSに到達したら、CWで単語全体を読み、CSを実行すると検索されます。私の Emacs では、ドキュメント内のすべてのインスタンスも強調表示されます。

于 2018-02-20T18:46:54.783 に答える
0

メルパワークスで利用できるこのパッケージは、ハイライト スタイルもカスタマイズできます。

https://github.com/ignacy/idle-highlight-in-visible-buffers-mode

于 2018-10-23T12:55:34.397 に答える