I do always work with emacs in no windows mode (emacs -nw) inside Guake, and I have set guake to open a new tab in the same directory on which I'm in that moment.

My purpose is:

  • If I work with a certain file in emacs, and I open a new tab, I want the path (PWD variable) is the same of the file.
  • When I close emacs, the PWD variable is restored with its original value.

How can I set my .emacs file to achieve that?

有帮助吗?

解决方案

With the help of wvxvw's answer:

(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 You can use it in .emacs like this:

(defvar initial-directory (getenv "PWD"))
(cd "~/some-directory/")
(add-hook 'kill-emacs-hook (lambda () (cd initial-directory)))

Sorry, I didn't test the above, but it looks like it would work. (Not sure about how many arguments the 'kill-emacs-hook takes.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top