4

创建文档时,我的偏好是打开一个空白缓冲区,开始输入一些内容,然后决定调用什么文件并保存它。这就是我要用记事本做的事情。但是对于 emacs,它会强制您在开始输入之前决定调用缓冲区的内容。

现在,当我启动 emacs 时,我得到了暂存缓冲区。如果我编辑并尝试保存从头开始(ctrl-x ctrl-s),它允许我输入我想在默认目录中保存它的位置。我猜从头开始是某种没有文件名的虚拟缓冲区。

如果我从头开始将起始缓冲区更改为其他内容,那么尝试保存该缓冲区只会保存到我将文件定义为的任何内容。

我想要一个空的起始缓冲区,当我尝试保存时,让我定义文件名,即保存时它的行为类似于暂存缓冲区,但它是空的。

*编辑也尝试指定“初始缓冲区选择”时,它会在从其图标启动文档时覆盖我的选择,如何避免这种情况?

4

4 回答 4

3

正如我在评论中已经提到的,您可以使用空的暂存缓冲区。如果您不喜欢它,请使用,例如,

(setq inhibit-splash-screen t)
(switch-to-buffer "**")

作为 .emacs 文件中的最后一件事。在关于您的第一个答案之后,C-x b您可以在 emacs 的帮助下为自己确定这些击键。C-h k您可以通过后跟感兴趣的键序列获得此帮助。

我刚刚添加(setq inhibit-splash-screen t),以便您可以**在启动后立即看到 -buffer。

于 2013-11-08T18:24:59.013 回答
1

这里有一个方法:C-x b。输入一个随机名称,例如temp. 您将获得一个未绑定到任何文件的基本模式缓冲区。然后,您可以根据需要保存它。

于 2013-11-08T17:48:55.327 回答
0

自定义选项initial-buffer-choice。将其设置为您选择的缓冲区的名称,而不是缓冲区的默认值nil或。t*scratch*

,----
| initial-buffer-choice is a variable defined in `startup.el'.
| Its value is nil
| 
| Documentation:
| Buffer to show after starting Emacs.
| If the value is nil and `inhibit-startup-screen' is nil, show the
| startup screen.  If the value is a string, switch to a buffer
| visiting the file or directory specified by that string.  If the
| value is a function, switch to the buffer returned by that
| function.  If t, open the `*scratch*' buffer.
| 
| A string value also causes emacsclient to open the specified file
| or directory when no target file is specified.
| 
| You can customize this variable.
| 
| This variable was introduced, or its default value was changed, in
| version 24.4 of Emacs.
`----

(该文档字符串来自最近的 Emacs 开发快照。Emacs 24.3. 文档字符串略有不同。)

于 2013-11-08T18:24:52.197 回答
0

I know this is answered, but I thought someone else (and possibly the original poster) would appreciate this.

(defun my/new-scratch ()
    ; Returns the existing *scratch* buffer or creates a new one
    (interactive)
    (switch-to-buffer (get-buffer-create "*scratch*")))

Now you can bind this to something you like and you can make a new scratch as often as you like but not need to start a new emacs every time.

;; replaces set-goal-column on C-x C-n
(global-set-key (kbd "C-x C-n") 'my/new-scratch)
于 2013-11-11T23:32:28.900 回答