Save Emacs buffers when they lose focus
Switch branches/tags
Clone or download

README.md

License GPL 3 MELPA MELPA Stable

super-save

super-save auto-saves your buffers, when certain events happen - e.g. you switch between buffers, an Emacs frame loses focus, etc. You can think of it as both something that augments and replaces the standard auto-save-mode.

Installation

Available on all major package.el community maintained repos - MELPA Stable and MELPA repos.

MELPA Stable is recommended as it has the latest stable version. MELPA has a development snapshot for users who don't mind breakage but don't want to run from a git checkout.

You can install super-save using the following command:

M-x package-install [RET] super-save [RET]

or if you'd rather keep it in your dotfiles:

(unless (package-installed-p 'super-save)
  (package-refresh-contents)
  (package-install 'super-save))

If the installation doesn't work try refreshing the package list:

M-x package-refresh-contents

use-package

If you're into use-package you can use the following snippet:

(use-package super-save
  :ensure t
  :config
  (super-save-mode +1))

Emacs Prelude

super-save started its life as the extraction of a similar functionality I had originally developed for Emacs Prelude and the package is bundled with Prelude.

Usage

Add the following to your Emacs config to enable super-save:

(super-save-mode +1)

If you want to enable the additional feature of auto-saving buffers when Emacs is idle, add the following as well:

(setq super-save-auto-save-when-idle t)

At this point you can probably switch off the built-in auto-save-mode (unless you really care about its backups):

(setq auto-save-default nil)

Configuration

super-save will save files on command (e.g. switch-to-buffer) and hook triggers (e.g. focus-out-hook).

Both of those are configurable via super-save-triggers and super-save-hook-triggers. Here's a couple of examples:

;; add integration with ace-window
(add-to-list 'super-save-triggers 'ace-window)

;; save on find-file
(add-to-list 'super-save-hook-triggers 'find-file-hook)

You can turn off super-save for remote files like this:

(setq super-save-remote-files nil)

License

Copyright © 2015-2018 Bozhidar Batsov and contributors.

Distributed under the GNU General Public License; type C-h C-c to view it.