2012-03-20 64 views
2

我在Windows XP中使用Gnu emacs,並且默認窗口標題顯示爲「emacs @ ACH1797VM2」而不是緩衝區標題,這正是我想要的,哪個是正確的默認行爲,迄今爲止我所知。Gnu emacs窗口標題默認

在讀取https://stackoverflow.com/a/2338352/1001165後,我在〜/ .emacs文件末尾放置了以下行,但行爲沒有變化。

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

我可以改變窗口標題只是

M-x set-frame-name NewName RET 

不錯,但我想它會自動改變以匹配緩衝區名。

+0

我很確定這是正確的。在啓動emacs之後,'frame-title-format'變量的值是多少? – jtahlborn 2012-03-20 14:34:47

+0

frame-title-format被設置爲'(多幀「%b」(「」invocation-name「@」system-name))''。 – 2012-03-23 14:39:13

+0

關鍵是找到正確的.emacs文件。不知道它是如何發生的,因爲我在兩個地方都有.emacs ... – 2012-03-23 14:55:05

回答

4

我想說這條線是正確的。您可以複製&將表達式粘貼到*scratch*緩衝區中,並點擊C-J。如果窗口標題發生變化,那麼當您在.init.el中添加行時,它也會發生變化。還有可能是你的init文件不在正確的位置,或者沒有正確命名......如果我在Windows中正確記得它不是以點開頭,而是有下劃線。

+0

下劃線實際上似乎是DOS事物;至少,我的基於Windows的Emacs在'〜/ .emacs'下工作正常...... – SamB 2012-03-23 03:29:31

+0

當我按照你的建議在臨時緩衝區中點擊'CJ'時,會添加另一行:'「%b - emacs」' – 2012-03-23 14:33:43

+0

謝謝您的幫助。我明白了。問題是有兩個位置爲HOME,我修改了錯誤的.emacs文件。 :-( – 2012-03-23 14:54:03

1

這就是我的.emacs中的東西。不確定它有什麼作用。

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

我寧願認爲這意味着窗口頂部的標題,而不是emacs中灰色欄中的位。改變這一點很有用,這樣你可以在ALT + TAB或任務欄中區分不同的窗口。

我發現了這一點,這對我的作品展現在光標聚焦在緩衝區的名字:

(setq幀標題格式「%B - Emacs的」)

在這裏: http://www.thetechrepo.com/main-articles/549-how-to-show-filename-in-title-bar-in-emacs.html

+0

除非'Emacs'中的大寫字母E有所不同,否則您只是指出了我寫入原始文章的代碼。 – 2015-02-24 14:09:36

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