编辑emacs query-replace中的上一个搜索字符串?

Ali*_*ser 4 emacs

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

像这样:

在一个长文档的一节中,我做了一个查询替换

M-% antidisestablishmentarianism-A [return] antidisestablismentarianism-B
Run Code Online (Sandbox Code Playgroud)

后来在我想做的同一份文件中

M-% antidisestablishmentarianism-A [return] antidisestablismentarianism-C
Run Code Online (Sandbox Code Playgroud)

命令M-%本身给出

Query-replace (default antidisestablishmentarianism-A -> antidisestablismentarianism-B):
Run Code Online (Sandbox Code Playgroud)

是否有一些魔术键组合可以将最终的"B"更改为"C"而无需重新输入?

Tre*_*son 7

是的,尝试M-p,像这样的序列

M-% M-p [return] M-p [DEL] C [return]
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!Mp确实是我不知道的神奇按钮.实验和emacswiki确认Mp在迷你缓冲区历史记录中给出了上一个命令 - 因此通过改变"Mp"的数量,可以编辑查询,替换字符串或两者. (2认同)