Emacs自动保存仅限于Org模式

5
我将使用自动保存功能来保存我的org-mode文件,但我只希望它在这个模式下工作,而不是其他模式。这样做容易吗?
以下是我的org-mode选项:
;; Org-mode options
(add-hook 'org-mode-hook
          'turn-on-visual-line-mode
          'auto-save-mode)
(add-hook 'org-mode-hook '(lambda()
                (setq auto-save-visited-file-name t)
                (setq auto-save-interval 20)))

注意: 如需查看我的完整配置,请参阅https://github.com/map7/simple_emacs

2个回答

9
这将为您提供org-mode中自动保存文件名称的自定义。
(add-hook 'org-mode-hook 'my-org-mode-autosave-settings)
(defun my-org-mode-autosave-settings ()
  ;; (auto-save-mode 1)   ; this is unnecessary as it is on by default
  (set (make-local-variable 'auto-save-visited-file-name) t)
  (setq auto-save-interval 20))

注意:'org-mode-hook中添加'auto-save-mode会将自动保存功能关闭,因为它默认是开启的(除非你已经全局关闭了它)。


使用Ubuntu 14.10提供的org-mode 8.2.7和Emacs 24.3.1软件包,这对我不起作用。 - David
已解决:为了使其工作,必须在将本地变量auto-save-visited-file-name更改后运行(auto-save-mode t),因为在重新启用自动保存之前,更改不会在现有缓冲区中生效。 - David
我们能否禁用特定模式的自动保存,但保留其他所有模式的自动保存? - alper

0
最简单的方法是添加一个自动保存钩子。
(add-hook 'auto-save-hook 'org-save-all-org-buffers)

如果您正在使用共享文件夹或基于云的文件夹来同步您的org文件,您可能也对以下自动恢复功能感兴趣:
(add-hook 'org-mode-hook
          '(lambda ()
             (auto-revert-mode 1)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接