[分享讨论] smart query replace

解决了 from-string 输入的问题。

to-string 原本也是要输入的,如果输入内容简单,问题不大。如果输入内容复杂,我倾向开一个临时 buffer,优点是:

  • 避免因误删导致 overlay 跟前后字符粘连
  • 方便从别的缓冲区复制内容

如果改成临时 buffer 输入 to-string,那么 from-string 的方式也可以简化:

  1. 选中内容
  2. C-x C-q 调用 query-replace+ 并处于等待输入 to-string,仍然保持原有的 query-replace 风格。此时根据 to-string 内容:
    • 简单:直接输入,回车提交
    • 复杂:按 C-c C-e 进入临时 buffer,输入完,按 C-c C-c 提交