自动包装I-search?

时间:2008-11-12 22:41:01

标签: search emacs

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

在Emacs中,如果我通过C-s开始搜索,则如果第一个匹配位于光标上方,搜索将无法显示 Failing I-search 。如果我再次点击C-s,它会打包搜索,说 Wrapped I-search 。默认情况下如何在Vim中包装和跳转光标,而不必再次C-s

2 个答案:

答案 0 :(得分:16)

最简单的方法是使用以下defadvice:

(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失败时,它会立即再次尝试包装。请注意,暂时禁用此defadvice以防止无匹配时无限循环非常重要。

答案 1 :(得分:4)

Jurta的回答大部分都在那里。这是想要的行为:

rotation_ = glm::fquat(glm::vec3(glm::radians(pitch), glm::radians(yaw), glm::radians(roll))) * rotation_;