代码之家  ›  专栏  ›  技术社区  ›  justinhj

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

  •  5
  • justinhj  · 技术社区  · 17 年前

    例如,在编辑各种数据文件时,备份数据是没有用的,实际上会占用我们的工具。因此,我希望能够禁用名称中包含regexp的文件的备份。

    贾斯丁

    3 回复  |  直到 15 年前
        1
  •  9
  •   Sean Bright Sean Stinehour    17 年前

    我不想简单地参考其他在线资源来回答这些问题,但这似乎非常适合您的需要。

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

        2
  •  3
  •   scottfrazer    17 年前

    如果要使用内置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
  •  3
  •   Nifle Hassan Syed    15 年前

    您可以随时要求emacs将备份/自动保存文件放在home目录中。

    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)))