Scratch bufferを付箋として使う
Emacsのscratchバッファーを簡易メモとして使うために作られたパッケージはいくつかありますが、設定だけで実現できる簡単なものを紹介します。必要な手順は以下の通りです。
- Scratch buffer を kill させない。
- Scratch buffer の内容を記憶させる。
- ワンキーで Scratch bufferを表示させる。
Scratch buffer を kill させない
特にpackageを導入せずともemacsの標準機能で実現できます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Set buffer that can not be killed.
(with-current-buffer "*scratch*"
(emacs-lock-mode 'kill))
設定反映後、scratch bufferを kill-buffer
すると Buffer "*scratch*" is locked and cannot be killed
とmessageがでます。
Scratch buffer の内容を記憶させる
persistent-scratch
というpackageもありますが、大方のemacserは使っていると思う auto-save-buffers-enhanced
の設定で実現できます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; auto-save-buffers-enhanced
(setq auto-save-buffers-enhanced-quiet-save-p t)
;; scratch bufferを `~/.emacs.d/scratch` に保存
(setq auto-save-buffers-enhanced-save-scratch-buffer-to-file-p t)
(setq auto-save-buffers-enhanced-file-related-with-scratch-buffer
(locate-user-emacs-file "scratch"))
(auto-save-buffers-enhanced t)
ワンキーで Scratch bufferを表示させる
popwinの機能を使います。my:pop-scratch
を起動するとscratch bufferがpopupします。メモしたあと C-g
で隠せるので便利です。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Popup the scratch buffer
(bind-key
"s-x"
(defun my:pop-scratch ()
"Popup the scratch buffer."
(interactive)
(setq popwin:special-display-config '("*scratch*"))
(display-buffer "*scratch*")))