如果我不小心关闭了Emacs中的暂存缓冲区,我该如何创建一个新的暂存缓冲区?
GNU Emacs默认绑定:
C-xb
*scratch*
RET
或者,更详细
M-x
switch-to-buffer *scratch*
RET
的*scratch*
缓冲器是在启动时选择的缓冲液中,并具有主要模式Lisp的相互作用.注意:*scratch*
缓冲区的模式由变量控制initial-major-mode
.
通常,您可以根据需要创建任意数量的"临时"缓冲区,并根据您的选择命名它们.
C-xb
NAME
RET
切换到缓冲区NAME
,如果它不存在则创建它.在您使用C-xC-w(或M-x write-file
RET)选择应保存文件的文件之前,新缓冲区与磁盘上的文件无关.
M-x
text-mode
RET
将当前缓冲区的主要模式更改为文本模式.要查找所有可用模式(即不需要任何新包),可以通过键入以下内容获取列表:
M-x
apropos-command -mode$
RET
我在.emacs中添加以下内容:
;; bury *scratch* buffer instead of kill it
(defadvice kill-buffer (around kill-buffer-around-advice activate)
(let ((buffer-to-kill (ad-get-arg 0)))
(if (equal buffer-to-kill "*scratch*")
(bury-buffer)
ad-do-it)))
如果我不想看临时缓冲区我按Cx Ck,但它不会杀死它,只是放在缓冲区列表的末尾,所以接下来我不需要创建新的那个就需要它.
这个EmacsWiki页面上有很多提示.
这是第一个:
一个非常简单的函数来重新创建临时缓冲区:
(defun create-scratch-buffer nil
"create a scratch buffer"
(interactive)
(switch-to-buffer (get-buffer-create "*scratch*"))
(lisp-interaction-mode))
Cx b *scratch*
RET y RET,启用iswitchb模式.
只是Cx b *scratch*
RET否则.