我在Windows XP中使用Gnu emacs,默认窗口标题为“emacs @ ACH1797VM2”,而不是缓冲区标题,这就是我想要的,据我所知,这是正确的默认行为。 / p>
在阅读https://stackoverflow.com/a/2338352/1001165后,我将以下行放在〜/ .emacs文件的末尾,但行为没有变化。
(setq frame-title-format "%b - emacs")
我可以用
更改窗口标题M-x set-frame-name NewName RET
但我希望它能自动更改以匹配缓冲区名称。
答案 0 :(得分:4)
我说这条线是正确的。你可以复制&将表达式粘贴到*scratch*
缓冲区并点击 C-J 。如果窗口标题发生变化,那么当您在.init.el
中添加该行时,它也应该更改。还有可能你的init文件不在正确的位置或者它没有正确命名...如果我在Windows中正确回想起它不是以点开头,而是用下划线。
答案 1 :(得分:2)
您可以尝试此操作,添加到您的.emacs:
(setq frame-title-format
'((:eval (if (buffer-file-name)
(abbreviate-file-name (buffer-file-name))
"%b"))
(:eval (if (buffer-modified-p)
" •"))
" Emacs")
)
%b - 打印缓冲区名称。您可以在[1]中看到更多选项。 此外,如果要修改任何缓冲区,则会显示“•”以表示您正在修改。
希望有所帮助。
答案 2 :(得分:1)
这就是我的.emacs里面的东西。不确定它有什么影响。
(setq-default frame-title-format '(buffer-file-name "%f" "%b")) ; I already know this is Emacs
答案 3 :(得分:1)
我认为这意味着窗口顶部的标题,而不是Emacs内灰色栏中的位。更改此选项非常有用,这样您可以在 Alt + TAB 或任务栏中区分不同的窗口。
我找到了这个,这对我来说可以显示光标聚焦的缓冲区的名称:
(setq frame-title-format "%b - Emacs")