anything.elで縦分割、横分割をトグりたい。


anything.elは、いろんなソースを絞り込みできるのが魅力。いろいろなソースをまとめて見られるようにanythingバッファはデフォルトで左右に画面分割するように設定してます。

[cpp]
(defun my-horizontally-split-window (buf)
(delete-other-windows)
(split-window-horizontally)
(funcall (if anything-samewindow ‘switch-to-buffer ‘pop-to-buffer) buf))
(setq anything-display-function ‘my-horizontally-split-window)
[/cpp]

こうすると候補の一覧性が増すので、すごく気持ちが良いです。ただ、anythig-c-moccurのような各候補の文字数が多くなると、左右に分割すると改行ばっかりはいってすこぶる見にくい。そういうときは、上下に分割したい、とか思います。
そこは、さすがぬかりないanything。anythigのRevision1.239からanything-toggle-resplit-windowなる関数が追加されてるようです。これでグルングルントグれるようになります。
EmacsWiki: anything.el

元々はgrandVinさんのelispがベースになっているんだと思います。
[emacs][anything] anything-windowの動的縦横再分割とサイズの変更 – プログラム番長のヲボエガキ
デフォルトではキーバインドがC-tに設定されているようですが、生憎他の関数にあててしまっているので使えません。ということで別のキーにあてることに。ついでに anything-c-moccurでもトグれるようにしておきます。

[cpp]
(define-key anything-map "C-j" ‘anything-toggle-resplit-window)
(define-key anything-c-moccur-anything-map "C-j" ‘anything-toggle-resplit-window)
[/cpp]

快適anythingライフがさらに快適になりました。