Next: , Previous: Region Indent, Up: Indentation


31.17.4 先行行相対の字下げ

本節では、先行する行の内容に基づいて現在行を字下げする2つの コマンドについて述べます。

— コマンド: indent-relative &optional unindented-ok

このコマンドは、空白でないまえの行のつぎの字下げ位置のコラムに 達するまで、ポイント位置に白文字を挿入する。 字下げ位置とは、白文字に続く白文字以外の文字である。 つぎの字下げ位置とは、現在行のポイントのコラム位置より大きな 最初の字下げ位置のことである。 たとえば、テキスト行の白文字以外の最初の文字より左側で、 その下の行にポイントがあると、 白文字を挿入してそのコラム位置にポイントを移動する。

空白でないまえの行に、つぎの字下げ位置(つまり、ポイント位置より 大きなコラム)がないと、indent-relativeは、 (unindented-oknil以外であれば)なにもしないか、 tab-to-tab-stopを呼び出す。 したがって、まえのテキスト行が短くてその行末より右側で、 その下の行にポイントがあると、このコマンドは、通常どおり、 白文字を挿入してつぎのタブ位置へポイントを移動する。

indent-relativeの戻り値は予測できない。

つぎの例では、ポイントは2行目の行頭にある。

                      This line is indented twelve spaces.
          -!-The quick brown fox jumped.

(indent-relative nil)を評価すると、つぎのようになる。

                      This line is indented twelve spaces.
                      -!-The quick brown fox jumped.

つぎの例では、ポイントは‘jumped’の‘m’と‘p’のあいだにある。

                      This line is indented twelve spaces.
          The quick brown fox jum-!-ped.

(indent-relative nil)を評価すると、つぎのようになる。

                      This line is indented twelve spaces.
          The quick brown fox jum  -!-ped.
— コマンド: indent-relative-maybe

このコマンドは、引数unindented-oktを指定して indent-relativeを呼び出すことで、 まえの行と同様に字下げする。 戻り値は予測できない。

空行でないまえの行に現在のコラム位置を越える字下げ位置がなければ、 このコマンドはなにもしない。