左右に表示したバッファを入れ替えるコードはGoogleさんに聞いたら見つけたのだけど、三つだと対応してなかったので自分でつくってみた。うん。動いているみたい。
by GNU Emacs 24.5.1
(require 'cl) (defun y-switch() "bufferの位置を回転させる" (interactive) (y-switch-windows-or-buffers 'y-roll)) (defun y-roll(list) "listをロータリーする" (append1 (cdr list)(car list))) (defun y-switch-windows-or-buffers(func) "funcの並び替えロジックでwindowとbufferの組み合わせを変更する" (let* ((windows (window-list)) (bufs (loop for x in windows collect (window-buffer x)))) (loop for x in (funcall func windows) for y in bufs do (set-window-buffer x y)))) (defun append1 (list obj) "appendの拡張版" (append list (list obj)))