zoom-window 20170302.27(in MELPA)
Zoom window like tmux

概要

zoom-window.elは、
tmuxのzoom/unzoomコマンドを
Emacsに移植したものです。

といっても
tmuxを使っていない人には
ピンときませんね。

別な言い方をすれば
C-x 1 (delete-other-windows) に
復元機能をつけたものです。

あなたが普段C-x 1を使うときは、
どういうときでしょうか?

複数のウィンドウを開いているけど、
作業中のウィンドウが狭いと
感じたときではないでしょうか。

そのときにC-x 1で
作業中のウィンドウを
最大化表示します。

けれども、
元のウィンドウ構成に戻れたら
嬉しくはないでしょうか?

それを叶えるのが
zoom-window.elです。

7つの特徴があります。

  1. C-x 1の上位互換
  2. 挙動が単純明解
  3. ズームされたときは
    モードラインの色が変わる
  4. elscreen対応
  5. persp-mode対応
  6. 複数のフレームに対応
  7. ズーム状態のまま隣の
    ウィンドウをズームできる

M-x zoom-windowは
以下の挙動をします。

  1. フレームが複数のウィンドウに
    なっているときは、
    選択中のウィンドウを最大化する
  2. 最大化された状態ならば
    元のウィンドウ構成に戻す

M-x zoom-window-nextは
元のウィンドウ構成に含まれている
バッファを切り替えます。

READMEにはC-x C-zに割り当てていますが、
本設定ではC-x 1に割り当てました。

パワーアップしたC-x 1をお楽しみください。

インストール

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

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

M-x package-install zoom-window

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

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

基本設定

設定 161222164917.zoom-window.el(以下のコードと同一)

(require 'zoom-window)
(global-set-key (kbd "C-x 1") 'zoom-window-zoom)
(setq zoom-window-mode-line-color "DarkGreen")

実行方法

$ wget http://rubikitch.com/f/161222164917.zoom-window.el
$ emacs -Q -f package-initialize -l 161222164917.zoom-window.el

elscreenと併用する設定

設定 161222165021.zoom-window-elscreen.el(以下のコードと同一)

(require 'elscreen)
(elscreen-start)

(require 'zoom-window)
(setq zoom-window-use-elscreen t)
(zoom-window-setup)

(global-set-key (kbd "C-x 1") 'zoom-window-zoom)

実行方法

$ wget http://rubikitch.com/f/161222165021.zoom-window-elscreen.el
$ emacs -Q -f package-initialize -l 161222165021.zoom-window-elscreen.el

persp-modeと併用する設定

設定 161222165209.zoom-window-persp.el(以下のコードと同一)

(with-eval-after-load "persp-mode-autoloads"
  (add-hook 'after-init-hook #'(lambda () (persp-mode 1))))

(require 'zoom-window)
(setq zoom-window-use-persp t)
(zoom-window-setup)

(global-set-key (kbd "C-x 1") 'zoom-window-zoom)

実行方法

$ wget http://rubikitch.com/f/161222165209.zoom-window-persp.el
$ emacs -Q -f package-initialize -l 161222165209.zoom-window-persp.el

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


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