5

私は約8かそこらのスクロールマージンが好きです。これは、カーソルが上または下から8​​行以内に入ると、バッファがスクロールを開始することを意味します。ただし、このスキームは、eshellおよびansi-termバッファー、isqlバッファー、またはemacsで使用する可能性のあるREPLバッファーではうまく機能しません。これらのバッファのいずれかで、何かを行うと、すぐにバッファが上にスクロールされ、バッファの下部と入力行の間に8行が表示されるため、端末のようなものを使用するのは、せいぜい厄介で、最悪の場合は使用できなくなります。状況に応じて、emacsのバッファ。

グローバルでない限り、スクロールマージン変数を認識するバッファはないようです。したがって、さまざまなモードのフックを使用して変数をさまざまな値に設定できますが、開いているすべてのバッファーに影響します。

それで、私がいくつかのコードを編集しているとしましょう。私はシェルでいくつかのことをすることにしました。私のshell-mode-hooksは、scroll-marginを0に設定しました(使用できるようにするため)。次に、すべてのバッファーのスクロールマージンが0に設定されるため、コーディングバッファーをスクロールするのが面倒になります。しかし、新しいコーディングバッファーを開くと、スクロールマージンが8に戻ります。その後、シェルバッファーは、コマンドからフォーカスを取得したり出力を表示したりするたびに8スペース上にスクロールするため、扱いにくいか使用できません。

すべてのバッファのスクロールマージンをグローバルに0に保つ以外に、この問題の解決策はありますか?

4

1 に答える 1

8

コメントを回答に変換します。フックでバッファローカル変数を使用します。

于 2012-10-01T04:47:20.143 に答える