tile 20161224.1957(in MELPA)
Tile windows with layouts

概要

先日紹介した「戻せるC-x 1」 が人気でしたが、
これもC-x 1 (delete-other-windows)を
強化するパッケージです。

C-x 1は元々
すべてのウィンドウを削除しますが、
今回の設定では直前のバッファを
隣のウィンドウに表示させてみます。

20161227202039.png
Fig1: 分割されていない状態

20161227202047.png
Fig2: 2分割

20161227202050.png
Fig3: 3分割

Fig1の状態でC-x 1を押すと、
Fig2のように分割されます。

ここで使うtile.elは元々、
多分割のウィンドウ構成を
順次切り替えていくものですが、
こういう応用例もあるということです。

また、ウィンドウの分割個数を
1〜3個に切り替える
M-x tileの設定もしておきます。

こちらはC-.で
Fig1→Fig2→Fig3→Fig1…と
分割状態を切り替えていきます。

インストール

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

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

M-x package-install tile

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

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

設定 161227175259.tile.el(以下のコードと同一)

(require 'tile)
;;; C-x 1をトグルする
(setq tile-two-windows (tile-split-n-tall 2))
(defun delete-other-windows-or-split ()
  (interactive)
  (if (one-window-p)
      (tile :strategy tile-two-windows)
    (delete-other-windows)))
(global-set-key (kbd "C-x 1") 'delete-other-windows-or-split)

;;; ウィンドウの個数を1〜3個順次切り替える
(setq tile-cycler (tile-strategies :strategies
                                   (list tile-one
                                         tile-two-windows
                                         (tile-split-n-tall 3))))
(global-set-key (kbd "C-,") 'tile)

実行方法

$ wget http://rubikitch.com/f/161227175259.tile.el
$ emacs -Q -f package-initialize -l 161227175259.tile.el

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


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