我总是在 Guake 中以非 Windows 模式 (emacs -nw) 使用 emacs,并且我已将 guake 设置为在我所在的同一目录中打开一个新选项卡。
我的目的是:
- 如果我在 emacs 中处理某个文件,并打开一个新选项卡,我希望路径 (
PWD variable
) 与该文件相同。 - 当我关闭 emacs 时,PWD 变量将恢复为其原始值。
如何设置我的.emacs
文件来实现这一目标?
借助 wvxvw 的回答:
(defvar pwd-orig (getenv "PWD"))
(add-hook 'find-file-hook
(lambda () (setenv "PWD" default-directory)))
(add-hook 'kill-emacs-hook (lambda () (setenv "PWD" pwd-orig)))
M-xcd
你可以.emacs
像这样使用它:
(defvar initial-directory (getenv "PWD"))
(cd "~/some-directory/")
(add-hook 'kill-emacs-hook (lambda () (cd initial-directory)))
抱歉,我没有测试上述内容,但看起来它可以工作。(不确定需要多少参数'kill-emacs-hook
。