Emacs, изменение переменной $PWD

Я всегда работаю с emacs в режиме без окон (emacs -nw) внутри Guake, и я установил guake, чтобы открыть новую вкладку в том же каталоге, в котором я сейчас нахожусь.

Моя цель:

  • Если я работаю с определенным файлом в emacs и открываю новую вкладку, мне нужен путь (PWD variable) то же самое из файла.
  • Когда я закрываю emacs, переменная PWD восстанавливается с ее первоначальным значением.

Как я могу установить мой .emacs файл для достижения этого?

2 ответа

Решение

С помощью ответа 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)))

MxcdYou can use it in .emacs как это:

(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 принимает.

Другие вопросы по тегам