Next: , Previous: , Up: 基本的な編集コマンド   [Contents][Index]


9.8 継続行

バッファー内のテキストの行 — 論理行(logical line) — がウィンドウに収まらないほど長い場合、Emacsがそれを2行以上のスクリーン行(screen lines)で表示するときがあります(visual lines: とも呼ぶ)。これは行の折り返し(line wrapping)または継続(continuation)と呼ばれ、論理行は継続された行(continued line)と呼ばれます。グラフィカルなディスプレイでは、Emacsは行の折り返しをウィンドウの左右のフリンジ(fringes、縁)の小さな曲矢印で示します。テキスト端末では、Emacsは右の余白に‘\’を表示して行の折り返しを示します。

ほとんどのコマンドは、スクリーン行ではなく論理行にたいして作用します。たとえばC-kは論理行をkillします。前に説明したように、C-n (next-line)とC-p (previous-line)は特別な例外です。これらはスクリーン行にたいしてポイントを上下に移動させます(ポイント位置の変更を参照してください)。

Emacsはオプションで長い論理行を継続するかわりに、切り詰める(truncate)ことができます。これは論理行が1つのスクリーン行を占めることを意味します。もし論理行がウィンドウ幅より長い場合、行の残りは表示されません。グラフィカルなディスプレイでは切り詰められた行は、右フリンジの小さな直矢印で示されます。テキスト端末では右余白の‘$’で示されます。行の切り詰めを参照してください。

デフォルトでは継続行はウィンドウの右端で折り返されます。折り返しが単語の途中で発生すると、継続された行は読むのが難しくなります。普通の解決策は、行が長くなりすぎる前に改行を挿入することです。もしお好みなら、行が長くなりすぎたときにEmacsが自動的に改行を挿入するように、Auto Fillモードを使うことができます。テキストのフィルを参照してください。

通常だと継続行の最初の文字はそれぞれ、表示されているスクリーン行の先頭に配置されます。マイナーモードvisual-wrap-prefix-mode、およびそのグローバル版(マイナーモードを参照)の相方であるglobal-visual-wrap-prefix-modeは、スクリーン行に対応する論理行のわずかに調整されたバージョンのフィルプレフィクスが、継続行に前置されるようアレンジします。インデント文字やソースコードコメントのプレフィクス(フィルプレフィクスを参照)は継続行すべてに渡り複製されるので、そのようなコメントやインデントや見た目が崩れることはありません。これらのプレフィクスが表示されるのはディスプレイ上だけのことであり、バッファーのテキストは一切変更されません。

多くの長い論理行を含むファイルを編集する必要があり、それらすべてを改行で分割するのが実用的でない場合があります。そのようなケースでは単語折り返し(word wrapping)が有効なVisual Lineモードを使うことができます。これは長い行を正確にウィンドウの右端で折り返すのではなく、ウィンドウの右端に一番近い単語境界(スペースやタブなど)で折り返します。Visual Lineモードでは、C-aC-nC-kなどの編集コマンドも、論理行ではなくスクリーン行を処理するように再定義されます。Visual Lineモードを参照してください。

This page has generated for branch:master, commit:81f587b506e2563074cc3822ad20525d82e8969d to check Japanese translation.