gpt4 book ai didi

Emacs:每当创建新帧时,如何创建新的 "empty"缓冲区?

转载 作者:行者123 更新时间:2023-12-03 14:35:39 24 4
gpt4 key购买 nike

我的 Emacs 在 OS X 系统上。每当我使用 ⌘N (就像 TextEdit 的工作方式一样)时,有什么方法可以使新框架默认为空缓冲区?我更喜欢先写内容,然后再决定一个合适的文件名。然而,Emacs 想让我先决定文件名,然后再写内容。我看不出它有什么好处。有谁知道为什么 Emacs 会这样工作?

基本上,如果我使用 C-x 5 2,Emacs 总是会弹出一个框架,其中包含我当前正在处理的任何文件。这很不方便。我也不希望我的 Emacs 弹出一个默认为 *scratch* 的新框架(许多谷歌搜索结果以某种方式暗示了这种方法)。我更喜欢它在新框架中有一个临时名为“Untitled”的缓冲区,如果我再次使用⌘N,Emacs 会弹出另一个临时“Untitled 2”缓冲区,依此类推。这样,我可以稍后决定缓冲区文件名。

最佳答案

您可以使用 switch-to-buffer 创建新缓冲区.输入 C-x b ,输入缓冲区名称,然后按 RET .如果不存在同名的缓冲区,Emacs 会在基本模式下自动创建一个新缓冲区。您可以像往常一样使用 M-x 切换到任何其他模式。 ,例如M-x python-mode .要更改默认缓冲区,请设置默认值 major-mode到所需的缓冲区。

但是,如果您想自动选择缓冲区名称并创建一个新帧,则需要编写自己的命令:

(defun lunaryorn-new-buffer-frame ()
"Create a new frame with a new empty buffer."
(interactive)
(let ((buffer (generate-new-buffer "untitled")))
(set-buffer-major-mode buffer)
(display-buffer buffer '(display-buffer-pop-up-frame . nil))))

将此绑定(bind)到 C-c n :

(global-set-key (kbd "C-c n") #'lunaryorn-new-buffer-frame)

现在按 C-c n使用名为“untitled”的新空缓冲区创建一个新帧,其中 x 是一个连续数字。

关于Emacs:每当创建新帧时,如何创建新的 "empty"缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com