意外に思うかもしれませんが、
僕はEmacsでそれなりにマウスも使います。
たとえば文章の校正や
フォーマッティング(整形)をするときに
マウスを使って改行 しています。
ところが、Emacsにおける
マウスホイールの挙動が
ストレスフルでした。
なぜなら、
- ホイールで一気に5行も進んでしまう
- 1行進むのにShiftを押す必要がある
- ホイールを速く移動させるとたくさんスクロールしてしまう
- 画面上におけるカーソルが変わってしまう(*1)
からです。
マウスクリックによるスクロール の設定はこちら。
マウスホイールでスクロールする行数を変更する
そこで、マウスホイールで
スクロールする行数を
以下のように変更することで、
快適になりました。
- ホイールで1行ごとにスクロールする
- Shiftを押しながらホイールを動かすと2行スクロールする
- Ctrlを押しながらホイールを動かすと1画面スクロールする
- ホイールの速度に関わらずスクロールする行数を一定にする
1〜3の挙動は
mouse-wheel-scroll-amount
を
設定すればできます。
4の挙動は
mouse-wheel-progressive-speed
を
nilにします。
(setq ;; ホイールでスクロールする行数を設定 mouse-wheel-scroll-amount '(1 ((shift) . 2) ((control))) ;; 速度を無視する mouse-wheel-progressive-speed nil)
画面上のカーソル位置を一定にする
Emacsのデフォルトの設定では
行単位でスクロールすると
画面上のカーソル位置が
変わってしまいます。
マウスホイールとは直接関係ありませんが、
これがまたストレスフルなんです。
なぜなら、バッファを読んでいるときの
普段の目線(おそらくですが)
画面の真ん中です。
ところがスクロールにともない
カーソル位置が上や下に移動してしまうと、
目線が無意識にカーソルに向かってしまいます。
そうなると迷子になってしまいます。
<f1> nなどで長いバッファを
読んでみるとわかります。
そこで、
scroll-preserve-screen-position
を
設定すれば、
画面上のカーソル位置が一定になります。
(setq scroll-preserve-screen-position 'always)
マウスホイールと合わせて
活用してみてください。
まとめ
Emacsユーザはもしかしたら
キーボード偏重主義に
なっているかもしれません。
けれども快適な設定にしてしまえば
マウスも十分使えます。
そこで以下の3つの変数を設定しました。
- mouse-wheel-scroll-amount
- mouse-wheel-progressive-speed
- scroll-preserve-screen-position
マウスもうまく使っていきましょう。
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。