Notepad ++ ma wygodną funkcję: jeśli wybierzesz słowo w tekście (niekoniecznie słowo kluczowe), słowo 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?
To niekoniecznie musi działać dokładnie tak, jak Notepad ++ (tj. Poprzez wybór); w idealnym przypadku chciałbym ustawić klawiszowe powiązanie, które spowoduje, że wszystkie wystąpienia słowa pod kursorem będą podświetlone.
Byłoby wspaniale, gdyby podświetlenia były trwałe, tj. Odsunięcie punktu od podświetlonego słowa nie powinno powodować usunięcia podświetlenia.
Przydałoby się również, gdyby istniało rozwiązanie, które umożliwiłoby nawigację między podświetleniami (przy użyciu niestandardowych skrótów klawiszowych).
źródło
Te
hi-lock
propozycje są dobre. Myślę jednak, że łatwiej jest korzystać z M-xwersji:M-x
highlight-regexp
RET<REGEXP>
M-x
highlight-phrase
RET<REGEXP>
highlight-phrase
jest tylko odrobiną cukru,highlight-regexp
który ignoruje wielkość liter i tłumaczy spację w wyrażeniu regularnym, aby dopasować dowolną białą spację. Poręczny.źródło
M-x unhighligh-regex
key-chord:C-x w r
... Ponadto fraza podświetlenia nie jest w pełni rozróżniana wielkości liter. Tylko początkowe małe litery (słów) nie uwzględniają wielkości liter. (Przypuszczam, że miało to zająć sięfred
vsFred
) .. np. Generuje wyrażenie regularne takie jak:[Cc]at[ ]+[Dd]og
unhighlight-regexp
zamiastunhighligh-regex
(brakt
ip
).Wpisz
C-s
, a następnie wpisz bieżące słowo lub typC-w
. Jako bonus możesz teraz nacisnąćC-s
ponownie, aby wyszukać słowo.Nazywa się to wyszukiwaniem przyrostowym .
źródło
M-x highlight-regexp
rozwiązania (i zagłosowałem za nim) (i powiązałem je ze skrótem).Używam bezczynności
http://www.emacswiki.org/emacs/IdleHighlight
Aby włączyć to dla wszystkich trybów programowania, w
~/.emacs.d/init.el
:;; highlight words (add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))
źródło
Symbol światła podświetli dowolny punkt symbolu, który się skończył.
Alternatywnie możesz użyć argumentu wystąp , który wyświetli listę wszystkich wierszy pasujących do wyrażenia regularnego. Przydatne jest szybkie przeglądanie wszystkich funkcji w klasie.
źródło
Spróbuj 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ę wyboru bez zmiany podświetlenia.
Jeśli chcesz zachować podświetlenie łańcucha, możesz je zamrozić.
Możesz zniewolić bufor do innego bufora. Tekst wybrany w buforze głównym będzie również podświetlony w buforze slave. Jest to przydatne do porównywania buforów. Jest to również przydatne do robienia notatek w jednym buforze, podczas gdy badasz tekst w innym. Możesz mieć zbiór słów kluczowych w buforze notatek. Przeciągnij po takim słowie kluczowym, a jego wystąpienia w badanym tekście zostaną podświetlone.
Używam tego od lat. Niedawno dodałem zamrażanie. Więc może coś jest zepsute. Jeśli tak jest, zostaw mi notatkę na http://www.emacswiki.org/emacs/msearch lub tutaj.
źródło
To może nie być tak miłe, jak się spodziewałeś, ale jeśli umieścisz
(global-hi-lock-mode 1)
w
.emacs
pliku, możesz wpisać,C-x w h REGEX <RET> <RET>
aby podświetlić wszystkie wystąpieniaREGEX
iC-x w r REGEX <RET>
ponownie je usunąć. Ponownie, nie tak eleganckie, jak prawdopodobnie byś chciał, ale zadziała.źródło
Zaznacz opcję Interaktywne podświetlanie
Powinien być:
C- x w hsłowo<RET> <RET>
źródło
Nikt nie wspomniał o
symbol-overlay
trybie . Zasadniczo jest to lepsze przepisaniehighlight-symbol-mode
. „Lepszy” jak w, nie zawiera błędów oryginalnego symbolu podświetlenia (takich jak tymczasowe zacinanie się podświetlenia lub znikanie tymczasowego podświetlenia w celu poruszania się wewnątrz podświetlonego słowa; lub brak możliwości podświetlenia symboli, takich jak*
) , lepiej zintegrowane i utrzymywane. Zobacz paragraf „Zalety” jego README.Możesz go zainstalować jak zwykle za pomocą M-xpackage-install (pamiętaj, aby wcześniej zaktualizować listę pakietów za pomocą
package-list-packages
) . Dla porównania, na dole załączyłem kod, którego używam, aby włączyć tryb i wyłączyć kilka bardziej zaawansowanych funkcji, których możesz lub nie chcesz.Po włączeniu
overlay-symbol
, wystąpienia na ekranie będą pokazywane dla każdego słowa, na które umieścisz kursor po przekroczeniusymbol-overlay-idle-time
limitu czasu (domyślnie czas oczekiwania wynosi 0,5 s, można go skonfigurować za pomocą zmiennej) . Jeśli słowo nie jest podświetlane, oznacza to, że na ekranie jest tylko jedno dopasowanie (to, na które umieściłeś kursor) , więc nie ma potrzeby podświetlania go.Aby trwale podświetlić słowo pod kursorem, dostępna jest funkcja
symbol-overlay-put
. Aby nie podkreślić, nazwij to jeszcze raz.W moim przykładzie konfiguracji jest powiązany z klawiszem 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 ;; name of the new global mode symbol-overlay-mode ;; name of the minor mode enable-symbol-overlay-mode) (global-symbol-overlay-mode) ;; enable it (global-set-key (kbd "s-`") 'symbol-overlay-put) (setq symbol-overlay-ignore-functions nil) ;; don't ignore keywords in various languages (setq symbol-overlay-map (make-sparse-keymap)) ;; disable special cmds on overlays
źródło
symbol-overlay-mode
był dokładnie tym, czego szukałem. Wiązaniesymbol-overlay-put
z klawiszem F jest przydatne do przełączania podświetlenia danego słowa w pliku.Polecenia w bibliotece
highlight.el
umożliwiają (od) wyróżnianie tekstu pasującego do wyrażenia regularnego (w tym przypadku symbolu), przy użyciu nakładek lub właściwości tekstu. Możesz przełączać się między wystąpieniami. Podświetlanie może być tymczasowe lub trwałe. (więcej informacji) .źródło
Spróbuj iedit . Podświetla słowo w punkcie i pozwala łatwo edytować wszystkie jego wystąpienia. Po dodatkowym naciśnięciu klawisza (C- ') ukrywa wszystkie wiersze bez tego słowa. Bardzo przydatne!
źródło
To może się nie podświetlić, ale wyszuka słowo bez konieczności wpisywania go ...
kiedy dotrzesz do słowa, które chciałeś wyszukać, CS, a następnie przeczytaj całe słowo za pomocą CW, a następnie możesz CS i wyszuka je. W moim Emacsie podświetla również wszystkie instancje w dokumencie.
źródło
Ten pakiet dostępny w Melpa działa, możesz również dostosować styl podświetlenia.
https://github.com/ignacy/idle-highlight-in-visible-buffers-mode
źródło