他们可以替代 C-Spc M-> del / 退格来杀死文字,可能只是删除没有污染和膨胀杀死环,直到缓冲区结束?
要求,因为我没有找到上述方法,相当优雅。
修改
wvxvw's suggestion是一个很好的但我发现它不适用于超大文件,因为Emacs不允许堆叠超过十四 Cu
答案 0 :(得分:4)
M-> 在跳转到缓冲区末尾之前设置标记,因此只需 M-> M-x删除区域会这样做。如果你做了很多,你可以将一个键绑定到后者。
答案 1 :(得分:2)
您可以在.emacs中使用该ELISP功能
(defun bruce-kill-to-end ()
(interactive)
(let ((beg (point))
(end (point-max)))
(delete-region beg end)))
然后将它绑定到你喜欢的任何地方:
(global-set-key [f9] 'bruce-kill-to-end)
修改强> 如果您有选择,它不会从当前光标开始,而是从选择开始
开始编辑2 :删除了有关选择的部分
答案 2 :(得分:0)
我提出了以下解决方案:
(defun delete-to-end-of-buffer (add-to-kill-ring-p)
"Deletes from point to end of buffer.
If prefix argument is given, kill the region, adding it to the kill ring."
(interactive "P")
(if add-to-kill-ring-p
(kill-region (point) (point-max))
(delete-region (point) (point-max))))
我曾经写过blog post一段时间。它类似于Bruce的答案,但是您可以选择向命令发送前缀参数(C-u),在这种情况下,文本将被“剪切”(添加到杀死环),而不是仅删除。