我如何删除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中工作。)