2012-10-01 10 views
5

私は約8程度のスクロールマージンが好きです。これは、カーソルが上下の8行以内になると、バッファがスクロールを開始することを意味します。しかし、このスキームは、eshellとansi-termバッファ、isqlバッファ、またはemacsで使用できるREPLバッファではうまく動作しません。それらのバッファのどれかで何かが起きたときには、すぐにバッファをスクロールして、バッファの最下行と入力行の間に8行があり、最悪の場合使用できないようにして、端末のような状況に応じて、emacsのバッファEmacs、スムーススクロール、スクロールマージン、エシェル

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

私はいくつかのコードを編集しているとしましょう。私はシェルでいくつかのものをすることにしました。私のシェルモードフックはスクロールマージンを0に設定しているので、使用可能になります。次に、スクロール余白はすべてバッファの0に設定され、コーディングバッファをスクロールするのが厄介です。しかし、新しいコーディングバッファを開くと、スクロールマージンが8に戻ってしまいます。それで、シェルバッファは、フォーカスを取得したり、コマンドから出力を表示したりするたびに、直ちに8スペースをスクロールするので、扱いにくいまたは使用できません。

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

+3

フックで[バッファローカル変数](http://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer_002dLocal-Variables.html#Buffer_002dLocal-Variables)を使用していますか? – rwb

+0

それはそうするようです。スクロールマージンでmake-local-variableを使う正しい方向に私を指してくれてありがとう! – Jones

答えて

関連する問題