我想删除区域中每一行的前x个字符。
在不使用正则表达式的情况下是否可以使用任何键绑定?
答案 0 :(得分:18)
执行此操作的最佳方法是使用“矩形”命令族。例如,标记区域的开头。转到区域的末尾并将该点放在 X 列。使用kill-rectangle
运行命令C-x r k
。
当然,这不仅限于删除行首的字符。
答案 1 :(得分:6)
如果标记位于第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.
答案 2 :(得分:0)
我非常喜欢这些类型的作业的一个命令是多个光标的编辑行:
http://www.youtube.com/watch?v=jNa3axo40qM
与kill-rectangle
(原始问题的最佳解决方案)相比,它有点过分,但它在工具箱中是一个了不起的工具。绝对值得一看。
答案 3 :(得分:0)
使用矩形命令
选择所需的矩形M-x rectangle-mark-mode
然后使用命令
M-x kill-region