是否有Emacs变量来关闭具有特定扩展名的文件备份?

jus*_*nhj 5 emacs backup elisp

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

justinhj

Sea*_*ght 9

我讨厌简单地引用其他在线资源来解决这些问题,但这似乎非常适合您的需求.

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

一旦您设置了该页面上描述的内容,您可以根据您的emacs版本将其添加到您的.emacs.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))
Run Code Online (Sandbox Code Playgroud)

其中\\.ext1$,\\.ext2$等等是与您不希望备份的文件名匹配的正则表达式.


sco*_*zer 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)
Run Code Online (Sandbox Code Playgroud)