Next: , Previous: Basic Indent, Up: Program Indent


20.5.2 複数行の字下げ

変更した複数行や、リスト構造中の異なるレベル箇所へ移した複数の行を 字下げし直すには、いくつかのコマンドを利用できます。

C-M-q
リスト内のすべての行を字下げし直す(indent-sexp)。
C-u <TAB>
リストの最初の行が正しい字下げ位置にくるように、 リストのすべての行を横にそのまま動かす。
C-M-\
リージョン内のすべての行を字下げし直す(indent-region)。

1つのリストの中身を字下げし直すには、 リストの始まり位置にポイントを置いて C-M-q(Lispモードではindent-sexp、 Cモードではc-indent-exp、 他のモードでは適切なコマンドにバインドされている)と打ちます。 S式が始まる行の字下げは変化しません。 つまり、リスト内の相対的な字下げが変化するだけで、 リストの位置は変わりません。 リストの開始位置も直すには、C-M-qのまえに<TAB>を打ってください。

リスト内の相対的な字下げは正しいけれども、 リストの開始行の字下げが正しくない場合には、 その行に移動してC-u <TAB>と打ちます。 <TAB>に数引数を指定すると、通常どおり現在行を字下げしてから、 その行から始まるリスト内のすべての行にも同じ量の字下げを加えます。 いいかえれば、グループ全体をひとまとめに字下げし直します。 ただし、このコマンドは賢くて、文字列の中の行は移動しませんし、 Cモードではプリプロセッサ行を移動しません。

字下げし直す範囲を指定するには、リージョンを使うこともできます。 コマンドC-M-\indent-region)は、 ポイントとマークのあいだに 行の先頭文字が含まれるすべての行について<TAB>を実行します。