emacs - 是否可以自动保存不访问文件的临时缓冲区?

标签 emacs elisp

假设我正在不访问文件的缓冲区中输入一堆文本(它可能是新的org2blog帖子,或者只是一些临时缓冲区)。如果灾难来袭和Emacs死亡,是否可以将其自动保存到某个地方?

最佳答案

auto-save-mode实际上适用于非文件缓冲区。它只是默认情况下未启用-通常在(after-find-file)中发生。

因此:M-x auto-save-mode RET

默认情况下,自动保存的文件将被写入缓冲区的default-directory(或/var/tmp~/,具体取决于写权限;请参阅C-hv buffer-auto-save-file-name RET),这在崩溃后可能很难理解,因此设置为达到某种标准可能是一个好主意。

如果以交互方式调用customize-variable,则以下内容将确保将这些自动保存的文件写入主目录(或M-x my-non-file-buffer-auto-save-dir RET auto-save-mode RET)。希望可以避免这种情况与auto-save-mode与非文件缓冲区的其他任何使用发生冲突(例如,该代码提到了邮件模式)。

(defcustom my-non-file-buffer-auto-save-dir (expand-file-name "~/")
  "Directory in which to store auto-save files for non-file buffers,
when `auto-save-mode' is invoked manually.")

(defadvice auto-save-mode (around use-my-non-file-buffer-auto-save-dir)
  "Use a standard location for auto-save files for non-file buffers"
  (if (and (not buffer-file-name)
           (called-interactively-p 'any))
      (let ((default-directory my-non-file-buffer-auto-save-dir))
        ad-do-it)
    ad-do-it))
(ad-activate 'auto-save-mode)

关于emacs - 是否可以自动保存不访问文件的临时缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849661/

相关文章:

emacs - Emacs 临时模式下的密码编辑

emacs - 如何区分目录和文件

regex - Emacs:替换文件扩展名

emacs - 交互式选择多个项目

emacs - 在后台操作文件?

emacs - 如何在 emacs 中重置 smtp+gnutls 的缓存密码

emacs - elisp/emacs 中的 rpc 服务器

r - Emacs,R,Sweave : UTF-8 encoding is not recognized when launching Sweave through Emacs

Emacs: 'Find file' 不改变工作目录

Emacs 错误地使用填充段落包装文本