任意のウィンドウを切り替えずに操作できるowdriver.elを作りました
これは何?
私は、Emacsでファイルを編集する時、別のバッファを横に開いて参照しながら、ということがよくあります。
そういった時、そのアクティブでない参照用のバッファに対して必要になる、
スクロールとかのちょっとした操作を、scroll-other-windowや自作コマンドで行なっていました。
大抵の場合は、それで事足りていたのですが、
popwin.elや
e2wm.elを利用するようになって、
ウィンドウが3つ以上に分割される場面が多くなってくるにつれて、other-windowが必要になってきました。
つまり、ちょっと他のウィンドウをスクロールとかするのに、いちいちother-windowを2回しなければならない訳です。
という訳で、ウィンドウを移動せずに、他の任意のウィンドウを操作できる拡張を作りました。
デモ
特徴
対象のウィンドウをヒントで選択
候補のウィンドウが複数ある場合は、pophint.elがインストールされていれば、 表示されるヒントを選択することで対象のウィンドウを選べます。
smartrep.elを利用してキーストロークを省略
smartrep.elを利用することで、 ウィンドウを連続していろいろ操作したい時に、アクティブなウィンドウを操作するのに近い感覚で 操作できるようにしました。
smartrep.elなしで直接実行
上記の場合は、操作開始時にowdriver-prefix-keyに設定したキーを押す必要がありますが、 スクロールするだけ等の単純な操作は、別途キーバインドすることで直接実行も可能です。
カスタマイズ
デフォルト以外に追加したい操作があった場合、手軽に定義できます。
インストール/設定/使い方
以下にまとめました。
https://github.com/aki2o/owdriver/blob/master/README.md
その他
- 動作確認したEmacsは、GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.4.2) of 2013-08-22 on chindi02, modified by Debian です。
あとがき
他のウィンドウの操作については、以前から、もっと簡単にできないものかと考えていました。
本拡張も、そこまで理想的な解決策とは言えないかなと感じています。
もっとスマートな方法ないかな...
Enjoy!!!