perspeen 20170312.19(in MELPA)
An package for multi-workspace

概要

perspeen.el は、perspective.elelscreen.el を悪魔合体させたものです。
どういうものかというと、

  1. 操作性はelscreen
  2. ワークスペース(elscreenでいうウィンドウ)のリストがモードラインに表示される
  3. ワークスペースごとに独立したタブを持てる
  4. ワークスペースごとに独立したバッファリストを持てる
  5. ワークスペースでeshellを立ち上げられる

とくにワークスペースごとに独立したタブ・バッファリストを持てるのがポイントです。
つまり、 ワークスペース×タブ切り替え の分だけウィンドウ構成を管理できます。
elscreenやperspective/persp-mode は好きだけど、ワークスペース(ウィンドウ)が増えすぎて管理しづらいと感じたら是非とも試してみる価値はあります。
複数のプロジェクトを同時進行させている人におすすめです。

ちなみに作者は元vimmerで、iTerms/zsh/tmux/vimを愛用していました。
そのときの動画 を元にperspeen.elは作成されました。

20170122053634.png
Fig1: タブを切り替える

20170122053707.png
Fig2: タブを切り替える

20170122053715.png
Fig3: ワークスペースを切り替える

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))

初めてperspeenを使う方は
以下のコマンドを実行します。

M-x package-install perspeen

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name perspeen

コマンド

以下のコマンドが使えます。
perspeen-keymap-prefix を設定することで別のプレフィクスキーを設定できます。

C-z c (perspeen-create-ws)
新しいワークスペース作成
C-z n (perspeen-next-ws)
次のワークスペースへ
C-z p (perspeen-previous-ws)
前のワークスペースへ
C-z ' (perspeen-goto-last-ws)
最後に選択したワークスペースへ
M-x perspeen-goto-ws
数値引数でワークスペース選択
C-z e (perspeen-ws-eshell)
eshell起動
C-z k (perspeen-delete-ws)
現在のワークスペースを削除
C-z r (perspeen-rename-ws)
ワークスペース名を変更
C-z d (perspeen-change-root-dir)
現在のワークスペースのルートディレクトリを変更
C-z 1 (perspeen-ws-jump)
ワークスペース1へ (1〜9が使用可能)
C-z t (perspeen-tab-create)
新しいタブを作成
C-z C-d (perspeen-tab-del)
タブを削除 (本設定)
C-z l (perspeen-tab-next)
次のタブへ (本設定)
C-z h (perspeen-tab-prev)
前のタブへ (本設定)

設定 170122043937.perspeen.1.el(以下のコードと同一)

(setq perspeen-use-tab t)
(perspeen-mode)
;; プレフィクスキー
(setq perspeen-keymap-prefix (kbd "C-z"))
(define-key perspeen-command-map (kbd "h") 'perspeen-tab-prev)
(define-key perspeen-command-map (kbd "l") 'perspeen-tab-next)
(define-key perspeen-command-map (kbd "C-d") 'perspeen-tab-del)

実行方法

$ wget http://rubikitch.com/f/170122043937.perspeen.1.el
$ emacs -Q -f package-initialize -l 170122043937.perspeen.1.el

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。