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