这可能很基础,但我确实尽力寻找答案了。“C-k”从光标处删除到行末,但是否有类似的快捷键可以从光标点向后删除一行呢? 最好
尝试使用 C-u 0 C-k
命令,即使用前缀0的C-k命令可将光标从当前位置删除至行首。有关C-k(kill-line)的更多信息,请参阅文档。
正如其他答案所建议的那样,C-0C-k会从当前光标位置一直删完该行。有关更多信息,请参阅 文档 了解 C-k (kill-line
)。您还可以使用 C-S-backspace 来删除光标前后整行内容,这将调用 kill-whole-line
。
另一个方便的方法是重新绑定默认为 C-w 的 kill-region
函数,并将该键绑定到函数 backward-kill-word
上,这将模仿 readline 的 C-w 行为 (unix-word-rubout
)。我将 quoted-insert
移动到 A-q 后,将 kill-region
重新绑定到 C-q。是的,这需要移动一些按键,但如果您尝试一下,我认为您会发现这很方便。
这是asjo的答案与一个键绑定:
(global-set-key "\M-k" '(lambda () (interactive) (kill-line 0)) ) ;M-k kills to the left
M-m M-k
更加方便 :) - monotuxM-0C-k(因为C-0C-k 在我的电脑上无法使用)。
要删除行首所有空格:
M-mM-0C-k。
这并不完全是到行首,但你可能想要查看hungry-delete
包。安装后,将以下内容添加到初始化文件中:
(add-hook 'after-init-hook (lambda ()
(require 'hungry-delete)
(global-hungry-delete-mode)))
此后,DEL将删除到下一个非空格字符,Backspace也是如此,但方向相反。
C-0 C-k
在minibuffer中有效,但在bash控制台中只需使用C-u
即可。 - agranov