向后删除行 (Emacs)

问题描述 投票:0回答:7

这可能是基本的,但我真的试图找到答案。 “C-k”从光标处删除到行尾,但是是否有类似的快捷方式可以从光标点向后删除一行? 最好

emacs
7个回答
48
投票

尝试

C-u 0 C-k
- 即带有前缀 0 的 C-k 从点到行首杀死。有关更多信息,请参阅 C-k(kill-line)的文档。


10
投票

正如其他答案所暗示的那样, C-0C-k 从点到行首都会杀死。有关更多信息,请参阅 C-k (kill-line

) 的
文档。您可能还想使用 C-S-backspace 删除点之前和之后的整行,这会评估
kill-whole-line

杀死的另一个方便方法是重新绑定

kill-region
,默认为 C-w,并将函数
backward-kill-word
绑定到该键,然后该函数将模仿 readlineC-w 的行为 (
unix-word-rubout
) 。将
kill-region
移动到 A-q 后,我将
quoted-insert
重新绑定到 C-q。是的,这需要移动多个按键,但如果您尝试一下,我想您会发现它很方便。


7
投票

这是 asjo 的答案绑定到一个键:

(global-set-key "\M-k" '(lambda () (interactive) (kill-line 0)) ) ;M-k kills to the left

1
投票

我尝试使用负数和 C-k 作为参数。它起作用了。 删除光标前 4 行的示例,请尝试 C-u
-4 C-k


0
投票

hungry-delete

 包。安装,然后将以下内容添加到 init 文件中:
(add-hook 'after-init-hook (lambda () (require 'hungry-delete) (global-hungry-delete-mode)))

之后 
DEL

将删除直到下一个非空白字符,Backspace 也会删除,但方向相反。


0
投票
M-0

C-k(因为C-0C-k在我的电脑上不起作用)。 删除行首的所有空格:

M-m

M-0C-k


0
投票

;; use macOS native shortcut command-delete (global-set-key (kbd "s-<backspace>") 'kill-whole-line)

	
© www.soinside.com 2019 - 2024. All rights reserved.