Существует ли переменная Emacs для отключения резервного копирования файлов с определенным расширением? - PullRequest
5 голосов
/ 27 января 2009

Например, при редактировании различных файлов данных резервные копии бесполезны и фактически отключают наши инструменты. Поэтому я хотел бы иметь возможность отключить резервное копирование для файлов, содержащих в имени регулярное выражение.

justinhj

Ответы [ 3 ]

9 голосов
/ 27 января 2009

Я не хочу просто ссылаться на другие онлайн-ресурсы для подобных вопросов, но это, кажется, идеально подходит для ваших нужд.

http://anirudhs.chaosnet.org/blog/2005.01.21.html

После того, как вы настроите то, что описано на этой странице, вы можете просто добавить это в ваш файл .emacs или .emacs.d/init.el в зависимости от вашей версии emacs:

(setq auto-mode-alist (append '(("\\.ext1$" . sensitive-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.ext2$" . sensitive-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.ext3$" . sensitive-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.ext4$" . sensitive-mode)) auto-mode-alist))

Где \\.ext1$, \\.ext2$ и т. Д. - это регулярные выражения, соответствующие именам файлов, для которых вы не хотите создавать резервные копии.

3 голосов
/ 27 января 2009

Если вы хотите использовать встроенную функциональность Emacs, сделайте что-то вроде этого:

(defvar my-backup-ignore-regexps (list "foo.*" "\\.bar$")
  "*List of filename regexps to not backup")

(defun my-backup-enable-p (name)
  "Filter certain file backups"
  (when (normal-backup-enable-predicate name)
    (let ((backup t))
      (mapc (lambda (re)
              (setq backup (and backup (not (string-match re name)))))
            my-backup-ignore-regexps)
      backup)))

(setq backup-enable-predicate 'my-backup-enable-p)
3 голосов
/ 27 января 2009

Вы всегда можете попросить emacs поместить файлы резервной копии / автосохранения в вашу домашнюю директорию.

http://amitp.blogspot.com/2007/03/emacs-move-autosave-and-backup-files.html

(defvar user-temporary-file-directory
  (concat temporary-file-directory user-login-name "/"))
(make-directory user-temporary-file-directory t)
(setq backup-by-copying t)
(setq backup-directory-alist
      `(("." . ,user-temporary-file-directory)
        (,tramp-file-name-regexp nil)))
(setq auto-save-list-file-prefix
      (concat user-temporary-file-directory ".auto-saves-"))
(setq auto-save-file-name-transforms
      `((".*" ,user-temporary-file-directory t)))
...