Skip to content

Latest commit

 

History

History
172 lines (135 loc) · 9.59 KB

1409050814.elscreen.org

File metadata and controls

172 lines (135 loc) · 9.59 KB

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 に書かれて、 わかりやすく切り替えられます。

タブの表示方法は細かく設定できるので、 設定方法にデフォルトの設定を書きました。

自由に変更して試してみてください。

elscreen インストール

このパッケージは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を開く

helmから新しいelscreenでバッファを開く

elscreenはそのままでも helm と連携ができます。

helmでバッファを選択するとき、5番目のアクションに Display buffer in Elscreen という項目があります。

バッファを選択して<f5>を押せばそのバッファを 新しいelscreenで開けます。

なお、今週のメルマガではこのelscreenを まったく新しく超簡単な操作性に生まれ変わらせます。

お楽しみに!

http://rubikitch.com/f/20140905085218.png Fig1: elscreenでタブエディタ化