A buffer-local alternative to Emacs's built-in auto-save-visited-mode.
auto-save-visited-local-mode provides automatic saving of file-visiting buffers on a per-buffer basis, unlike the global auto-save-visited-mode. This allows you to enable auto-saving for specific buffers without affecting your entire Emacs session.
- Buffer-local: Only affects the current buffer, not all buffers
- Feature-aligned: Mirrors the behavior of built-in
auto-save-visited-mode - Configurable interval: Set custom idle time before auto-saving
- Silent mode: Optionally suppress save messages
- Custom predicates: Filter which buffers should be auto-saved
- Smart defaults: Skips remote files, read-only files, and indirect buffers
- Emacs 26.1 or later
(package-install 'auto-save-visited-local-mode)Clone this repository and add to your load-path:
(add-to-list 'load-path "/path/to/auto-save-visited-local-mode")
(require 'auto-save-visited-local-mode)Enable the mode in the current buffer:
M-x auto-save-visited-local-modeOr programmatically:
(auto-save-visited-local-mode);; Auto-save after 10 seconds of idle time (default is 5)
(setq-local auto-save-visited-local-interval 10);; Suppress auto-save messages
(setq-local auto-save-visited-local-silent t);; Only auto-save buffers in certain directories
(setq-local auto-save-visited-local-predicate
(lambda ()
(string-prefix-p "/home/user/projects/"
(or buffer-file-name ""))));; Enable for all org-mode buffers
(add-hook 'org-mode-hook #'auto-save-visited-local-mode-turn-on)
;; Enable for all markdown files
(add-hook 'markdown-mode-hook #'auto-save-visited-local-mode-turn-on)Use .dir-locals.el to enable for all files in a directory:
((nil . ((eval . (when (fboundp 'auto-save-visited-local-mode)
(auto-save-visited-local-mode-turn-on))))))Or for specific modes with custom settings:
((org-mode . ((eval . (when (fboundp 'auto-save-visited-local-mode)
(auto-save-visited-local-mode-turn-on)))
(auto-save-visited-local-interval . 10)
(auto-save-visited-local-silent . t))))| Feature | auto-save-visited-mode |
auto-save-visited-local-mode |
|---|---|---|
| Scope | Global (all buffers) | Buffer-local |
| Configuration | Single global setting | Per-buffer customization |
| Use case | Same behavior everywhere | Different settings per buffer/project |
Contributions are welcome! Please feel free to submit issues or pull requests.
GPL-3.0-or-later
auto-save-visited-mode- The built-in global equivalentauto-save-mode- Traditional Emacs auto-save to#file#backups