加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim – Emacs Evil:非增量搜索和持续突出显示?

发布时间:2020-12-15 17:02:25 所属栏目:安全 来源:网络整理
导读:作为Vim用户,我在近二十年后尝试使用Emacs Evil.我正在将我的大部分Vim配置移动到Evil,但有一点我遇到很多问题就是设置搜索和突出显示,就像我使用Vim一样.我想要得到的是非增量搜索和高亮显示,直到我手动清除它们或进行另一次搜索. 我在配置文件中设置了这些
作为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键但使用Cs(emacs内部i-search),亮点就会被删除.)使用Cs 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搜索完成的所有搜索.突出显示将保留,直到您再创建一个或突出显示 – 删除全部.我已将其映射到领导者SPC:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读