Emacsの多分割されたバッファを1ストロークで上下左右に移動 - 会者定離で以降
なぜか最近はてブがついていた記事ですが、移動のキーが Lispプログラミングで
使うキーなので、人によっては辛いのではないかと思います。Emacsだとキーが
どうしても不足しがちだと思うんですが、そういうときに便利なのが @myuheさんの
smartrepです。keychord的なものも考えられますけど、
連続で使う可能性がある場合は断然 smartrepだと思ってます。
smartrepを使って上のリンク先と同じ事をしようとすると
以下のようになるでしょうか。
(require 'smartrep)
(setq windmove-wrap-around t)
(windmove-default-keybindings)
(defvar my/alt-z-map (make-sparse-keymap)
"Prefix key to M-z")
(defalias 'my/alt-z-prefix my/alt-z-map)
(define-key global-map (kbd "M-z") 'my/alt-z-prefix)
(smartrep-define-key
global-map "M-z" '(("h" . 'windmove-left)
("j" . 'windmove-down)
("k" . 'windmove-up)
("l" . 'windmove-right)))こういうように設定すると M-zを押して, "h", "j", "k", "l"で
ウインドウ間の移動ができます。。連続で移動するときはプレフィックスキーが
不要なのでわりと楽なんじゃないかと思います。プレフィックスは
適当に押しやすいものに変更してもらえればよいかと思います。
smartrepはいろいろおすすめですね。無理に 1ストロークとすると
すごく制約になりますが、smartrepをうまく使うといくらか解放されるので
重宝しています。