如何杀死矩形,但像Emacs中的普通杀戮?

时间:2014-03-04 13:19:26

标签: emacs kill rectangles

我不知道如何表达它。请参阅下面的示例。

输入:

a
bc
deffffffff
gh
i

我在“c”之前设置了标记,在“h”之后设置了当前光标。然后点击C-x r k M-x kill-rectangle。我假设输入,输出和杀死环缓冲区中没有空格。

输出:

a
b
dffffffff
g
i

杀死戒指:

c
e
h

但我想得到的是输出和杀死戒指。

期望的输出:

a
b
d
g
i

所需的杀戮戒指:

c
effffffff
h

有没有办法做到这一点?感谢。

2 个答案:

答案 0 :(得分:3)

cua-mode的矩形操作函数非常复杂。对于您的用例,它允许您使用cua-set-rectangle-mark标记矩形,然后使用cua-copy-rectangle复制矩形。最后使用cua-paste粘贴。这是一个例子

1)首先通过 M-x cua-mode RET

启用cua-mode

2)用cua-set-rectangle-mark开始标记矩形(绑定到 C-RET

rectangle selection with cua-mode

3)复制用cua-copy-rectangle选择的矩形(绑定到 Mw )或用cua-cut-rectangle(绑定到 Cw )<< / p>

4)最后粘贴cua-paste(绑定到 C-y

更新:在Emacs 24.4(尚未发布)中,您可以使用cua-rectangle而无需启用cua-mode,相关命令为cua-rectangle-mark-mode

答案 1 :(得分:1)

一种方式,但它与空白混淆:

  1. 使用M-x picture-mode进入图片模式。
  2. 在同一个地方启动该区域,然后将光标移动到最后一个f之后的空白处。
  3. 杀死:C-x r k
  4. 使用C-c C-c退出图片模式。这具有删除尾随空格的次要效果。此外,被杀死的矩形用空格填充。