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


25.5.4 適応型フィル

フィルコマンドは、特定なケースでは自動的に適切なフィルプレフィクスを推測できます。空白文字または特定の区切り文字が行の先頭にあり、それがパラグラフの全行に適用されている場合です。

パラグラフに2行以上の行がある場合は、2行目からフィルプレフィクスが取得されますが、それは1行目にもそれが存在する場合だけです。

パラグラフに1行しかない場合、フィルコマンドは、その行からフィルプレフィクスを取得するかもしれません。この決定は複雑です。なぜならそのような場合に妥当な、3つの選択肢があるからです。

これら3つの書式スタイルは一般的に使用されているものです。そのためフィルコマンドは、そのメジャーモードに出現するプレフィクスにもとづいて、望ましいスタイルを決定しようと試みます。判断基準は以下のとおりです。

最初の行で見つかったプレフィクスがadaptive-fill-first-line-regexpにマッチするか、それがコメント開始シーケンス(メジャーモードに依存します)の場合、見つかったプレフィクスをパラグラフのフィルに使用しますが、それは後続の行でそれらがパラグラフの開始として振る舞わない場合に限られます。

上記以外の場合、見つかったプレフィクスは同じ量のスペースに変換され、それらのスペースは残りの行のフィルプレフィクスとして使用されますが、それは後続の行でそれらがパラグラフの開始として振る舞わない場合に限られます。

Textモード、および空行またはページ区切りだけがパラグラフを分割するモードでは、適応型フィルにより選択されるプレフィクスは、パラグラフの開始として振る舞わないので、常にフィルに使用できます。

変数adaptive-fill-regexpは、どのような行開始がフィルプレフィクスの役目を果たすかを決定します。行がこの正規表現にマッチする文字で開始されるとき、プレフィクスとして使用されます。変数adaptive-fill-modenilにセットした場合、フィルプレフィクスは自動的に選択されません。

変数adaptive-fill-functionに関数をセットすることにより、より複雑な方法で自動的にフィルプレフィクスを選択する方法を指定できます。この関数は行の左端の直後のポイントで呼び出され、その行にもとづいた適切なフィルプレフィクスを返すべきです。この関数がnilを返した場合、adaptive-fill-regexpがフィルプレフィクスを見つける機会を与えられます。