有没有办法在不退出isearch模式的情况下滚动文档?我将isearch-allow-scroll
设置为t,但这限制了我的滚动范围,以确保当前的isearch匹配在缓冲区中可见。理想情况下,我希望能够使用鼠标滚动滚动,在滚动时突出显示所有isearch匹配。
我知道M-x occur
,但很多时候只是能够在isearch模式下滚动会更有效率(此外,M-x出现在折叠模式下也不能很好)。
答案 0 :(得分:5)
如果你愿意,还有highlight-regexp
。它将突出显示正则表达式,您可以照常滚动。
答案 1 :(得分:2)
看起来你想要的一般是不可能的。来自isearch.el
内的文档:
;; scrolling within Isearch mode. Alan Mackenzie (acm@muc.de), 2003/2/24
;;
;; The idea here is that certain vertical scrolling commands (like C-l
;; `recenter') should be usable WITHIN Isearch mode. For a command to be
;; suitable, it must NOT alter the buffer, swap to another buffer or frame,
;; tamper with isearch's state, or move point. It is unacceptable for the
;; search string to be scrolled out of the current window. If a command
;; attempts this, we scroll the text back again.
换句话说,滚动距离不足以使搜索字符串移出窗口。
答案 2 :(得分:0)
尝试Icicles search - 例如,icicle-occur
(在 Icicle 模式下绑定到 C - ')。
没有什么能阻止你用鼠标等滚动到你想要的地方。
冰柱搜索是一种不同类型的增量搜索。 icicle-occur
就像增量发生一样:当您在迷你缓冲区中编辑输入时,线条会被该输入过滤。
搜索匹配候选人是完成候选人(例如,出现在*Completions*
)。您可以使用C-down
在搜索缓冲区中的匹配中导航,也可以使用C-RET
或C-mouse-2
直接跳转。