如何让emacs突出显示我正在搜索的短语,然后保持突出显示,直到我搜索另一个短语?它可以透明地做到这一点吗,即只需搜索,而不需要运行其他命令(如isearch-highlight-regexp
)?
发布于 2010-09-24 03:33:19
Trey的答案似乎是有效的。为了完整起见,我想我应该包括一个使用建议的例子:
(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)))
发布于 2019-02-23 01:33:53
这个变种结合了惰性高亮和正则高亮,一旦你完成搜索。这类似于emacs中vim的hlsearch
行为。
(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))
发布于 2010-09-24 01:18:28
另一种选择是只使用highlight-phrase或highlight-regexp,而不依赖于搜索系统来完成这项工作。
https://stackoverflow.com/questions/3779855
复制相似问题