emacs中的删除行操作是有逻辑分层的,如果不按划分好的逻辑层次操作,就会觉得很乱,没有规律,而且特别的琐碎。
我认为,emacs在删除行这个问题上,分2个逻辑层,行内删除和多行删除。基础设定:当前行设定为第0行,光标位置为0位置。-1位置指光标位置前一个位置。-1行指当前行的上一行。1行指当前行的下一行。其他以此类推。
第1层,行内的删除行操作。
从0位置到结尾字符 C-k
从0位置到换行符C-k C-k,也就是说换行符要单独删一次。
从-1位置到行首 M-0 C-k
第2层,多行的删除操作。
不论光标位置,删除当前行 C-a C-k C-k,也就是先移动到行首在进行删除操作。
删除-1行 C-a M--1 C-k,这个操作并不删除当前行。
删除0、1、2行共计3行 C-a M-3 C-k,其他的多行删除都可以通过移动,来使用这条命令。如删除0、-1、-2行可以先移动到第-2行,在执行C-a M-3 C-k 来完成。
如果很多行,不容易计数的化,就要用标记了C-@ 来标记出来在用DEL删除。