16

我想删除区域中每一行的前 x 个字符。

是否有任何键绑定可以在不使用正则表达式的情况下执行此操作?

4

4 回答 4

21

最好的方法是使用“矩形”命令系列。例如,标记区域的开始。转到该区域的末尾并将点放在X列。kill-rectangle使用运行命令C-x r k

当然,这不仅限于删除行首的字符。

于 2013-04-10T15:23:01.100 回答
7

如果标记在第 0 列,则将点放在 x 列上并使用kill-rectange

C-x r k runs the command kill-rectangle, which is an interactive
autoloaded Lisp function in `rect.el'.

It is bound to C-x r k.

(kill-rectangle START END &optional FILL)

Delete the region-rectangle and save it as the last killed one.

When called from a program the rectangle's corners are START and END.
You might prefer to use `delete-extract-rectangle' from a program.
于 2013-04-10T15:22:44.227 回答
0

对于这些类型的工作,我真正喜欢的一个命令是多个光标的编辑行:

http://www.youtube.com/watch?v=jNa3axo40qM

与(原始问题的最佳解决方案)相比,它是多余kill-rectangle的,但它是工具箱中的一个了不起的工具。绝对值得一看。

于 2013-04-30T05:49:29.953 回答
0

使用矩形命令选择所需的矩形

M-x rectangle-mark-mode

然后使用命令

M-x kill-region
于 2016-01-21T09:30:31.890 回答