ファイルをページ送り文字(ASCIIコードのコントロールL、8進コードの014) で区切ったページの集まりとして捉えることがよくあります。 ファイルを印刷すると、この文字は改ページを行います。 そのため、ファイル内の各ページは別々の用紙に印刷されます。 ほとんどのEmacsコマンドは、ページを区切る文字を他の文字と同様に扱いますから、 C-q C-lでページ送り文字を挿入したり、<DEL>で削除できます。 つまり、ファイルをページに区切るのも区切らないのも自由です。 しかし、ページはファイルを分割する意味ある単位なので、 Emacsには、ページ間の移動やページを対象とするコマンドがあります。
backward-page
)。
forward-page
)。
mark-page
)。
count-lines-page
)。
C-x [(backward-page
)コマンドは、
まえのページ区切り文字の直後にポイントを移動します。
ポイントがすでにページ区切りの直後にあれば、
さらにまえのページ区切り文字の直後に移動します。
数引数は反復回数として扱われます。
C-x ](forward-page
)コマンドは、
つぎのページ区切り文字の直後にポイントを移動します。
C-x C-pコマンド(mark-page
)は、
ページの先頭にポイントを置き、末尾にマークを設定します。
末尾にあるページ区切り文字は含まれます
(マークはページ区切り文字の直後にある)。
先頭にあるページ区切り文字は除外されます
(ポイントはページ区切り文字の直後にある)。
C-x C-p C-wは、ページ全体をキルして別の場所に
移動するのに便利な方法です。
C-x [やC-x ]で別のページ区切り位置に移動してから
キルしたページをヤンクすれば、
すべてのページが適切に区切られた状態が維持されます。
C-x C-pが末尾のページ区切り文字だけを含める理由は、
これを保証するためです。
C-x C-pへの数引数は、現在のページを基準にして ポイントの移動先のページを指定します。 0は現在のページを意味します。 1はつぎのページ、−1はまえのページを意味します。
C-x lコマンド(count-lines-page
)は、
ページをどこで2つに分割するかを決めるのに便利です。
現在のページについて、総行数、現在行のまえにある行数とうしろにある行数を
つぎのようにエコー領域に表示します。
Page has 96 lines (72+25)
この例で、総行数が1だけ少ないことに注意してください。 ポイントが行頭にないとつねにこうなります。
変数page-delimiter
はページの始まりを制御します。
この変数の値は、ページを区切る行の先頭に一致する正規表現です。
この変数の通常の値は"^
\f"
で、
行頭のページ送り文字に一致します。