Emacsの多分割されたバッファを1ストロークで上下左右に移動

追記:2012/12/07

 なんか分からないですが、はてブが付いているので訂正内容を追記しときます。


 こちらRe: Emacsの多分割されたバッファを1ストロークで上下左右に移動 - syohex’s diaryでも述べられていますけど、
確かにlisp系の括弧移動キーバインドとかぶってる*1ので、
本記事の方法はよろしくありません。*2


指摘いただいた方の所で、もっとスマートな方法が紹介されているのでそちらを参考にすると良いと思います^^

 C/C++コードのコードリーディングに、
Emacs + GDB チートシート - higepon blogを参考に
emacs*3gdbで動的解析しています。


 けど、上記を参考にするとgdb立ち上げたら画面が6分割されて
C-x oでバッファ移動がメンドクサイですw;


 なので簡単なバッファ移動ないかとググッたら、vimっぽいキーバインドで移動できる設定が。
Emacsでウィンドウ間の移動をもっと楽にしよう - Everyday Programmer

;;; バッファ移動
(setq windmove-wrap-around t)
;; Shift + ↓ or → or ← or ↑
(windmove-default-keybindings)                        ; Teratermでは、Shift + Up 等が使えないっぽい
;; C-M-{h,j,k,l}でウィンドウ間を移動
(define-key global-map (kbd "C-M-k") 'windmove-up)
(define-key global-map (kbd "C-M-j") 'windmove-down)
(define-key global-map (kbd "C-M-l") 'windmove-right)
(define-key global-map (kbd "C-M-h") 'windmove-left)

 ほい、けっこう便利><

*1:あまりelisp書かないので忘れてました><

*2:ってか、それ以前にDebianOSのキーとかぶってるようなw;

*3:+globalの関数ジャンプ等で静的解析しながら