Emacsのバッファをウィンドウに固定するマイナーモード

Emacsのウィンドウをたくさん分割していて、固定できたらなと調べたらマイナーモードがありました。


(defvar sticky-buffer-previous-header-line-format)
(define-minor-mode sticky-buffer-mode
  "Make the current window always display this buffer."
  nil " sticky" nil
  (if sticky-buffer-mode
      (progn
        (set (make-local-variable 'sticky-buffer-previous-header-line-format)
             header-line-format)
        (set-window-dedicated-p (selected-window) sticky-buffer-mode))
    (set-window-dedicated-p (selected-window) sticky-buffer-mode)
    (setq header-line-format sticky-buffer-previous-header-line-format)))

M-x sticky-buffer-mode で固定します。

こちらを参考に、モードを解除したらtabbar.elなどのヘッダーを戻すように改良しました。: Lock buffer to window