【问题标题】:Replace text literally without regular expression in Emacs evil-mode在 Emacs 邪恶模式中直接替换没有正则表达式的文本
【发布时间】:2014-08-11 01:07:26
【问题描述】:

在 vim 中,我可以使用 :%sno/[abt]//g 从字面上删除“[abt]”的所有文本(如 here 解释的那样)。

我在evil-mode 中尝试了相同的命令,但它抱怨它不理解sno 命令,那么我该如何在evil-mode 中执行相同的操作?

【问题讨论】:

    标签: emacs evil-mode


    【解决方案1】:

    据我所知,evil 不(还没有?)支持“魔法/无魔法”正则表达式选项(实际上,它只支持ex 功能的一小部分,所以我不认为% 也可以使用)。正如@Ehvince 的回答所暗示的,进行替换的标准Emacs 方法是使用query-replacequery-replace-regexp。如果您想坚持使用evil,只需使用反斜杠转义方括号即可:

    :s/\[abt\]//g
    

    NB:Emacs 中的反斜杠转义经常会咬住来自其他环境或编程语言的人;请查看the bottom of this manual node on the backslash 了解更多信息。

    【讨论】:

    • 很高兴知道! % 是一个不错的功能;答案更正以删除有问题的段落。
    【解决方案2】:

    你会使用绑定到M-%的emacs命令query-replace

    M-% [abt] RET <nothing> RET
    

    然后使用y 批准每个事件或使用! 批准所有事件。

    文档位于C-h f query-replace

    query-replace-regexp 绑定到C-M-%

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多