即使使用初始缓冲区选择集,emacsclient --create-frame也会打开* scratch *

时间:2014-06-24 14:24:31

标签: emacs elisp

我在计算机启动时使用emacs --daemon启动emacs,然后使用emacsclient -c -n打开一个新的图形框架。

根据https://www.gnu.org/software/emacs/manual/html_node/emacs/emacsclient-Options.html

  

如果在提供'-c'选项时省略了filename参数,则新帧默认显示 scratch 缓冲区。如果initial-buffer-choice是一个字符串,则新帧将显示该文件或目录。

我的〜/ .emacs中有(setq initial-buffer-choice "~/")。但是,当我打开一个新框架时,它仍会启动*scratch*,而不是~。我有一个~缓冲区,但它不是最初显示的。

我是否需要做些其他事情来防止* scratch *缓冲区(我从未使用过)被创建?

即使使用 只有(setq initial-buffer-choice "~/")的最小〜/ .emacs,在使用emacsclient -c -n开始新框架时,它仍会以* scratch *打开。

1 个答案:

答案 0 :(得分:4)

此行为似乎仅限于24之前的版本。在emacs 23中,emacsclient -c(或emacsclient -t)始终打开* scratch *,即使设置了initial-buffer-choice也是如此。这已在emacs 24中修复,因此解决方案是升级。