我希望我的emacs缓冲区具有与文件名不同的名称.我不是每次都手动设置,而是希望根据文件内容自动执行此操作,例如:
//局部变量:
// buffer-name:MyName
//结束:
但这不起作用,因为buffer-name是一个函数,而不是一个变量.我怎样才能做到这一点?
你可以说:
// Local Variables: // eval: (rename-buffer "my-buffer-name-here") // end:
这是一个技巧.
否则,您可以find-file-hook
在.emacs
其中编写一个钩子,将缓冲区重命名为特定的局部变量内容.就像是:
(defvar pdp-buffer-name nil) (defun pdp-rename-buffer-if-necessary () "Rename the current buffer according to the value of variable" (interactive) (if (and pdp-buffer-name (stringp pdp-buffer-name)) (rename-buffer pdp-buffer-name))) (add-hook 'find-file-hook 'pdp-rename-buffer-if-necessary)
然后在您的特定文件中
// Local Variables: // pdp-buffer-name: "pierre" // end:
拥有更多的脑力,你可以有一个更好的解决方案.
请注意,您的需求可能已存在扩展.查看Emacs维基.