multicolumn 20150202.1451(in MELPA)
Creating and managing multiple side-by-side windows.

概要

multicolumn.elは、昨今の ワイドディスプレイ を有効活用するelispです。

ワイドディスプレイといえば、
Emacs標準機能の M-x follow-mode
思い浮かべる方がいるでしょう。

そう、multicolumn.elはfollow-modeをもうちょっと使いやすくするものです。

follow-mode とは、左右分割したウィンドウに
前のウィンドウで表示されている内容の続きを表示することで
疑似的に超縦長ディスプレイを実現させます。

長いコードを1画面に治める様は圧巻です!

作者は2つのディスプレイにそれぞれ6分割ウィンドウを用意し、
888行のコードを一瞥しているらしいです…(スゴイ

いろいろなコマンドが用意されていますが、使いこなすには
たった2つのコマンドを覚えれば十分です!

ウィンドウ構成を管理する独自コードが書かれていますが、
winner-mode を使ってしまえばそんなの不要です。

C-x 4プレフィクスキーにいくつかのコマンドが用意されていますが、
それについても操作性の観点から不要です。

インストール

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

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

M-x package-install multicolumn

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

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

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

(multicolumn-global-mode 1)
(setq multicolumn-min-width 72)
(define-key multicolumn-map (kbd "C-x 4 4")
  'multicolumn-delete-other-windows-and-split-with-follow-mode)

実行方法

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

C-x 3をカイゼン

M-x multicolumn-global-mode でマイナーモードを有効にすれば、
C-x 3が M-x multicolumn-delete-other-windows-and-split
に変更されます。

元来C-x 3はただ左右分割するだけですが、
予め定められた桁数 (multicolumn-min-width) によって
一気に左右分割しまくります。

初期値は72です。

たとえば桁数が220 ((frame-width) の値) のとき、
一気に3分割されます。

また、数引数で分割数を指定できます。

C-4 C-x 3で3分割というふうにです。

分割後にfollow-modeにする

もうひとつ重要なコマンドが
M-x multicolumn-delete-other-windows-and-split-with-follow-mode
で、ウィンドウを分割した後、そのバッファをfollow-modeにします。

長い…

本設定ではC-x 4 4に割り当てています。

20141210050410.png
Fig1: C-x 4 4でウィンドウが分割されてfollow-modeに!


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