現在の行のインデントを調整します (indent-for-tab-command)。
改行を挿入し、続く行のインデントを調整します (newline)。
基本的なインデントコマンドは TAB (indent-for-tab-command) であり、これについては インデント で説明されています。プログラミング言語モードでは、TAB
は直前の行のインデントと構文内容に基づいて現在の行をインデントします。また、リージョンがアクティブな場合は、TAB は現在の行だけでなく、リージョン内の各行をインデントします。
テキストの挿入で解説されているコマンド RET (newline) は、C-j に続いて TAB
を実行するのと同様の動作をします。つまり、新しい行を挿入し、その後その行のインデントを調整します。
括弧で囲まれたグループ内で開始する行をインデントする場合、Emacsは通常、その行の開始位置をグループ内の直前の行の下、あるいは括弧の後のテキストの下に配置します。これらの行のいずれかに手動で非標準的なインデントを施した場合(例えば見た目上の理由など)、それ以降の行もそれに従います。
ほとんどのプログラミング言語モードにおけるインデントコマンドは、左マージンにある開き括弧、開き中括弧、またはその他の開始デリミタが関数の開始位置であることを前提としています。編集中のコードがこの前提に反する場合—たとえデリミタが文字列やコメント内に存在していても—インデントを正しく機能させるには、open-paren-in-column-0-is-defun-startをnilに設定する必要があります。左マージンの規約を参照してください。