任意のウィンドウを切り替えずに操作できるowdriver.elを作りました

これは何?

私は、Emacsでファイルを編集する時、別のバッファを横に開いて参照しながら、ということがよくあります。
そういった時、そのアクティブでない参照用のバッファに対して必要になる、 スクロールとかのちょっとした操作を、scroll-other-windowや自作コマンドで行なっていました。

大抵の場合は、それで事足りていたのですが、 popwin.ele2wm.elを利用するようになって、 ウィンドウが3つ以上に分割される場面が多くなってくるにつれて、other-windowが必要になってきました。
つまり、ちょっと他のウィンドウをスクロールとかするのに、いちいちother-windowを2回しなければならない訳です。

という訳で、ウィンドウを移動せずに、他の任意のウィンドウを操作できる拡張を作りました。

デモ

demo

特徴

対象のウィンドウをヒントで選択

候補のウィンドウが複数ある場合は、pophint.elがインストールされていれば、 表示されるヒントを選択することで対象のウィンドウを選べます。

smartrep.elを利用してキーストロークを省略

smartrep.elを利用することで、 ウィンドウを連続していろいろ操作したい時に、アクティブなウィンドウを操作するのに近い感覚で 操作できるようにしました。

smartrep.elなしで直接実行

上記の場合は、操作開始時にowdriver-prefix-keyに設定したキーを押す必要がありますが、 スクロールするだけ等の単純な操作は、別途キーバインドすることで直接実行も可能です。

カスタマイズ

デフォルト以外に追加したい操作があった場合、手軽に定義できます。

インストール/設定/使い方

以下にまとめました。

https://github.com/aki2o/owdriver/blob/master/README.md

その他

あとがき

他のウィンドウの操作については、以前から、もっと簡単にできないものかと考えていました。
本拡張も、そこまで理想的な解決策とは言えないかなと感じています。
もっとスマートな方法ないかな...

Enjoy!!!