Emacs:清除缓冲区的快捷键是什么?

时间:2011-02-03 13:34:05

标签: emacs

喜欢,控制 - A (全选)然后删除?

7 个答案:

答案 0 :(得分:81)

如何使用:

M-x erase-buffer

你可以绑定任何你想要的东西。

答案 1 :(得分:40)

C-x h + del键清除缓冲区

注意:这需要启用transient-mark-mode(默认情况下)。

答案 2 :(得分:30)

在Emacs中选择全部是:

C-x h

(技术上,那是标记 - 整个缓冲区)和kill-region(杀死标记区域,现在是整个缓冲区)是:

C-w

如果要删除区域而不将其复制到kill-ring,可以使用

M-x delete-region

代替。如果你这么做,你需要将delete-region绑定到一个键/键组合。

答案 3 :(得分:6)

这些宏建立在上面给出的答案之上。要开始使用它们,请将它们粘贴到.emacs中,然后重新启动emacs或(在.emacs缓冲区中)键入M-x eval-buffer。

(defun clear-buffer ()
  "clear whole buffer add contents to the kill ring"
  (interactive)
  (kill-region (point-min) (point-max))
  )

(defun clear-buffer-permenantly ()
  "clear whole buffer, contents is not added to the kill ring"
  (interactive)
  (delete-region (point-min) (point-max))
  )

答案 4 :(得分:5)

老人们可能想称之为hk而不是clear-buffer-permanent, 并将其分配给怀旧的键序列,如下所示:

(define-key esc-map "\^[hk" 'hk)

这是用于清除缓冲区的pre-Gnu TECO EMACS命令 (ESC ESC wHole Kill)。

答案 5 :(得分:4)

转到缓冲区的开头,转到结尾(均设置标记),然后剪切:

M-< M-> C-w

答案 6 :(得分:2)

没有捷径,但你可以定义一个...... 按照this link获取用于清除缓冲区的宏。