質問: emacsでスクロールするときにカーソル位置を変更しないでください スクロール中にemacsがテキストカーソルの位置(別名、ポイント)を自動的に移動しないようにする方法はありますか?私は自分の場所を失い続け、この迷惑な行動の印を付けます。次の提案をテストしましたが、成功しませんでした。(setq scroll-preserve-screen-position t scroll-conservatively 0) (ubuntuとos xでemacs 24.2を実行しています。)
回答: カーソル(ポイント)と表示領域の動作は、notepad、gedit、その他の最新のエディターのようにする必要があると思います。ポイントの位置に関係なく表示領域を変更し、すぐに表示に戻す機能ポイントを移動した後のポイント位置への領域。ただし、emacsには別の概念があります。表示領域は常にポイント位置に従い、その逆も同様です。参照 https://stackoverflow.com/questions/9616623/ctrl-up-down-style-scrolling-in-emacs 以前の答えは特別なイディオムを示しています:可視領域を(ポイントと一緒に)現在の位置から遠くに移動し、ポイントを直前の位置に正確に戻す場合は、mark-ringを使用する癖があります。 mark ringから現在の作業位置に到達する方法は常にあります。isearch-forward、beginning-of-buffer、ace-jump-modeなどの多くのコマンドは自動的に前の位置をmark ringに保存します。以前はc-<spc> c-<spc>を使用していませんが、ジャンプバックにはc-u c-<spc>のみを使用しています。 scroll-upやmwheel-scrollなどのスクロールコマンドは、余計なマークが多すぎる可能性があるため、デフォルトでは以前の位置を自動的に保存しません。コマンドclone-indirect-bufferまたはview-buffer-other-windowを使用して、いくつかの場所でバッファーを使用した独立した作業を行うことができます。また、コマンドrecenter-top-bottom(c-l)を使用して、表示領域の中心にポイントを継続的に保持します。