(setq scroll-conservatively 1) |
画面の下端で↓向きに1行移動したり,上端で↑向きに1行移動したりしたときのスクロール量を1に設定する. デフォルトは0(無効値)で,半画面分スクロールする動作になる. |
(setq scroll-step 1) |
同上. |
(setq next-screen-context-lines 1) |
1画面スクロールしたときに以前の画面を何行分残すかを設定する. 0だとまったく残さない. 1だと1行だけ残すようになる. デフォルトは2(2行だけ残す). |
画面の下端にカーソルがあるときに↓向きに移動しようとしたり,画面の上端で↑向きに移動しようとしたりしたとき,
デフォルト設定では一気に半画面分スクロールしてしまう(正確には次行を画面の中央にもってくる)設定になっています.
このデフォルト設定の動作は動体視力を鍛えたい人にはよいのかもしれないけど,
普通にテキストを編集したいだけの人にとっては文章を追いかけにくくて,うれしくないと思います.
普通のエディタは画面の下端で↓キーを押すと1行だけ下にずれる動作になっていて,
この動作にあわせるには“(setq scroll-conservatively 1)
”とします.
[注:scroll-step
を1にしても同じような動作になるけど,
Emacsのヘルプによればscroll-conservatively
を1にする方がよいとのことです.
おそらく何か微妙な違いがあるのだとは思うのですけども,いろいろやってみても具体的にどう違うのか よくわかりませんでした.]
![]() |
next-screen-context-lines (拡大) |
---|
![]() |
“2行残す”デフォルト動作(拡大) |
1画面分スクロールしたときに新しい画面内に残る行数を指定します.
文章で説明してもわかりにくいと思いますので,図を見てください.
ピンク色の領域が画面内に表示されている部分です.
C-v
(scroll-up
)を押して画面を1画面分進めても
1画面分が丸ごと新しくなるわけではなく,
直前の画面の最後の2行が新しい画面の最初の2行になるようにスクロールするようになっています.
この“2行だけ残す”動作に気がついている人は少なくて,
普通の人はあまり不満を感じませんが,ときどき違和感を覚える人がいるようです.
そういう場合はnext-screen-context-lines
を1か0にすると気に入った動作になると思います.
ちなみにWindowsのメモ帳(Notepad
)は“1行だけ残す”動作になっています.
Windows用のテキストエディタは,たいてい1か0です.
[注:Windows用のエディタの場合,ウィンドウのサイズを変えることで半端な行数を表示できるものがあります.
このようなエディタでは,完全な25行の下に次の行が半分だけ見えている状態---25.5行表示している状態をつくりだせます.
Windows付属のメモ帳も この類のエディタにあたっていて,半端な行を表示させることができるので,
厳密にいえばEmacsで“1行だけ残す”設定にしている場合とは微妙に動作が違います.
正確にはメモ帳がスクロール時に残す行数は“1より大きく2より小さい”値という感じです.
しかし,まぁ,Emacsの動作がメモ帳の動作と一番近くなるのはnext-screen-context-lines
が1のときだと思います.]