3

我在 Windows XP 中使用 Gnu emacs,默认窗口标题为“emacs@ACH1797VM2”,而不是缓冲区标题,据我所知,这是我想要的,也是正确的默认行为。

阅读https://stackoverflow.com/a/2338352/1001165后,我将以下行放在 ~/.emacs 文件的末尾,但行为没有变化。

(setq frame-title-format "%b - emacs")

我可以更改窗口标题就好了

M-x set-frame-name NewName RET

但我希望它自动更改以匹配缓冲区名称。

4

4 回答 4

4

我会说这条线是正确的。您可以将表达式复制并粘贴到*scratch*缓冲区中并点击C-J. 如果窗口标题发生变化,那么当您在.init.el. 还有一种可能是您的 init 文件不在正确的位置或命名不正确……如果我在 Windows 中没记错的话,它不是以点开头,而是以下划线开头。

于 2012-03-20T22:42:29.590 回答
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] 中查看更多选项。此外,如果您正在修改任何缓冲区,“ • ”将显示,表示您正在修改。

希望有所帮助。

[1]。http://www.emacswiki.org/emacs/FrameTitle

于 2015-10-14T21:23:17.117 回答
1

这就是我的 .emacs 中的内容。不确定它有什么效果。

(setq-default frame-title-format '(buffer-file-name "%f" "%b")) ; I already know this is Emacs
于 2012-03-21T02:20:13.773 回答
1

我宁愿认为这意味着窗口顶部的标题,而不是 Emacs 内灰色栏中的位。Alt更改此设置很有用,以便您可以在转到+TAB或在任务栏中区分不同的窗口。

我找到了这个,它可以显示光标所聚焦的缓冲区的名称:

(setq frame-title-format "%b - Emacs")

链接

于 2015-02-23T11:26:18.847 回答