Next: , Previous: , Up: Filling   [Contents][Index]


25.5.2 明示的なフィルコマンド

M-q

カレントパラグラフをフィルします(fill-paragraph)。

C-x f

フィルの列幅をセットします(set-fill-column)。

M-x fill-region

リージョンの各パラグラフをフィルします(fill-region)。

M-x fill-region-as-paragraph

リージョンを1つのパラグラフとしてフィルします。

M-o M-s

行を中央に揃えます。

コマンドM-q (fill-paragraph)は、カレントのパラグラフをフィルします。このコマンドは特定の最大列幅に適合するような方法で、パラグラフの改行を再配分して、パラグラフの余分なスペースやタブ文字を削除します。

M-qは通常、ポイントがあるパラグラフに作用しますが、ポイントがパラグラフの間にあるときは、ポイントの後ろのパラグラフに作用します。リージョンがアクティブの場合、かわりにリージョンのテキストに作用します。M-x fill-regionを呼び出して、リージョンのテキストを明確にフィルすることもできます。

M-qおよびfill-regionは、パラグラフの境界を探すために、通常のEmacsの条件式を使用します。より細かく制御するには、ポイントとマークの間にあるすべてを1つのパラグラフとして再フィルする、M-x fill-region-as-paragraphを使用することができます。このコマンドはリージョンの空行を削除するので、分割されたテキストブロックは、1つのブロックに結合されます。

M-qに数引数を指定した場合、これはテキストのフィルと同時に割付(justify)も指示します。これは行の右端が正確にフィル列になるように、余分なスペースが挿入されることを意味します。余分なスペースを削除するには、引数を指定せずにM-qを使用します(fill-regionと同じ)。

フィルのための行の最大幅は、バッファーローカルな変数fill-columnにより指定されます。デフォルト値は70です(Localsを参照してください)。カレントバッファーのfill-columnをセットする一番簡単な方法は、コマンドC-x f (set-fill-column)を使用する方法です。数引数を指定すると、それを新しいフィル列として使用します。C-uだけを指定すると、このコマンドは現在のポイントの水平位置をfill-columnにセットします。

コマンドM-o M-s (center-line)は、現在のフィル列でカレント行を中央に揃えます。数引数nを指定すると、nを中央に揃えた後、ポイントを先に移動します。このバインディングはTextモードのためのもので、利用可能なのはTextモードとそれに関連するモードだけです(Text Modeを参照してください)。

デフォルトでは、Emacsは2つのスペースまたは改行が後にあるピリオドを、センテンスの終わりと判断します。後に1つのスペースしかないピリオドは、センテンスの終わりではなく、省略形を示します。それに合わせて、フィルコマンドも後に1つのスペースしかないピリオドでは、行を分割しません。変数sentence-end-double-spacenilにセットした場合、フィルコマンドは後に1つのスペースしかないピリオドでも行を分割するようになり、各ピリオドの後に1つのスペースを配すようになります。他の効果とこの方法の欠点については、Sentencesを参照してください。

変数colon-double-spaceが非nilの場合、フィルコマンドはコロンの後に2つのスペースを配します。

行分割を許さない場所の条件を追加で指定するには、アブノーマルフック変数fill-nobreak-predicateをカスタマイズします(Hooksを参照してください)。このフックの各関数は、Emacsが行を分割すべきと判断する位置で、引数なしで呼び出されます。関数が非nil値を返した場合、Emacsはその位置で行を分割しません。このフックに指定できる関数には、fill-single-word-nobreak-p(センテンスの最初の単語の後ろ、および最後の単語の前では分割しません)、fill-single-char-nobreak-p(1文字の単語の後ろでは分割しません)、fill-french-nobreak-p(‘(’の後ろ、および‘)’、‘:’、‘?’の前では分割しません)が含まれます。