/auto-save

Automatically saves the current file after every modification

Primary LanguagePythonMIT LicenseMIT

auto-save

A Sublime Text plugin that automatically saves the current file after every modification.

Synopsis

In the occasion where you'd want Sublime Text to save the current file after each change, you can use this plugin.

Demo

Image

Installation

From Package Control

auto-save is available through Sublime Package Control and is the recommended way to install.

From Github

Alternatively, you may install via GitHub by cloning this repository into the Packages directory under Sublime Text's data directory:

On Mac:

cd ~/Library/Application Support/Sublime Text 3/Packages
git clone https://github.com/jamesfzhang/auto-save.git

Usage

By default, auto-save is disabled because it is a fairly invasive plugin. To make it less invasive, you can instruct it to only auto-save changes to the file that is active when you turn on auto-save. In this mode, it will ignore changes to all other files.

To run auto-save whenever a file is modified, set "auto_save_on_modified": true in your user settings. To ignore certain files, set auto_save_ignore_files to a list of file suffices like [".yml", "package.json"].

You can also instruct it to auto-backup the file instead of auto-saving it. The backup gets created in the same directory as its source file. The backup file takes the same name as its source file, with the string .autosave inserted directly before the file extension. When auto-save is disabled, the backup file is deleted.

There are two ways to enable it. You can press Command + Shift + P to bring up the Command Palette, and search for AutoSave. Here, there are 3 options:

  • Toggle AutoSave: all files
  • Toggle AutoSave: current file only
  • Toggle AutoSave Backup: current file only

Alternatively, you can bind commands to turn the plugin on or off. For example, to toggle auto-save for all files, open "Preferences / Key Bindings - User" and add:

{ "keys": ["ctrl+shift+s"], "command": "auto_save" }

To toggle it for only the current file, and instruct to make a backup of the file instead of saving the file itself, you could add:

{ "keys": ["ctrl+shift+s"], "command": "auto_save", "args": {"all_files": false, "backup": true} }

This key bindings file takes an array of key bindings so please ensure that this key binding, along with any existing ones, are properly wrapped in [].

With this setting, pressing Ctrl + Shift + S will turn the plugin on or off. A status message will be displayed in the Sublime Status Bar each time the plugin is turned on or off.

By default, auto-save debounces "save" events by 1 second. For fast typers, this improves performance dramatically such that "save" events are not called constantly, just when it matters.

License

MIT-License.

Author

auto-save was created and maintained by James Zhang. Give him a shoutout at @jamesfzhang if you have comments or questions.