バッファ内のテキスト行(論理行)が長すぎてウィンドウに収まりきらない場合、Emacsはそれを2つ以上の画面行、あるいはビジュアル行として表示します。これは行折り返しまたは継続と呼ばれ、長い論理行は継続行と呼ばれます。グラフィカルディスプレイでは、Emacsはウィンドウの左右のフリンジに小さな折れ曲がった矢印を表示して行折り返しを示します。テキスト端末では、Emacsは右マージンに‘\’文字を表示して行折り返しを示します。
行に対して作用するコマンドの多くは、画面行ではなく論理行に対して作用します。例えば、C-k
は論理行を消去します。前述の通り、C-n (next-line) および C-p (previous-line) は特殊な例外であり、それぞれポイントを画面行1行分、下および上に移動させます(ポイントの位置変更を参照)。
Emacsでは、長い論理行を継続させる代わりに、任意で切り詰めることができます。これは、各論理行が1画面行分を占めることを意味し、行がウィンドウの幅を超える場合、残りの部分は表示されません。グラフィカルディスプレイでは、切り詰められた行は右フリンジにある小さな直線矢印で示され、テキスト端末では、右マージンにある‘$’文字で示されます。行の切り詰めを参照してください。
デフォルトでは、続きの行はウィンドウの右端で折り返されます。折り返しが単語の途中で起こることがあるため、続きの行は読みにくくなる場合があります。一般的な対処法は、改行を挿入して行が長くなりすぎる前に折り返すことです。あるいは、Auto Fillモードを使用して、行が長くなりすぎたときにEmacsが自動的に改行を挿入するように設定することもできます。テキストの折り返しを参照してください。
通常、各継続行の先頭文字は、それが表示される画面行の先頭に配置されます。マイナーモード visual-wrap-prefix-mode およびそのグローバル版(マイナーモード を参照) global-visual-wrap-prefix-mode
は、各行の周囲のコンテキストから自動的に算出されるフィルプレフィックス(フィルプレフィックス
を参照)を用いて、継続行をインデントして表示します。これらのプレフィックスは表示上の機能のみであり、バッファ内のテキストを一切変更することはありません。
長い論理行が多数含まれるファイルを編集する際、すべてを改行で区切るのが現実的ではない場合があります。そのような場合には、ワードラップを可能にするビジュアルラインモードを利用できます。このモードでは、長い行をウィンドウの右端で正確に折り返すのではなく、右端に最も近い単語境界(すなわちスペースやタブ文字)で折り返します。また、ビジュアルラインモードでは、C-a、C-n、C-k などの編集コマンドを、論理行ではなく画面行単位で動作するように再定義します。ビジュアルラインモードを参照してください。