Next: Syntactic Symbols, Previous: Indentation Calculation, Up: Custom C Indent
C流のモードの字下げをカスタマイズする方法は2つあります。 1つは、あらかじめ定義されているスタイルから選択する方法です。 それぞれのスタイルでは、各構文シンボルに対するオフセットが定められています。 もう1つはより柔軟な方法で、各構文シンボルの扱い方をカスタマイズできます。 定義されている構文シンボルの一覧については、See Syntactic Symbols。
c-set-offset
)。
2番目の引数offsetで、字下げのオフセットを指定する。
変数c-offsets-alist
は、各構文シンボルに与える字下げ量を制御します。
この変数の値は連想リストであり、
各要素は(
syntactic-symbol .
offset)
の形をしています。
さまざまな構文シンボルに対するオフセットを変えることで、
字下げを細かくカスタマイズできます。
連想リストを変更するには、c-set-offset
を使います(下記参照)。
c-offsets-alist
内の各オフセットには、
整数、関数名や変数名、あるいは、
変数c-basic-offset
の値の正負の倍数を表すシンボルである
+
、-
、++
、--
、*
、
/
のいずれかを設定できます。
したがって、基本の字下げ幅を空白2文字から3文字に変更したければ、
c-basic-offset
に3を設定します。
オフセットに関数を用いると、
字下げのカスタマイズに究極の柔軟性を持たせられます。
この関数は、構文シンボルとバッファ内位置があればそれをcons
したものを
引数として呼ばれます。
戻り値としては、整数値のオフセットを返す必要があります。
オフセットの値がリストの場合、
各要素は、nil
以外の値がみつかるまで上の規則にしたがって処理されます。
その後、その値は、通常のように、字下げの総量に加えられます。
これは、主に、複数の関数の結果を組み合わせるために使われます。
対話的に設定するにしてもファイル~/.emacsで設定するにしても、
オフセットを設定するもっとも簡単な方法は、
コマンドC-c C-o(c-set-offset
)を使うことです。
最初の引数は構文シンボル、2番目の引数は希望のオフセットです。
有効な構文シンボル名とその意味の一覧は、See Syntactic Symbols。