Emacs:i-search 从缓冲区的开头开始搜索



Emacs 24.5

如果我想在缓冲区中搜索一些文本,我使用命令 I-search (C-f)。 好的。但它是从光标位置开始搜索。但是我需要从缓冲区的开头搜索。

当然,我可以使用 C 箭头向上转到缓冲区的开头。但是我希望从缓冲区的开头自动搜索。这可能吗?

编辑

例:

11111111
22222222
33333333
...
11111111
44444444 (cursor here)
11111111
66666666
11111111

我希望在启动 ONLY 命令 I-search 并输入"11111111"时从缓冲区的开头开始搜索(没有任何其他附加命令,如 M-<)。这可能吗?

您可以使用

M-<快速到达缓冲区的顶部。 然后用C-s开始你的iSearch(这就是你说的意思吗 C-f

使用M-<将在您当前的位置上放置一个标记,然后跳跃,以便您可以使用C-u C-SPC轻松返回它。 搜索(不C-g取消)也设置了一个标记。

或者,您可以从您所在的位置开始搜索,然后点击C-s缓冲区底部的额外时间以继续环绕到顶部。

或者,您可以使用以下方法从点(光标位置)向后搜索 C-r .

没有内置功能(我可以找到文档)来执行您的建议,但您可以轻松定义一些建议来更改默认行为。

(add-function :before (symbol-function 'isearch-forward) #'beginning-of-buffer)

这不是特别优雅(例如,也许你想在中止搜索时回到点?),但演示了这个概念,如果你决定这实际上是你想要的,它很容易扩展。

最新更新