在Emacs中,如何一次编辑多个点?

时间:2012-07-05 16:04:39

标签: emacs elisp

有两种变化。我想你可以选择一个矩形并在所有行的开头和结尾添加东西。

我还想知道是否可以选择不同偏移的多个点,一次编辑所有点。我认为Yasnippet提供类似的东西,但只有当你使用预定义的模板时。这样的事情。

<div class="">
<a class="">

我可以在两个类标记上标记一个点,键入将编辑两个类属性。有可能吗?

2 个答案:

答案 0 :(得分:10)

Emacs Rocks!提供mark-multiple,它可以满足您的需求。

答案 1 :(得分:3)

除了Juancho的回答之外,我还使用了Steve Yegge的multi-select作为你的目的。示例用法(第一个示例将提供我认为您想要的内容):

 C-u C-M-m w foo <RET> <RET>
  - inserts/prepends "foo" to every multi-selection (you can also append or replace text)

 C-u -1 C-M-m r <pre>\(\w+\).+\s-+\(.+\)</pre>
  - selects first and last word of the contents every <pre> tag
    (provided the contents don't span multiple lines)

 C-M-m x M-x upcase-region
  - converts all multi-selections in buffer to uppercase

 C-u M-w C-q C-j --- C-q C-j <RET>
  - saves all multi-selections to kill-ring as a single item,
    with selections separated by "---" on a line by itself