インデント(Indentation)とは、空白文字(スペースやタブ文字)を行のテキストの先頭に挿入したり調整することを指します。このチャプターでは、インデントコマンドと、Textモードやそれに関連するモード、同様にプログラミング言語のモードでの一般的なオプションを記します。プログラミング用のモードでのインデントに関する追加のドキュメントは、プログラムのインデントを参照してください。
インデントを行うもっとも簡単な方法は、TABキーです。ほとんどのメジャーモードでは、これによりコマンドindent-for-tab-command
が実行されます(Cおよびそれに関連するモードでは、TABは同じように振る舞うコマンドc-indent-line-or-region
を実行する。Cのインデントのためのコマンドを参照されたい)。
空白文字を挿入、またはモードに適した方法でカレント行をインデントします(indent-for-tab-command
)。リージョンがアクティブのときは、リージョンのすべての行をインデントします。
TABの正確な動作は、メジャーモードに依存します。Textモードおよびそれに関連するモードでは、TABは通常、空白とタブ文字を組み合わせたものを挿入して、ポイントを次のタブストップに進めます。このために、先行する行の最初の空白以外の文字の位置は、追加のタブストップとして扱われるので、TABを使って先行する行にポイントを揃えることができます。リージョンがアクティブ(リージョンを操作するを参照してください)な場合、TABは特別な動作をします。これはリージョンの各行をインデントするので、各行の最初の空白以外の文字は、先行する行に揃えられます。
プログラミング関連のモードでは、TABはコードのカレント行にたいして、前の行のコードの意味を理解してインデントします。リージョンがアクティブな場合、リージョンのすべての行はこの方法でインデントされます。ポイントが最初にカレント行のインデント領域にあった場合、その行の最初の空白以外の文字に再配置されます。
単にタブ文字をバッファーに挿入したいときは、C-q TABとタイプします(テキストの挿入を参照してください)。