Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time

License GPL 3 MELPA MELPA Stable


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.


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-install 'super-save))

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

M-x package-refresh-contents


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

(use-package super-save
  :ensure t
  (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.


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)


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)

Sometimes you might want to exclude specific files from super-save. You can achieve this via super-save-exclude, for example:

(setq super-save-exclude '(".gpg"))


Copyright © 2015-2020 Bozhidar Batsov and contributors.

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


Save Emacs buffers when they lose focus




No packages published
You can’t perform that action at this time.