2015年1月5日月曜日

Emacs recenter

 MacBook AirにしてからどうもEmacsがしっくりこない。
 上下がメニューとDockで占められ、ディスプレイが横長になってしまったため、1フレーム1ウィンドウ1バッファだと、どうしてもこじんまりした感じになってしまう。
 そこでフルスクリーンにしてウィンドウ分割するようにしたのだけど、おそらくEmacsで一番使う操作——recenterのとき、対象のウィンドウだけではなく、画面全体に再描画がかかってしまう。つまり画面全体が一瞬、チラつく。
 それが嫌で、ThinkPadでは1フレーム1ウィンドウで使っていたのだった。
 まぁ、昔のEmacsはターミナル上で使うエディタだったわけで、それはしかたないことなのか、と納得していたのだけれど、スクロールのときには画面全体に再描画がかかっていない。
 ということはrecenterをスクロール処理に置き換えてやれば、画面がチラつかなくなるんじゃないか。そうか。そうか。では、とrecenterのソースをのぞこうと、helpを表示してみて気づいた。
 あれ、もしかしたら「recenter-redisplay」の値で制御できるんじゃね?
 デフォルトはttyでそれをnilに設定してやると、チラつかなくなった。そうなんだ。うーん、知らないことばかりだな……。