怎么在swiper 搜索完成之后取消掉高亮

搜索时高亮 当搜索到结果之后 回车就把高亮取消掉。

可以使用下列代码:

(defun remove-swiper-search-highlight (x)
  (evil-ex-nohighlight))

(advice-add #'swiper--action :after #'remove-swiper-search-highlight)

如果你不想要这个行为,可以取消这个 advice:

(advice-remove #'swiper--action #'remove-swiper-search-highlight)

补充: 我使用的是 evil 插件,如果你不是使用 evil,需要查找相应的取消高亮的函数,把 evil-ex-nohighlight 函数替换掉即可。

我用的时evil模式 证实非常好用 不过 通过 / 搜索的依旧去不掉高亮。这个有什么好的办法吗?

另外单纯针对swiper模式取消高亮(setq-default evil-ex-search-persistent-highlight nil)也是可以的。在swiper issue上找到的方法。

通过 / 搜索 应该也可以通过调用 evil-ex-nohighlight 函数来解决,我现在绑定了一个快捷键 SPC n l 用来清除 highlight,这个组合键的记忆方法是 “no highlight” === “nl”