Как я могу скрыть файлы резервных копий, которые создает emacs? - PullRequest
15 голосов
/ 07 января 2010

Я только начал использовать emacs после долгого использования vi. :)

Одна вещь, которая меня раздражает, это то, что всякий раз, когда я изменяю файл, сохраняю его и выхожу из emacs, я вижу файл резервной копии, созданный в том же каталоге с именем filename~ (если файл, который я редактировал, был filename).

Есть ли способ, которым я могу избавиться от этого? Или скрыть эти файлы? очень раздражает видеть тонны файлов резервных копий, когда я делаю ls каталога.

Ответы [ 4 ]

19 голосов
/ 07 января 2010

Вы можете переместить их в свою собственную папку с помощью следующего кода:

;; Don't clutter up directories with files~
(setq backup-directory-alist `(("." . ,(expand-file-name
                                    (concat dotfiles-dir "backups")))))

;; Don't clutter with #files either
(setq auto-save-file-name-transforms
      `((".*" ,(expand-file-name (concat dotfiles-dir "backups")))))

Или вы можете удалить их полностью, например:

(setq make-backup-files nil)
(setq auto-save-default nil)

Лично я бы с осторожностью удалил их, поскольку они могут пригодиться. Дальнейшее обсуждение здесь:

Я бы порекомендовал проверить emacs-starter-kit , он решает множество проблем, возникающих у людей при переходе на emacs, и довольно активно используется.

http://github.com/technomancy/emacs-starter-kit/blob/master/starter-kit-misc.el


Обновление:

Кажется, есть много путаницы по поводу того, как использовать функции. Я собираюсь немного поиграть позже, но вот еще немного информации. Обратите внимание, что auto-save-file-name-transforms:

позволяет указать серию регулярных выражений и замен для преобразования имени файла автосохранения [Emacs-руководство]

так что это не так просто, как добавить имя папки. Тем не менее, кажется, что из быстрого поиска в Google следующее может просто сделать то, что вы все хотите:

;;; backup/autosave
(defvar backup-dir (expand-file-name "~/.emacs.d/backup/"))
(defvar autosave-dir (expand-file-name "~/.emacs.d/autosave/"))
(setq backup-directory-alist (list (cons ".*" backup-dir)))
(setq auto-save-list-file-prefix autosave-dir)
(setq auto-save-file-name-transforms `((".*" ,autosave-dir t)))

http://www.google.com/codesearch?hl=en&lr=&q=auto-save-file-name-transforms&sbtn=Search

5 голосов
/ 07 января 2010

В следующих строках ~/.emacs все файлы автосохранения и резервного копирования будут помещены в /tmp:

(setq backup-directory-alist
      `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))
0 голосов
/ 07 января 2010

Вот ссылка на тот же вопрос, на который ответил SuperUser и мой ответ . И вопрос StackOverflow под названием Emacs: не создавайте # эти # файлы, если не сохранен измененный буфер

И для полноты, как заявлено другими; чтобы остановить создаваемые файлы резервных копий, вставьте это в .emacs

(setq make-backup-files nil)
0 голосов
/ 07 января 2010

В вашем .emacs:

(setq make-backup-files nil)

Edit: Если вы не знакомы с файлом .emacs, это файл с именем .emacs, который находится в вашем каталоге $ HOME пользователя. Если у вас его еще нет, вы можете просто создать его, и emacs загрузит его при запуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...