7

在 emacs 中使用 query-replace(带或不带 regexp)时,会记住先前的 query-replace 对,并在下次调用 query-replace 时将其建议为默认值。但我希望能够将此默认替换编辑为类似的内容,而无需键入整个新变体。

像这样:

在长文档的一部分中,我进行了查询替换

M-% antidisestablishmentarianism-A [return] antidisestablismentarianism-B

稍后在我想做的同一个文件中

M-% antidisestablishmentarianism-A [return] antidisestablismentarianism-C

命令 M-% 自己给出

Query-replace (default antidisestablishmentarianism-A -> antidisestablismentarianism-B):

是否有一些神奇的组合键可以在不重新输入的情况下将最终的“B”更改为“C”?

4

2 回答 2

12

是的,试试M-p,像这个序列

M-% M-p [return] M-p [DEL] C [return]
于 2013-05-02T15:09:29.047 回答
2

我也可以使用Cr。它向我显示了 minibuffer 中的所有条目,我可以从中进行选择。我已将 Cr 绑定到 Mx 任何东西-minibuffer-history。在 Mx query-replace 之后,点击 Ch b 并在帮助缓冲区中搜索 major-mode 。这将给出完整的命令列表。这是我的绑定。

CG中止递归编辑
TAB 自插入命令
Cj 退出小缓冲区
RET 退出小缓冲区
Cr 任何东西-minibuffer-history
ESC 前缀命令
C-tab file-cache-minibuffer-complete
下一个历史元素
下一个历史元素
先前的历史元素
向上历史元素
Mn 下一个历史元素
Mp 以前的历史元素
先前匹配历史元素先生
Ms next-matching-history-element
于 2013-05-03T03:34:25.220 回答