是否有一个Emacs变量用于关闭具有特定扩展名的文件备份?
例如,在编辑各种数据文件时,备份数据毫无用处,实际上会使我们的工具失灵。因此,我希望能够禁用名称中包含regexp的文件的备份是否有一个Emacs变量用于关闭具有特定扩展名的文件备份?,emacs,backup,elisp,Emacs,Backup,Elisp,例如,在编辑各种数据文件时,备份数据毫无用处,实际上会使我们的工具失灵。因此,我希望能够禁用名称中包含regexp的文件的备份 justinhj我不喜欢简单地参考其他在线资源来回答这些问题,但这似乎非常适合您的需要 设置完该页面上的描述后,您可以将其添加到.emacs或.emacs.d/init.el文件中,具体取决于您的emacs版本: (setq auto-mode-alist (append '(("\\.ext1$" . sensitive-mode)) auto-mode-alist
justinhj我不喜欢简单地参考其他在线资源来回答这些问题,但这似乎非常适合您的需要 设置完该页面上的描述后,您可以将其添加到
.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$
等是与您不希望备份的文件名相匹配的正则表达式。您可以随时要求emacs将备份/自动保存文件放在您的主目录中
如果要使用内置的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)
但是,当然,当您这样设置时,您会失去自动模式列表的常规功能。我只想(添加hook'some mode hook#'sensitive-mode)到您不需要备份的模式。谢谢Sean,这很好。jrockway:我不确定我失去的东西会有什么影响。我猜你的意思是敏感模式成为这些文件的唯一模式?例如,我不能在c或html模式下打开.obj文件?@justinhj根据回答中的博客帖子,
敏感模式
被定义为次要模式,因此允许您在适当的主要模式下打开c或html文件,而不会产生冲突。
(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)