Jak wyróżnić wszystkie wystąpienia słowa w buforze Emacs?

Notepad++ ma wygodną funkcję: jeśli zaznaczysz słowo w tekście (niekoniecznie słowo kluczowe), słowo to zostanie podświetlone w całym tekście. Czy można to zrobić również w Emacsie? A jeśli tak, to w jaki sposób?

Niekoniecznie musi działać dokładnie tak, jak Notepad++ (tj. poprzez zaznaczenie); najlepiej, chciałbym skonfigurować powiązanie klawiszy, które spowoduje, że wszystkie wystąpienia słowa pod kursorem będą podświetlone.

Byłoby świetnie, gdyby pasemka były stałe, czyli ruchome poza podświetlonym słowem powinno Nie spowodować usunięcie podświetlenia.

Przydałoby się również rozwiązanie, które umożliwiłoby poruszanie się między podświetleniami (przy użyciu niestandardowych wiązań klawiszy).

Author: nbro, 2008-12-22

11 answers

Może podświetl-symbol.el at http://nschum.de/src/emacs/highlight-symbol / jest tym, czego szukasz:

alt text

 35
Author: polyglot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:09:29

hi-lock sugestie są dobre. Wydaje mi się, że łatwiej jest używać wersji M-x:

M-x highlight-regexp RET <REGEXP>

M-x highlight-phrase RET <REGEXP>

highlight-phrase jest tylko odrobiną cukru wokół highlight-regexp, która ignoruje wielkość liter i tłumaczy spację w wyrażeniach regularnych, aby dopasować dowolne białe znaki. Poręczne.

 68
Author: jrockway,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-01 21:19:49

Wpisz C-s, następnie wpisz bieżący wyraz lub wpisz C-w. Jako bonus możesz teraz ponownie uderzyć C-s, aby wyszukać słowo.

To się nazywa przyrostowe wyszukiwanie .

 34
Author: ShreevatsaR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-08 00:10:37

To, czego używam, to bezczynność-podświetlanie

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

M-x idle-highlight ustawia czas bezczynności, który podświetla wszystkie zdarzenia w buforze słowa pod punktem.

Aby włączyć go dla wszystkich trybów programowania, w ~/.emacs.d/init.el:

;; highlight words
(add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))
 13
Author: Johnny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-24 17:30:19

Light-symbol podświetli dowolny punkt symbolu.

Alternatywnie można użyć occurent , który wyświetla wszystkie wiersze pasujące do wyrażenia regularnego. Jest to przydatne, aby szybko zobaczyć wszystkie funkcje w klasie.

 10
Author: ieure,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-22 06:39:10

Try http://www.emacswiki.org/emacs/msearch.el Wszystkie wystąpienia tekstu zaznaczonego kursorem są podświetlone. Musisz przeciągnąć ciąg, który chcesz podświetlić. Umożliwia to łatwą zmianę zaznaczenia bez zmiany podświetlenia.

Jeśli chcesz zachować podświetlenie łańcucha, możesz go zamrozić.

Możesz zniewolić bufor do innego bufora. Tekst zaznaczony w buforze głównym będzie również podświetlony w buforze podrzędnym. Że jest przydatny do porównywania buforów. Jest to również przydatne do robienia notatek w jednym buforze podczas badania tekstu w innym. Możesz mieć kolekcję słów kluczowych w buforze notatek. Przeciągnij takie słowo kluczowe, a jego wystąpienia w badanym tekście zostaną podświetlone.

Używam tego od lat. Ostatnio dodałem zamrażanie. Więc może coś jest zepsute. Jeśli tak jest, zostaw mi notkę na http://www.emacswiki.org/emacs/msearch albo tutaj.

 6
Author: Tobias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-22 16:09:22

To może nie być tak miłe, jak to, na co liczyłeś, ale jeśli umieścisz

(global-hi-lock-mode 1)

W pliku .emacs możesz wpisać C-x w h REGEX <RET> <RET>, aby podświetlić wszystkie wystąpienia REGEX i C-x w r REGEX <RET>, aby je ponownie rozjaśnić. Jeszcze raz, nie tak elegancko, jak byś chciał, ale to zadziała.

 5
Author: dancavallaro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-22 06:37:27

Sprawdź Interaktywne Podświetlenie

Powinno być:

C-x w h word

 4
Author: CMS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-08 00:18:36

Polecenia w bibliotece highlight.el pozwala (nie)podświetlić tekst pasujący do wyrażenia regularnego( w tym przypadku symbolu), używając nakładek lub właściwości tekstu. Możesz jeździć na rowerze wśród zdarzeń. Podświetlanie może być tymczasowe lub trwałe. (więcej informacji) .

 2
Author: Drew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-24 05:13:54

Try iedit . Podświetla słowo w punkcie i pozwala łatwo edytować wszystkie jego wystąpienia. Z dodatkowym naciśnięciem klawisza (C-'), ukrywa wszystkie linie bez tego słowa w nim. Bardzo poręczne!

 2
Author: Phob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-26 10:14:41

To może nie będzie podkreślać, ale będzie szukać słowa bez konieczności wpisywania go...

Kiedy osiągniesz słowo, które chcesz wyszukać, C-S, następnie przeczytaj całe słowo za pomocą C-W, wtedy możesz C - S i będzie go szukać. W Emacsie podświetla również wszystkie wystąpienia w dokumencie.

 0
Author: George,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-20 18:46:54