我如何删除Emacs中的当前行?
什么是vi的dd的emacs等价物? 我想删除当前行。 尝试CTRL + K,但它只从当前位置删除。
Ca # Go to beginning of line Ck # Kill line from current point
也有
CS-backspace # Ctrl-Shift-Backspace
它调用Mx kill-whole-line
。
如果你想设置一个不同的全局键绑定,你可以把它放在〜/ .emacs中:
(global-set-key "\C-cd" 'kill-whole-line) # Sets `Cc d` to `Mx kill-whole-line`
如果你想删除一些完整的行,你可以在命令前加一个数字:
Cu 5 CS-backspace # deletes 5 whole lines M-5 CS-backspace # deletes 5 whole lines Cu CS-backspace # delete 4 whole lines. Cu without a number defaults to 4 Cu -5 CS-backspace # deletes previous 5 whole lines M--5 CS-backspace # deletes previous 5 whole lines
有时我也会发现Cx z
很有帮助:
CS-backspace # delete 1 whole line Cx z # repeat last command z # repeat last command again. # Press z as many times as you wish. # Any other key acts normally, and ends the repeat command.
如果你不想杀死该行(这将把它放入操作系统剪贴板并杀死戒指),但只需删除它:
(defun delete-current-line () "Delete (not kill) the current line." (interactive) (save-excursion (delete-region (progn (forward-visible-line 0) (point)) (progn (forward-visible-line 1) (point)))))
从线上任何一点删除(杀死)完整的一行,而不select任何内容的最快/最简单的方法是:
Cw ; kill-region
它是多function删除任何select,或者如果没有select任何内容默认行。
鉴于这个问题,你可能也有兴趣复制Vim的“yank”, yy
(尽pipe用Emacs的话来说,“yank”正在混淆Vim的“put”, p
)。 这是:
Mw ; kill-ring-save
好,一致,很容易记住。 甚至有点类似于Vim的i_CTRL-W
。
一旦你把杀死环中的任何一个放在上面的任何一个,你可能会想要“抽出”(粘贴)它:
My ; yank-pop
(请注意,CS退格可能无法在terminalEmacs中工作。)