【问题标题】:Gnu emacs window title defaultGnu emacs 窗口标题默认
【发布时间】:2012-04-05 00:15:21
【问题描述】:

我在 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

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

【问题讨论】:

  • 我很确定这是正确的。启动emacs后,frame-title-format变量的值是多少?
  • frame-title-format 设置为(multiple-frames "%b" ("" invocation-name "@" system-name))
  • 关键是要找到合适的.emacs文件。不知道它是怎么发生的,因为我在两个位置都有 .emacs...

标签: windows emacs titlebar custom-titlebar


【解决方案1】:

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

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

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

Link.

【讨论】:

  • 除非Emacs 中的大写 E 有所不同,否则您只是指出我在原始帖子中编写的代码。
【解决方案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

【讨论】:

    【解决方案3】:

    这就是我的 .emacs 中的内容。不知道有没有效果。

    (setq-default frame-title-format '(buffer-file-name "%f" "%b")) ; I already know this is Emacs
    

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 下划线其实好像是DOS的东西;至少,我基于 Windows 的 Emacs 可以很好地与 ~/.emacs...
      • 当我按照您的建议在暂存缓冲区中点击C-J 时,会添加另一行:"%b - emacs"
      • 感谢您的帮助。我想通了。问题是 HOME 有两个位置,我修改了错误的 .emacs 文件。 :-(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多