【问题标题】:How can I perform the equivalent regex searching operation in emacs like vim?如何在 vim 等 emacs 中执行等效的正则表达式搜索操作?
【发布时间】:2019-01-31 20:31:18
【问题描述】:

我有一个文件,其中包含如下内容:

hello1
hello2
hello3
haha1
haha2
haha3

注意有一些正则表达式模式hello\d。 在 vim 中,我可以通过键入 /hello\d 来执行查找操作,然后键入 nN 在不同的匹配项之间进行光标以查看我的代码。

我想知道如何在 Emacs 中执行相同的操作。 C-rC-s 不会完成这项工作,因为存在正则表达式模式,但如果我使用 query-replace-regexp,我无法通过 C-rC-s 遍历每个匹配项。如果原始 Emacs 设置不是不可能的?我如何在 Emacs 中做与在 vim 中相同的事情?

【问题讨论】:

    标签: regex emacs


    【解决方案1】:

    使用isearch-forward-regexp,默认绑定到C-M-s。 (同样,isearch-backward-regexp 绑定到 C-M-r。)

    从那里您可以像往常一样使用 C-sC-r 导航结果。

    【讨论】:

    • 知道了,我第一次使用 C-M-s 输入正则表达式,第二次 C-M-s 将导致下一个匹配。 emacs 中的 C-M-s 等于 vim 中的 n,emacs 中的 C-M-r 等于 vim 中的 N
    • @LiuWeibo 请注意编辑 -- 无论您如何启动搜索,您只需要 C-sC-r 即可重复搜索。
    • 哦,我现在明白了。就我输入正则表达式而言,不必像 vim 那样按 enter 键,我可以使用 C-s 和 C-r 来浏览结果。谢谢你的回答~~
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多