emacs elscreen.el : Emacsをタブエディタ+GNU Screen(Tmux)化してしまえ!ウィンドウ構成管理の重鎮 | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 スクリーンショット
パッケージ名 | elscreen |
概要(原文) | Emacs window session manager |
リポジトリ | MELPA |
取得先 | https://github.com/knu/elscreen |
バージョン | 20140421.414 |
関連記事 | package:elscreen package:helm package:windows package:tabbar package:eyebrowse package:0blayout package:persp-mode package:perspective package:spaces package:windows package:state |
elscreen.el は古くからあるウィンドウ構成管理Emacs Lispです。
Emacsはたくさんのタスクを同時にこなせるので、 ウィンドウ構成の管理は重要になってきます。
Emacsを使っていると、ウィンドウ構成が変化していきます。
たとえば、文章やコードを書いているときにメールを見ると、 メール用のウィンドウ構成になります。
Twitterを見ていると、Twitter用のウィンドウ構成になります。
そこから再び文章・コードのウィンドウ構成に戻すには手間がかかります。
そこでウィンドウ構成管理Emacs Lispのelscreenの出番です。
僕は初心者時代から windows.el を使ってきていましたが、 今はこのelscreenに乗り換えています。
elscreenを使うと、Emacsは タブエディタ に化けます。
管理しているウィンドウ構成が header-line に書かれて、 わかりやすく切り替えられます。
タブの表示方法は細かく設定できるので、 設定方法にデフォルトの設定を書きました。
自由に変更して試してみてください。
このパッケージはmelpaにあるので パッケージの初期設定 を行ってください。
M-x package-refresh-contents M-x package-install elscreen
elscreen.el は古くからあるウィンドウ構成管理Emacs Lispです。
Emacsはたくさんのタスクを同時にこなせるので、 ウィンドウ構成の管理は重要になってきます。
Emacsを使っていると、ウィンドウ構成が変化していきます。
たとえば、文章やコードを書いているときにメールを見ると、 メール用のウィンドウ構成になります。
Twitterを見ていると、Twitter用のウィンドウ構成になります。
そこから再び文章・コードのウィンドウ構成に戻すには手間がかかります。
そこでウィンドウ構成管理Emacs Lispのelscreenの出番です。
僕は初心者時代から windows.el を使ってきていましたが、 今はこのelscreenに乗り換えています。
elscreenを使うと、Emacsは タブエディタ に化けます。
管理しているウィンドウ構成が header-line に書かれて、 わかりやすく切り替えられます。
タブの表示方法は細かく設定できるので、 設定方法にデフォルトの設定を書きました。
自由に変更して試してみてください。
;;; プレフィクスキーは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を開く |
elscreenはそのままでも helm と連携ができます。
helmでバッファを選択するとき、5番目のアクションに Display buffer in Elscreen という項目があります。
バッファを選択して<f5>を押せばそのバッファを 新しいelscreenで開けます。
なお、今週のメルマガではこのelscreenを まったく新しく超簡単な操作性に生まれ変わらせます。
お楽しみに!
http://rubikitch.com/f/20140905085218.png Fig1: elscreenでタブエディタ化