在Vim中,我可以:set wrapscan,这样当我进行增量搜索时,无论第一个匹配项在光标之上还是之下,光标都会跳到第一个匹配项。

在Emacs中,如果我通过C-s开始搜索,则如果第一个匹配项位于光标上方,则搜索失败并显示失败I-search。如果我再次点击C-s,则它将包装搜索,并说“包裹I-搜索”。如何像在Vim中一样默认包装和跳过光标,而无需再次C-s

最佳答案

最简单的方法是使用以下默认建议:

(defadvice isearch-repeat (after isearch-no-fail activate)
  (unless isearch-success
    (ad-disable-advice 'isearch-repeat 'after 'isearch-no-fail)
    (ad-activate 'isearch-repeat)
    (isearch-repeat (if isearch-forward 'forward))
    (ad-enable-advice 'isearch-repeat 'after 'isearch-no-fail)
    (ad-activate 'isearch-repeat)))

当Isearch失败时,它将立即尝试重新包装。请注意,暂时禁用此缺陷非常重要,以防止在没有匹配项时出现无限循环。

关于search - 自动包装I-搜索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/285660/

10-08 21:12