我emacs的版本:GNU Emacs的24.3.1(x86_64的-红帽Linux的GNU的,GTK +版本3.10.9)的2014年5月21日在buildvm-07.phx2.fedoraproject.org为什么我的帧标题格式不起作用?
我希望的Emacs的标题显示当前文件的绝对路径。我写了下面的内容(来自互联网):
;;;Emacs title bar to reflect file name
(defun frame-title-string()
"Return the file name of current buffer, using ~ if under home directory"
(let
((fname (or
(buffer-file-name (current-buffer))
(buffer-name))))
;;let body
(when (string-match (getenv "HOME") fname)
(setq fname (replace-match "~" t t fname)) )
fname))
;;; Title = 'system-name File: foo.bar'
(setq frame-title-format '("" system-name " File: "(:eval (frame-title-string))))
重新安装FC20 +的Emacs之前,上面的内容能正常工作。现在除了我手动打开.emacs和eval frame-title-format,它不起作用,我不知道为什么我必须手动评估它。
不是你的问题相关,但你可以只用'缩写文件-name',而不是试图匹配的环境变量'HOME'等 – Drew 2014-09-01 14:30:26
我还没有找到它为什么没有工作,但这[回答](http://stackoverflow.com/a/12009623/1054800)作品! – abelard2008 2014-09-01 14:58:15
如果代码在您手动评估时运行,则问题很可能位于其他位置。当你启动Emacs时你有错误吗?您的init文件中是否有其他代码可能导致此问题?找到问题的一个好方法是尽量减少init文件。如果有效,那么将其扩展到问题再次出现,这样可以缩小问题的范围。 – Lindydancer 2014-09-01 11:36:53