【问题标题】:Emacs repeat the replace pattern - macro?Emacs 重复替换模式 - 宏?
【发布时间】:2012-09-09 06:49:15
【问题描述】:

我想在多行中进行相同的更改。

例如我想用下面这样的表格单元格元素将文件中的每一行括起来。

  <td>
  <div class="column" draggable="true"><header>A</header></div>
  </td>

我希望下面的每一行都用上面的内容括起来。

  <div class="column" draggable="true"><header>B</header></div>
  <div class="column" draggable="true"><header>C</header></div>
  <div class="column" draggable="true"><header>D</header></div>
  <div class="column" draggable="true"><header>E</header></div>

我们怎样才能做到这一点?据我了解,我们需要使用宏,您能指点一下吗?

提前致谢。

【问题讨论】:

    标签: emacs macros elisp text-editor emacs24


    【解决方案1】:

    在行首尝试C-x ( &lt;td&gt; C-e &lt;/td&gt; C-n C-a C-x )

    这应该创建一个将当前行包含在&lt;td&gt;&lt;/td&gt; 中的宏。现在,只要你想重复它,就执行C-x e

    更新:我在 cmets 中提到的截屏视频已上传至 http://emacsmovies.org/blog/2012/09/17/keyboard_macros/,以供您查看。

    【讨论】:

    • 谢谢。 Emacs 宏将节省大量输入工作并保持在做事的流程中(而不是重复输入)。
    • 然后执行C-u 10 重复下一个命令,例如录制宏C-x e,十次(或选择您自己的号码)。
    • 请注意,您不需要让宏包含 C-nC-a 来移动到下一行。任何处理一行的宏都可以使用M-x apply-macro-to-region-lines 应用于整个区域。
    • 宏将成为下一个 emacsmovies.org 截屏视频的主题。
    • 您可以通过点击更多e 来在C-x e 之后继续重复宏,例如C-x e e e e e 将重复宏 5 次。
    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2017-03-07
    相关资源
    最近更新 更多