Предотвращение автоматического изменения по умолчанию-каталог

голоса
15

В соответствии с Документами Emacs , каждый раз , когда вы открываете файл, Emacs изменения default-directoryв каталог , содержащий этот файл.

Затем, если курсор находится в этом буфере и вы (например) запустить SLIME, он использует в default-directoryкачестве текущего рабочего каталога для SLIME. При попытке открыть новый файл, он открывает файл с в default-directoryкачестве отправной точки.

Я хочу быть в состоянии M-x cdили иным образом cdв каталог, а затем никогда не Emacs изменить свой текущий рабочий каталог на что - нибудь , но этот каталог , пока я не скажу иначе. Я хочу , чтобы это было глобальным во всех буферов, так что каждый раз , что я делаю что - то с участием текущий рабочий каталог, я знаю , что он установлен в независимо от того, где мой курсор находится в данный момент. Есть ли способ сделать это?

Задан 09/12/2008 в 23:31
источник пользователем
На других языках...                            


3 ответов

голоса
11

Вы можете попробовать использовать что-то вроде этого:

(add-hook 'find-file-hook
          (lambda ()
            (setq default-directory command-line-default-directory)))
Ответил 10/12/2008 в 00:50
источник пользователем

голоса
4

Другой вариант заключается в связывании по умолчанию-каталог в нужную директорию в папку локального переменных, например , в файле .dir-locals.el в одном из ваших родительских каталогов на что - то вроде:

((nil . ((default-directory . "~/.emacs.d/"))))
Ответил 17/12/2008 в 22:59
источник пользователем

голоса
1

Это лучшее, что я придумал до сих пор, к сожалению:

(defun find-file-save-directory ()
    (interactive)
    (setq saved-default-directory default-directory)
    (ido-find-file)
    (setq default-directory saved-default-directory))
(global-set-key "\C-x\C-f" 'find-file-save-directory)

Это работает до тех пор , как default-directoryправильно установить , прежде чем я C-x C-f. Я собираюсь Принять ответ юрта для указывая мне в полезном направлении.

Ответил 18/01/2009 в 19:55
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more