次: , 前: Refresh Screen, 上: Display


38.2 表示の切り詰め

テキスト行がウィンドウの右端を越えていると、 その行をつぎのスクリーン行へ継続するか、 スクリーン行1行に切り詰めます。 長いテキスト行を表示するために使われる追加のスクリーン行を 継続行と呼びます。 通常、ウィンドウの最右端のコラムに現れる`$'で切り詰めたことを示し、 `\'でつぎの行に『折り返した』こと、 つまり、継続している行であることを示します。 (表示テーブルで別の文字を指定できる。 Display Tablesを参照。)

継続することと詰め込みは別のことです。 継続はスクリーン上だけのことであり、バッファ内容は変わりません。 また、継続では単語の境界ではなく、正確にスクリーンの右端で 行を分けます。 See Filling

— ユーザオプション: truncate-lines

このバッファローカルな変数は、 ウィンドウの右端を越える行をどのように表示するかを制御する。 デフォルトはnilであり継続を意味する。 値がnil以外であると、そのような行を切り詰める。

変数truncate-partial-width-windowsnil以外であると、 (フレーム内で)左右に並んだウィンドウでは、 truncate-linesの値に関わらずつねに切り詰る。

— ユーザオプション: default-truncate-lines

この変数は、truncate-linesのバッファローカルな値を持たない バッファ向けのtruncate-linesのデフォルト値である。

— ユーザオプション: truncate-partial-width-windows

この変数は、左右に並んだウィンドウ(see Splitting Windows)において、 ウィンドウの右端を越える行の表示を制御する。 nil以外であると、そのような行を切り詰める。 さもなければ、truncate-linesに従って表示する。

ウィンドウで水平方向にスクロールしている(see Horizontal Scrolling)と、 強制的に切り詰めます。

継続や切り詰めを表す文字は、表示テーブルを使って変更できます。 See Display Tables

バッファにとても長い行があるときにそれらの表示に継続行を使うと、 それによりEmacsの再表示が遅くなります。 コラム計算や字下げ関数も遅くなります。 そのような場合には、cache-long-line-scanstを 設定するのがよいです。

— 変数: cache-long-line-scans

この変数がnil以外であると、 字下げ/移動関数とEmacsの再表示において、 バッファを走査した結果をキャッシュし、 バッファが変更されていないときには キャッシュを調べてバッファの対象領域の再走査を回避する。

キャッシュするようにすると、短い行の処理が多少遅くなる。

この変数は、すべてのバッファで自動的にバッファローカルである。