そのまんまこの記事のことを実践しただけなんだけど、すごくいい。
Emacsで1~3ストロークで画面上の任意の場所に移動するための設定 - non-nil
例えばこんなケースを想像して欲しい。Emacsでソースコードを書いていてカーソルは画面の一番上あたりにあり、次に編集したい箇所が画面の一番下あたりだったとする。
どうやって移動するだろうか?
- 矢印キーで移動する
C-n
で移動する- goto-lineで行番号を指定して移動する
- インクリメンタル検索で移動する
選択肢はいくつかある。これまでの僕だったらインクリメンタル検索を使っていたと思う。
今日導入したace-jump-modeは上のどの選択肢にも勝る。特に最初に載せたページの設定を済ませておくと本当にタイプ数が少なくて済む。
ace-jump-modeは編集中のバッファの画面中に表示されている部分を対象に、キーボードでジャンプできるようにする機能だ。流れとしてはこんな感じ。
- ace-jump-modeを有効にする
- 移動したい箇所にある文字を1文字入力する
- 画面上に移動に使うキーが表示されるのでそのキーを入力
Hyperキーを組み合わせた設定では上のステップのうち1と2を同時に行ってしまう。例えばH-a(Hyperキーを押しながらa)
はace-jump-modeを有効にしたあとa
に移動したい、という指定をしたときの同じ挙動になる。そのため、最低2回の入力で目的地にカーソルを持っていけるということになるわけだ。
言葉で説明するのはとても難しいのでデモを用意した。
なおHyperキーには参考サイトと同じく右コマンドを割り当てている。