独自のコマンドを作成する1つの方法は、組み込みget-mru-window
関数を使用することです。
例えば:
(defun my-flip-window ()
(interactive)
(let ((win (get-mru-window nil nil t)))
(when win (select-window win))))
これにより、現在選択されているウィンドウではない、現在のフレームで最も最近使用されたウィンドウが検索されます。
以下は、可視フレーム全体で機能するバリエーションです。
(defun my-flip-window ()
(interactive)
(let ((win (get-mru-window 'visible nil t)))
(when win
(select-frame-set-input-focus (window-frame win))
(select-window win))))
コメントで述べたように、ウィンドウが1つしかない場合(最新のバッファーに切り替える場合)に機能するバリエーションがあります。
(defun flip-window ()
(interactive)
(let ((win (get-mru-window 'visible t t)))
(if win
(progn
(select-frame-set-input-focus (window-frame win))
(select-window win))
(mode-line-other-buffer))))
fn
プラスキーの矢印キーの1つを使用して、ミニバッファー(アクティブな場合)の内外を含む任意の方向に移動しますwindmove
。組み込みのライブラリを参照してください。