Auto Fillモードは、行幅が広すぎた際にSPCまたはRETと入力すると自動的に行が折り返される、バッファローカルなマイナーモード(マイナーモードを参照)です。
自動入力モードを有効または無効にします。
自動入力モードでは、適宜改行してください。
modeコマンド M-x auto-fill-mode
は、現在のバッファでオートフィルモードを切り替えます。他のマイナーモードと同様に、正の数値引数を指定するとオートフィルモードが有効になり、負の引数を指定すると無効になります。特定のメジャーモードでオートフィルモードを自動的に有効にするには、modeフックに
auto-fill-mode を追加してください(メジャーモード を参照)。オートフィルモードが有効なときは、モードインジケータ
‘Fill’ がモードラインに表示されます(モードライン を参照)。
オートフィルモードでは、行が指定した幅を超えた場合、適切な箇所で自動的に改行されます。この改行は、SPC または RET と入力したときにのみ発生します。改行をさせずにスペースや改行を挿入したい場合は、それぞれ C-q SPC または C-q C-j と入力してください。また、C-o は改行せずに改行を挿入します。
オートフィルで改行が行われる位置は、その行の文字によって異なります。ASCIIやラテン文字、およびその他のほとんどの文字体系では、単語を途切れさせないよう、スペース文字で改行されます。一方、CJK文字体系では、任意の2文字の間で改行が行われることがあります。(kinsokuライブラリをロードすると、特別な規則で改行が禁止されている特定のCJK文字ペアの間では、Emacsは改行を回避します。)
自動入力モードで行が折り返される際、適応型入力プレフィックスに従おうとします。現在の段落の1行目および/または2行目から入力プレフィックスが推測できる場合は、それが新しい行に挿入されます(適応型入力を参照)。そうでない場合は、あたかも TAB と入力したかのように、新しい行がインデントされます(インデントを参照)。プログラミング言語モードでは、コメントの途中で行が折り返された場合、適宜新しいコメント区切り文字を挿入することで、コメントが分割されます。
自動入力モードでは、段落全体を再入力することはありません。行は分割されますが、行が統合されることはありません。そのため、段落の途中で編集を行うと、正しく入力されない段落になる場合があります。入力するには、明示的な入力コマンド(明示的な入力コマンドを参照)を呼び出してください。
表示時に長い行を自動的に折り返す同様の機能として、ビジュアルラインモードがあります(ビジュアルラインモードを参照)。