- elscreen 20160613.251(in MELPA)
- Emacs window session manager
概要
elscreen.el は古くからあるウィンドウ構成管理Emacs Lispです。
Emacsはたくさんのタスクを同時にこなせるので、
ウィンドウ構成の管理は重要になってきます。
Emacsを使っていると、ウィンドウ構成が変化していきます。
たとえば、文章やコードを書いているときにメールを見ると、
メール用のウィンドウ構成になります。
Twitterを見ていると、Twitter用のウィンドウ構成になります。
そこから再び文章・コードのウィンドウ構成に戻すには手間がかかります。
そこでウィンドウ構成管理Emacs Lispのelscreenの出番です。
僕は初心者時代から windows.el を使ってきていましたが、
今はこのelscreenに乗り換えています。
elscreenを使うと、Emacsは タブエディタ に化けます。
管理しているウィンドウ構成が header-line に書かれて、
わかりやすく切り替えられます。
タブの表示方法は細かく設定できるので、
設定方法にデフォルトの設定を書きました。
自由に変更して試してみてください。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてelscreenを使う方は
以下のコマンドを実行します。
M-x package-install elscreen
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name elscreen
設定 140905083429.elscreen.el(以下のコードと同一)
;;; プレフィクスキーはC-z (setq elscreen-prefix-key (kbd "C-z")) (elscreen-start) ;;; タブの先頭に[X]を表示しない (setq elscreen-tab-display-kill-screen nil) ;;; header-lineの先頭に[<->]を表示しない (setq elscreen-tab-display-control nil) ;;; バッファ名・モード名からタブに表示させる内容を決定する(デフォルト設定) (setq elscreen-buffer-to-nickname-alist '(("^dired-mode$" . (lambda () (format "Dired(%s)" dired-directory))) ("^Info-mode$" . (lambda () (format "Info(%s)" (file-name-nondirectory Info-current-file)))) ("^mew-draft-mode$" . (lambda () (format "Mew(%s)" (buffer-name (current-buffer))))) ("^mew-" . "Mew") ("^irchat-" . "IRChat") ("^liece-" . "Liece") ("^lookup-" . "Lookup"))) (setq elscreen-mode-to-nickname-alist '(("[Ss]hell" . "shell") ("compilation" . "compile") ("-telnet" . "telnet") ("dict" . "OnlineDict") ("*WL:Message*" . "Wanderlust")))
実行方法
$ wget http://rubikitch.com/f/140905083429.elscreen.el $ emacs -Q -f package-initialize -l 140905083429.elscreen.el
使い方
使い方はGNU Screenに準拠しています。
他にも、新しいelscreenでファイル・バッファ・diredを開くコマンドもあります。
C-z C-c | 新しいelscreenを作る |
---|---|
C-z C-k | 現在のelscreenを削除する |
C-z M-k | 現在のelscreenをバッファごと削除する |
C-z K | ほかの全elscreenを削除する! |
C-z C-n | 次のelscreenを選択 |
C-z C-p | 前のelscreenを選択 |
C-z C-a | 直前に選択したelscreenを選択 |
C-z C-f | 新しいelscreenでファイルを開く |
C-z b | 新しいelscreenでバッファを開く |
C-z d | 新しいelscreenでdiredを開く |
helmから新しいelscreenでバッファを開く
elscreenはそのままでも helm と連携ができます。
helmでバッファを選択するとき、5番目のアクションに
Display buffer in Elscreen
という項目があります。
バッファを選択して<f5>を押せばそのバッファを
新しいelscreenで開けます。
なお、今週のメルマガではこのelscreenを
まったく新しく超簡単な操作性に生まれ変わらせます。
お楽しみに!
Fig1: elscreenでタブエディタ化
本サイト内の関連パッケージ
- helm - Helm is an Emacs incremental and narrowing framework
- 0blayout - Layout grouping with ease
- eyebrowse - Easy window config switching
- state - Quick navigation between workspaces
- perspective - switch between named "perspectives" of the editor
- tabbar - Display a tab bar in the header line
- persp-mode - windows/buffers sets shared among frames + save/load.
- zoom-window - Zoom window like tmux
- perspeen - An package for multi-workspace
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。