自動調整

■自動インデント

 インデント(字下げ)では、行頭に空白やタブ等を入れますが、 インデントの箇所が多いテキスト(例えば、ソースプログラム等)では、 毎回手動でインデントするのは面倒です。
 そこで、「自動インデント」の機能があります。これを有効にしておくと、 改行した時に、次の新しい行のインデントを、前の行と同じ深さのインデントに、 自動的に合わせてくれます。

 自動インデントの対象になるのは、行頭の空白やタブだけでなく、用途に よっては、全角空白もその対象にしたい場合があります。また、 箇条書きなどでは、
  * . - + ・ ● ○ ◎ ■ □
などの特殊記号も、その対象に含まれた方が便利な場合があります。そのため、 本エディタでは、各環境ごとに、自動インデントの対象になる行頭の文字を、 任意に指定できるようになっています。
 ちなみに、この対象は、「C++ ソースファイル」用の初期環境では、 タブだけです。また、他の初期環境では、別の設定になっています。

 自動インデントで行頭に挿入されるのは、通常、前行のインデント部と 同じ文字列ですが、これも、環境設定でいろいろ選べるようになっています。
 自動インデントの環境設定は、「編集」→「自動インデント」にあります。

 本エディタでは、C言語等用の特別な自動インデント機能(例えば、} の 入力時に逆インデントする等)は、ありませんが、その代わりに、もっと 便利な機能を、慣用語句入力で提供しています。例えば、 各種の波括弧 { ... } のブロックを自動インデントありで一気に挿入する 機能などです。この詳細は、「慣用語句集」の「C/C++」のところで 説明しています。

 自動インデントの機能は、便利ですが、場面によっては、自動インデントなしで 改行したい時もあります。その時には、「強制改行」の慣用語句入力を使います。 これは、初期環境では、Ctrl+Enter キーに割り当てられています。

■禁則処理

 禁則処理は、論理行が1表示行内に収まらずに、折り返される場合に、行なわれます。 論理行が1表示行内に収まる場合には、禁則処理は、行なわれません。

 禁則処理には、次の3通りがあります。

 なお、禁則処理関連の環境設定は、「編集」→「禁則処理」に あります。


 英文ワードラップ を有効にしておくと、1つの単語が、行末から次の行頭に またがって表示されることがなくなります。つまり、その単語の直前で折り返しが 行なわれて、その単語は次行の先頭から表示されます。


 行頭の禁則処理 を有効にしておくと、基本的に、行頭に来れない 「行頭禁則文字」は、行頭に来なくなります。この処理では、まず、 下記の(1)が行なわれます。それができない場合は、(2)が行なわれます。 それもできない場合は、何も行なわれません。

(1)前行末尾へ「ぶら下げ」

 行頭の「行頭禁則文字」を、前行末尾へぶら下げます。但し、この「ぶら下げ」が 可能なのは、環境設定で、「前行の末尾にぶら下げても良い文字」として 指定されている文字だけです。また、前行末尾にぶら下げられた文字は、 折り返し桁を越えますが、折り返し桁を越えられるのは、最大1字までです。 但し、その次が改行コードなら、その後に付随されます。

(2)前行末尾から「追い出し」

 前行末尾の文字を追い出して、この行頭に廻して、その後に「行頭禁則文字」が くるようにします。もし、追い出された文字が「行頭禁則文字」なら、さらに もう1字追い出します。それがまた「行頭禁則文字」なら、これを繰り返します。 但し、この「追い出し」が可能なのは、環境設定で、「次行の先頭に追い出しても良い最大の字数」で指定されている字数までです。 また、前行には最低1字は残される必要があります。


 行末の禁則処理 を有効にしておくと、基本的に、行末に来れない 「行末禁則文字」は、行末に来なくなります。この処理は、「追い出し」で 行なわれます。つまり、行末が「行末禁則文字」なら、それは次行の先頭に 追い出されます。もし、それでもまだ、行末が「行末禁則文字」なら、 これが繰り返えされます。但し、この「追い出し」が可能なのは、環境設定で、「次行の先頭に追い出しても良い最大の字数」で 指定されている字数までです。また、その行には最低1字は残されます。

 禁則処理の有効/無効に関わらず、改行コードは、必ず、行末に ぶら下げられます。つまり、折り返えされた行の先頭に、改行コードが来る ことはありません。