LoginSignup
11
8

More than 5 years have passed since last update.

Emacsフォーカスアウトで自動保存

Posted at

EmacsでもIntelliJのように、フォーカスが外れたときに
自動保存ができるelispがありました。

super-save

Save Emacs buffers when they lose focus

特徴

  • Emacsから別のアプリケーションに移ったときや、switch-to-bufferother-windowでバッファ切り替えたときに、元のバッファが自動的に保存されます。
  • auto-save-buffersのように、アイドル時に自動保存することもできます。

設定

パッケージのインストールが済んでいれば、以下の1行だけでOKです。

(super-save-mode +1)

カスタマイズ

ソースを見ると3つdefcustomがありました。

defcustom 説明 デフォルト値
super-save-triggers super-save-commandを起動するコマンド '("switch-to-buffer" "other-window" "windmove-up" "windmove-down" "windmove-left" "windmove-right")
super-save-auto-save-when-idle アイドル時に自動保存する nil
super-save-idle-duration アイドル時自動保存の間隔(秒) 5

設定例

use-package使用時の設定例を以下に示します。
10秒アイドル時に自動保存する設定になっています。

(use-package super-save
  :config
  (setq super-save-auto-save-when-idle t
        super-save-idle-duration 10)
  (super-save-mode +1))

当初、アイドル時の自動保存の設定が動かなかったのですが、
setqを先に書いて、(super-save-mode +1)を一番最後に持ってくると
期待通り動作しました。

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8