Emacs で高速快速カーソル移動をするための小技 3 点セット

    はじめに

    Emacs 上でカーソルを移動するための Tips を紹介.

    たいした技ではないのだけれども, この設定でかなり改善されてビックリしたので思わず記事にします.

    おまけで, 最近ややビックリした改善もあわせて紹介.

    [toc]

    背景

    Emacs で カーソル移動をするときにもっさりしていたので, なんでこんなことになっているのか調べてみました.

    その 1 カーソル移動を速くする

    Keyboard に入力をしたときに次の入力までの Delay が OS によって強いられる. この Delay 時間を変更することで, リピートするような入力の入力効率が劇的に上がる.

    この改善の効果には感動しました!

    Linux

    ArchLinux の設定.

    以下を.xinitrc 書く

    xset r rate 200 25

    Windows

    windows は 設定が簡単.

    • コントロールパネル > キーボード > 速度を選択.
    • 表示までの待ち時間, 表示の間隔のバーを右にもっていく.

    参考: windows でキーボードのカーソル移動速度を上げる. ばびゅーん. - 酒は血液, 呑んだら献血

    コントロールパネルからだと, 表示の間隔が 31 までしかさげることができな い.しかし, レジストリをいじると, その限界を越えることができる.

    自分は, レジストリをいじって, 25 に設定した.

    Mac

    Mac をもっていないので, ブックマークだけ. Karabiner というフリーソフトをつかうそうな.

    その 2 スクロールを鮮やかにする

    この改善もやや感動.

    以下の elisp を導入するとスクロールがかっこよくなった.

    (require 'smooth-scroll)
    (smooth-scroll-mode t)

    参考:

    その 3 カーソル移動で小指を守る

    最近, 小指がいたくなってきて (とくに休日) Emacs の弊害を感じている. たぶん, Emacs じゃなくて, Let’s Note のへんな Ctrl の 位置だと思うのだけれども.

    そこで, これは小指をつかわないでカーソル移動をする技.

    hydra というパッケージを利用することで, これが可能.

    C-z で hydra-move が発動. あとは, 小指を外して移動可能. 先ほどの scroll も組み合わせてみた.

    (require 'hydra)
    
    (global-set-key
     (kbd "C-z")
     (defhydra hydra-move ()
       "move"
       ("f" forward-char "right")
       ("b" backward-char "left")
       ("n" next-line "down")
       ("p" previous-line "up")
       ("SPC" scroll-up-command "down")
       ("<backspace>" scroll-down-command "up")
       ("." hydra-repeat "repeat")))

    hydra は, おもしろい記事をかく abo-abo さんの作品だ.