在Emacs中使用replace-string命令时,是否可以修改已输入的字符串?

时间:2014-02-16 16:18:27

标签: emacs replace edit

更换“A”和“B”将按如下方式执行。我的问题是,当我处于第4阶段时,我可以回到阶段2并使用某些命令再次编辑“A”吗?

  1. M-x replace-string
  2. “A”
  3. RET
  4. “B”
  5. RET
  6. 感谢。

2 个答案:

答案 0 :(得分:1)

如果您担心丢失A和B,因为您不想再次输入它们,请转到步骤5(在B之后按RET)然后按撤消(我看到您使用replace-string而不是query-replace,因此您需要撤消更改)。这样两个输入都存储在迷你缓冲区历史记录中,当您再次启动命令时,您可以使用向上箭头访问它们。

答案 1 :(得分:1)

  1. 请考虑使用query-replace

      

    你的意思是查询替换可以做到吗?

    不确定你的意思是“它”,但是,IMO query-replace听起来像你想要的。请参阅Emacs手册,节点Query ReplaceC-r允许您暂停查询替换以执行任何操作(例如编辑),然后稍后再次恢复。

  2. 您可以考虑另一种方法:Icicles on-demand replacement

    这取决于您想要做什么样的替换以及您想要做多少替换。 冰柱按需更换被设计为搜索的辅助手段,而不是系统的替代技术。

    一个优点是您不需要轮流访问每个匹配项,并回复说明您是否要替换它。你没有被问到;是您决定要执行替换的位置。

    同样可以搜索:你不需要按顺序访问每个搜索命中。您可以按任何顺序访问您喜欢的任何搜索命中,并在它们的任何子集之间循环。您甚至可以通过各种方式对搜索匹配进行排序,这会影响访问/可见性和循环顺序的简便性。

  3. 总的来说,我建议您首先查看query-replace文档。如果您的用例实际上与query-replace(或 Icicles 替换)提供的内容相对应,那么可能会在您的说明中详细说明您的用例。