読者です 読者をやめる 読者になる 読者になる

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

emacs

Emacsの多分割されたバッファを1ストロークで上下左右に移動 - 会者定離で以降


なぜか最近はてブがついていた記事ですが、移動のキーが Lispプログラミングで
使うキーなので、人によっては辛いのではないかと思います。Emacsだとキーが
どうしても不足しがちだと思うんですが、そういうときに便利なのが @さんの
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をうまく使うといくらか解放されるので
重宝しています。