私は約8程度のスクロールマージンが好きです。これは、カーソルが上下の8行以内になると、バッファがスクロールを開始することを意味します。しかし、このスキームは、eshellとansi-termバッファ、isqlバッファ、またはemacsで使用できるREPLバッファではうまく動作しません。それらのバッファのどれかで何かが起きたときには、すぐにバッファをスクロールして、バッファの最下行と入力行の間に8行があり、最悪の場合使用できないようにして、端末のような状況に応じて、emacsのバッファEmacs、スムーススクロール、スクロールマージン、エシェル
バッファがグローバルでない限り、スクロール・マージン変数を認識しないようです。ですから、異なるモードでフックを使って変数を異なる値に設定することはできますが、それは開いているすべてのバッファに影響します。
私はいくつかのコードを編集しているとしましょう。私はシェルでいくつかのものをすることにしました。私のシェルモードフックはスクロールマージンを0に設定しているので、使用可能になります。次に、スクロール余白はすべてバッファの0に設定され、コーディングバッファをスクロールするのが厄介です。しかし、新しいコーディングバッファを開くと、スクロールマージンが8に戻ってしまいます。それで、シェルバッファは、フォーカスを取得したり、コマンドから出力を表示したりするたびに、直ちに8スペースをスクロールするので、扱いにくいまたは使用できません。
すべてのバッファに対して、スクロールマージンを0にグローバルに保持する以外に、この問題の解決策はありますか?
フックで[バッファローカル変数](http://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer_002dLocal-Variables.html#Buffer_002dLocal-Variables)を使用していますか? – rwb
それはそうするようです。スクロールマージンでmake-local-variableを使う正しい方向に私を指してくれてありがとう! – Jones