swap-buffers 20150506.1439(in MELPA)
The quickest way to swap buffers between windows. Based on switch-window package.

概要

フレームを2分割以上している状態で、
ウィンドウを入れ替えたいことがあります。

2分割された画面を入れ替える M-x swap-screen
古くから存在します が、ここで紹介する M-x swap-buffers
3分割以上にも対応しています。

2分割のときはswap-screenと変わりません。

20150510055857.png
Fig1: 2分割でM-x swap-buffersを実行すると

20150510055915.png
Fig2: そのまま入れ替わる

3分割以上のときはswitch-window.el(レビュー) のように
ウィンドウにa, s, d ...という名前が振られ、
それを選択する方式になっています。

20150510055937.png
Fig3: 3分割以上でM-x swap-buffersすると

20150510055947.png
Fig4: ウィンドウ選択になる

20150510055957.png
Fig5: aを押すと…

インストール

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

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

M-x package-install swap-buffers

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

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

設定 150510060424.swap-buffers.el(以下のコードと同一)

無設定で使えますが、swap-screenと同じような設定にしてみました。

(defun swap-buffers-keep-focus ()
  (interactive)
  (swap-buffers t))
;;; 無設定で使えるが、swap-screenに倣ってf2/S-f2に割り当てる
(global-set-key [f2] 'swap-buffers-keep-focus)
(global-set-key [S-f2] 'swap-buffers)

実行方法

$ wget http://rubikitch.com/f/150510060424.swap-buffers.el
$ emacs -Q -f package-initialize -l 150510060424.swap-buffers.el

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


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