Next: , Previous: Paragraphs, Up: Text


19.4 ページ

ファイルをページ送り文字(ASCIIコードのコントロールL、8進コードの014) で区切ったページの集まりとして捉えることがよくあります。 ファイルを印刷すると、この文字は改ページを行います。 そのため、ファイル内の各ページは別々の用紙に印刷されます。 ほとんどのEmacsコマンドは、ページを区切る文字を他の文字と同様に扱いますから、 C-q C-lでページ送り文字を挿入したり、<DEL>で削除できます。 つまり、ファイルをページに区切るのも区切らないのも自由です。 しかし、ページはファイルを分割する意味ある単位なので、 Emacsには、ページ間の移動やページを対象とするコマンドがあります。

C-x [
まえのページ境界にポイントを移動する(backward-page)。
C-x ]
つぎのページ境界にポイントを移動する(forward-page)。
C-x C-p
このページ(か別のページ)の周りに、ポイントとマークを置く (mark-page)。
C-x l
このページの行数を数える(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"で、 行頭のページ送り文字に一致します。