gpt4 book ai didi

vim - Emacs + 邪恶 : non incremental search and persistent highlighting?

转载 作者:行者123 更新时间:2023-12-04 19:05:35 28 4
gpt4 key购买 nike

作为 Vim 用户,我在将近二十年后尝试 Emacs+Evil。我正在将我的大部分 Vim 配置移至 Evil,但我遇到很多问题的一件事是像我在 Vim 中使用的那样设置搜索和突出显示。我想要得到的是非增量搜索和高亮显示,直到我手动清除它们或进行另一次搜索。

我已经在我的配置文件中设置了这些设置:

;; keep the search highlights
(setq lazy-highlight-cleanup nil)
(setq lazy-highlight-max-at-a-time nil)
(setq lazy-highlight-initial-delay 0)

使用 /使用 Evil 进行搜索的键执行增量操作,并且只要我按下任何其他移动键(例如 j 键,但使用 C-s(emacs 内部 i-search),高亮显示就会被删除。使用 C-s RET (非增量搜索)亮点不保留。

最佳答案

好的,找到了突出显示的工作解决方案:

(defun highlight-remove-all ()
(interactive)
(hi-lock-mode -1)
(hi-lock-mode 1))

(defun search-highlight-persist ()
(highlight-regexp (car-safe (if isearch-regexp
regexp-search-ring
search-ring)) (facep 'hi-yellow)))

(defadvice isearch-exit (after isearch-hl-persist activate)
(highlight-remove-all)
(search-highlight-persist))

(defadvice evil-search-incrementally (after evil-search-hl-persist activate)
(highlight-remove-all)
(search-highlight-persist))

这将突出显示所有使用 isearch 或 Evil 搜索完成的搜索。亮点将一直存在,直到您再做一个或调用 highlight-remove-all .我已将其映射到 leader SPC和:

(evil-leader/set-key "SPC" 'highlight-remove-all)

PS:我做了一个包,它已经在melpa上,名称为“evil-search-highlight-persist”,并且: https://github.com/juanjux/evil-search-highlight-persist

关于vim - Emacs + 邪恶 : non incremental search and persistent highlighting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25768036/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com