を読んでいると、一行一行移動するんじゃなくてパラグラフとか
ページ単位で移動しろとありました。ページ単位は Emacsも Vimも
似たような感じなのですが、パラグラフ単位の移動というのが
Emacsではやっかいです。デフォルトのバインディングが
"M-{"と"M-}"。AltとShiftと角括弧の 3つを押さないといけない。
なんで改善しましょう。
smartrep.elを使う。
適当そうなキーを見つけて、Ctrl+1キーとかでできますが、
片手でバンバン移動できるように smartrep.elを使います。
設定(最新の smartrep.elを使ってください)
(defvar my/ctrl-q-map (make-sparse-keymap) "My original keymap binded to C-q.") (define-key global-map (kbd "C-q") 'my/ctrl-q-prefix) ;; C-q prefixは空いているので, '{'じゃなくて '['にして Shiftも節約 (smartrep-define-key global-map "C-q" '(("[" . (backward-paragraph)) ("]" . (forward-paragraph))))
これで一度 C-qを押したら、後は '[', ']'でparagraph単位の移動が
できます。
おわりに
最近 smartrep.elを使ってこんな設定を追加していますが、
smartrep.elは Emacsに Vimのノーマルモードをもたらすものなのかな
と思いました。
ガンガン編集するときは、Emacsも Vimもそんなに変わらないと
思うんだけど、ソースをざっくり見ているとき等の移動が中心に
なる場合の操作性ってだいぶ Vimの方がいいと思います。
Emacsにもその機能はあるけど、キーが割当たってなくて、
割り当てるとしても他を気にして複雑になるとか、そもそも
複雑なキーに割当たっているってことも多いので、Vimユーザほど
その機能を使いこなせていないというのがあると思います。
smartrep.elはそのあたりの差を縮めてくれるものなんじゃないかなと
思います。さまざまな改善に利用できる可能性が大いにあるのでは
ないでしょうか。