Hatena::ブログ(Diary)

わからん

2010.06.08

[] バッファの削除と復元を気軽に行う

バッファの削除と復元を手軽に行える,小さなコードを書きました。以前どこかで見かけたものをスタックで書き直しました。以下の設定を dot.emacs に付け足せば,C-x k でのバッファ削除時に yes-no 確認を行いません。削除したファイル名を保存していくので,C-x / でどんどん開き直せます。

(require 'cl)

(defvar my-killed-file-name-list nil)

(defun my-push-killed-file-name-list ()
  (when (buffer-file-name)
    (push (expand-file-name (buffer-file-name)) my-killed-file-name-list)))

(defun my-pop-killed-file-name-list ()
  (interactive)
  (unless (null my-killed-file-name-list)
    (find-file (pop my-killed-file-name-list))))

(add-hook 'kill-buffer-hook 'my-push-killed-file-name-list)

(global-set-key "\C-xk" (lambda() (interactive)(kill-buffer (buffer-name))))
(global-set-key "\C-x/" 'my-pop-killed-file-name-list)

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

Google