Emacsで直前で閉じたバッファをまた開きたい

区分
Emacs
報告者

こんにちは、chibaです!
Firefoxを使っていると良くお世話になるre-open tab(Ctrl+Shift+T)ですが、Emacsでも欲しくなりました。
ということで早速作ってみましたが、バッファをそのまま復元するというのは分からなかったので、前回閉じたファイルだけ復活できるというバージョンで。
バッファを復元できる方法が分かれば、それを試してみたいですね。

;; utils
(defmacro aif (test then &optional else)
  `(let ((it ,test))
     (if it
         ,then
         ,else)))

(defmacro awhen (test &rest body)
  `(aif ,test
        (progn
          ,@body)))

(progn
  ;; re-open-file
  (defvar *recent-buffers*)
  (setq *recent-buffers* () )
  
  (defadvice kill-buffer (before kill-buffer-before activate)
    (awhen buffer-file-name
      (push it *recent-buffers*)))
  ;; (ad-deactivate 'kill-buffer) 
  
  (defun re-open-file ()
    (interactive)
    (aif *recent-buffers*
         (find-file (pop it))
         (message "null")))
  
  (define-key global-map [(control x) (shift ?k)]
    're-open-file) )

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa