5

例如,在编辑各种数据文件时,备份数据是没有用的,实际上会绊倒我们的工具。所以我希望能够禁用名称中包含正则表达式的文件的备份。

贾斯汀

4

3 回答 3

9

我讨厌简单地参考其他在线资源来解决此类问题,但这似乎非常适合您的需求。

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

一旦您设置了该页面上描述的内容,您可以根据您的 emacs 版本将其添加到您的.emacsor文件中:.emacs.d/init.el

(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$等是与您不想备份的文件名匹配的正则表达式。

于 2009-01-27T03:34:43.930 回答
5

如果您想使用内置的 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)
于 2009-01-27T14:53:53.390 回答
3

您总是可以要求 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)))
于 2009-01-27T12:44:06.910 回答