例如,在编辑各种数据文件时,备份数据没有用,实际上是我们的工具。所以我希望能够禁用名称中包含正则表达式的文件的备份。
justinhj
答案 0 :(得分:9)
我讨厌简单地引用其他在线资源来解决这些问题,但这似乎非常适合您的需求。
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$
等是与您不希望备份的文件名匹配的正则表达式。
答案 1 :(得分: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)))
答案 2 :(得分:3)
如果您想使用内置的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)