Как мне получить emacs, чтобы мои строки поиска были выделены? - PullRequest
16 голосов
/ 23 сентября 2010

Как я могу заставить emacs выделить фразу, которую я ищу, и затем оставить ее выделенной, пока я не найду другую фразу?Может ли он сделать это прозрачно, то есть просто путем поиска, без необходимости запуска другой команды (например, isearch-highlight-regexp)?

Ответы [ 4 ]

20 голосов
/ 23 сентября 2010

Попробуйте это:

(setq lazy-highlight-cleanup nil)

Если вы хотите очистить выделение вручную, выполните M-x lazy-highlight-cleanup

5 голосов
/ 23 сентября 2010

Кажется, что ответ Трея работает.Я думал, что я бы включил один, используя советы только для полноты:

(defadvice isearch-exit (after ysph-hl-search activate compile)
  "after isearch, highlight the search term "
  (highlight-regexp (car (if isearch-regexp
                             regexp-search-ring
                           search-ring)) (find-face 'hi-pink)))
0 голосов
/ 22 февраля 2019

Этот вариант сочетает ленивую подсветку с подсветкой регулярных выражений, как только вы закончите поиск. Это напоминает поведение hlsearch vim в emacs.

(setq lazy-highlight t                 ; highlight occurrences
      lazy-highlight-cleanup nil       ; keep search term highlighted
      lazy-highlight-max-at-a-time nil ; all occurences in file
      isearch-allow-scroll t           ; continue the search even though we're scrolling
      )

;; when exiting isearch, register the search term as regexp-highlight
(defadvice isearch-done (after ysph-hl-search activate compile)
           "highlight the search term after isearch has quit"
           (unhighlight-regexp t)
           (highlight-regexp (car (if isearch-regexp
                                      regexp-search-ring
                                      search-ring)) 'lazy-highlight))
0 голосов
/ 23 сентября 2010

Другой вариант - просто использовать highlight-фразу или highlight-regexp и не зависеть от поисковой системы, выполняющей работу вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...