emacsでscreenコマンドみたいにscreenを使い分けたい!

こちらでelscreenというelを公開されている.

絶句.

馬鹿な,自分は今までなんて馬鹿な事をしていたのか..

これでいくらでもスクリーンを作って並列に作業ができる.しかもバッファの切り替えなしで...

インストールは簡単でいつものようにelファイルを自分のsite-lispに入れてコンパイル

で,読み込み設定ついでにオフィシャルを参考に少し設定を追加.

;; elscreen.el
(load "elscreen" "ElScreen" t)

;; display list of screens on frame
(defun elscreen-frame-title-update ()
  (defun elscreen-status (screen)
    (let ((current-screen (elscreen-get-current-screen))
	  (previous-screen (elscreen-get-previous-screen)))
      (cond
       ((eq screen current-screen) t)
       ((eq screen previous-screen) nil)
       (t nil))))

  (when (elscreen-screen-modified-p 'elscreen-frame-title-update)
    (let* ((screen-list (sort (elscreen-get-screen-list) '<))
	   (screen-to-name-alist (elscreen-get-screen-to-name-alist))
	   (title-frame-list (mapconcat
			      (lambda (screen)
				(if (elscreen-status screen)
				    (format "<%d>"
					    screen)
				  (format "%d"
					  screen)))
			      screen-list ", "))
	   (title-header "Emacs : ")
	   (title (concat title-header title-frame-list)))
      (set-frame-name title))))

(eval-after-load "elscreen"
  '(add-hook 'elscreen-screen-update-hook 'elscreen-frame-title-update))

;; when there is only a screen, 
;; make new screen automatically by selecting next or previous tab
(defmacro elscreen-create-automatically (ad-do-it)
  `(if (not (elscreen-one-screen-p))
       ,ad-do-it
     (elscreen-create)
     (elscreen-notify-screen-modification 'force-immediately)
     (elscreen-message "New screen is automatically created")))

(defadvice elscreen-next (around elscreen-create-automatically activate)
  (elscreen-create-automatically ad-do-it))

(defadvice elscreen-previous (around elscreen-create-automatically activate)
  (elscreen-create-automatically ad-do-it))

(defadvice elscreen-toggle (around elscreen-create-automatically activate)
  (elscreen-create-automatically ad-do-it))

;; not display tab
(setq elscreen-display-tab nil)

ああ,幸せ!!

    • -

神は最初にアセンブラlispを書き,

carとcdrを最初に与えたもうた.

そしてbuildworldする為にemacsを書いたが,

emacsはでかすぎた為にbuildworldが完成しなかった.

そしてバグと未実装は仕様となった.

だから人間は不完全だ!

そしてemacsは最高だ!