次: Region Indent, 前: Primitive Indent, 上: Indentation
各メジャーモードの重要な機能は、 キー<TAB>を編集対象の言語に適した字下げにカスタマイズすることです。 本節では、キー<TAB>の機構とそれを制御する方法について述べます。 本節の関数は、予測できない値を返します。
この変数の値は、現在行を字下げするために <TAB>(やさまざまなコマンド)が使う関数である。 コマンド
indent-according-to-mode
は、 この関数を呼ぶこと以上のことはしない。lispモードでは値はシンボル
lisp-indent-line
、 Cモードではc-indent-line
、 fortranモードではfortran-indent-line
である。 標準的な字下げがない基本(fundamental)モード、 テキスト(text)モード、他の多くのモードでは、 値はindent-to-left-margin
(デフォルト値)である
このコマンドは、現在のメジャーモードに適した方法で現在行を字下げするために
indent-line-function
で指定される関数を呼び出す。
このコマンドは、現在行を字下げするために
indent-line-function
で指定される関数を呼び出すが、 その関数がindent-to-left-margin
であると、 かわりにinsert-tab
を呼び出す。 (これはタブ文字を挿入する単純なコマンドである。)
この関数は、改行を挿入してから、 (改行を挿入したばかりの行に続く)新たな行を メジャーモードに基づいて字下げする。
現在の
indent-line-function
を呼び出して字下げを行う。 プログラム言語向けのモードでは、これは<TAB>が行うことと同じであるが、 <TAB>がタブを挿入するテキスト向けのモードの一部では、newline-and-indent
はleft-margin
で指定されたコラムに字下げする。
このコマンドは、現在行を字下げし直し、ポイント位置に改行を挿入し、 (改行を挿入したばかりの行に続く)新たな行を字下げする。
このコマンドは、
indent-line-function
の現在の値を呼び出すことで、 どちらの行も現在のメジャーモードに基づいて字下げする。 プログラム言語向けのモードでは、これは<TAB>が行うことと同じであるが、 <TAB>がタブを挿入するテキスト向けのモードの一部では、reindent-then-newline-and-indent
は、left-margin
で指定されるコラムに字下げする。