ElScreen
Screen風の画面切り替え用Emacsスクリプト。タブ表示・操作が便利。
.emacs.el
;; ElScreen (require 'elscreen) (if window-system (define-key elscreen-map "\C-z" 'iconify-or-deiconify-frame) (define-key elscreen-map "\C-z" 'suspend-emacs))
使い方
- C-z c : 新規ウィンドウ
- C-z k : ウィンドウを閉じる
- C-z K : 他のウィンドウを閉じる
- C-z p : 前のウィンドウ
- C-z n : 次のウィンドウ
- C-z a : 直前のウィンドウ
- C-z 0-9 : ウィンドウ番号指定
C-z はデフォルトでsuspendなので、変更したければ
(setq elscreen-prefix-key "\C-z")
C-x C-zもsuspendなので、とりあえずそのまま。
escreen.elの
(defcustom elscreen-display-tab t
を
(defcustom elscreen-display-tab nil
にしてやればタブが消えて見た目スッキリ。
以下を.emacs.elに足せばtitleにスクリーンの一覧が表示されるので、クリックでタブを切り替えたりしないのであれば困らない。
(defun elscreen-frame-title-update () (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 (mapconcat (lambda (screen) (format "%d%s %s" screen (elscreen-status-label screen) (get-alist screen screen-to-name-alist))) screen-list " "))) (if (fboundp 'set-frame-name) (set-frame-name title) (setq frame-title-format title))))) (eval-after-load "elscreen" '(add-hook 'elscreen-screen-update-hook 'elscreen-frame-title-update))