連番挿入

■ 自動連番挿入

 箇条書きなどで、一連の番号を各行頭に振ることはよくありますが、 本機能を使えば、改行と同時に、次行の先頭にその連番を挿入することができます。 以下はその簡単な例です( ┃ は現カーソル位置を示します)。

 (1) これは最初の連番の行です。┃
    ↓ Shift+Enter キー押下
 (1) これは最初の連番の行です。
 (2) ┃
    ↓「・・・」と入力後、Shift+Enter キー押下
 (1) これは最初の連番の行です。
 (2) ・・・
 (3) ┃
本機能は、基本的に、現在行の行頭にある連番のパターンを認識して、 その次の連番の新行を挿入します。

 連番のパターンは、数字だけでなく、現状、次の種類の文字にも対応しています。

 連番のパターンとしては、これらの文字や数字だけでなく、その前後にある空白や括弧も 含みます。また、行頭に次のような記号がある場合も、そのパターンに含みます。
  . * - ・ ● ○ ◎ ■ □ ◆ ◇ ※
さらに、連番の末尾に次の文字がある場合も、そのパターンに含みます。
  . :
これらの記号の半角は全角でも同様に扱われます。 なお、特別な場合として、C++ 言語等の // のコメント開始記号が行頭にある場合も、 連番パターンの1部として扱われます。以下に、この例を挙げます。

現連番 次連番 次々連番
A: B: C:
(c) (d) (e)
【3】 【4】 【5】
※7 ※8 ※9
イ. ロ. ハ.
◆U. ◆V. ◆W.
// (1) // (2) // (3)

 連番のパターンは、数字や文字を含まず、空白だけ、または、空白と記号だけでも構いません。 その場合、基本的に、自動インデントと同様の動作になります。 その意味で、この「自動連番挿入」は、自動インデントの拡張になります。

 連番のパターン内に、所定の記号(半角/全角のピリオッドまたはハイフン)で区切られた 数字列が複数箇所あっても構いません。 その場合、次連番としては、その最後の箇所の数値だけがカウントアップします。 この例を以下に示します。

現連番 次連番 次々連番
1.23 1.24 1.25
3-4-5 3-4-6 3-4-7
(6−7) (6−8) (6−9)

 本機能は、AutoSerNo.mc というスクリプトで実現しています。 この起動は、初期環境では、Shift+Enter キーに割り当てられています。 連番のパターンを変更したい場合は、このスクリプトのソースの変更で行なえます。

■ 選択範囲への連番付加

 既に入力されているテキストに連番を付加する場合は、次のようにします。
(1)対象のテキスト範囲を矩形選択する
(2)メインメニューの「ツール」下の「外部プログラム実行」を選ぶ
(3)表示されたダイアログボックス内の [<] ボタンを押す
(4)表示されたリストから「選択部先頭に連番付加」または「選択部末尾に連番付加」を選んで「入力」を押す
(5)実行コマンドに(先頭に付加の場合は)「"$t\SeqNo" "(%d) "」が入力されるので、これを必要に応じて編集(詳細後述)
(6)「実行」ボタンを押すと、選択範囲の各行に連番が付加される

 実行コマンドは、次の形式になります。

  <実行ファイル名> <書式> <初期値> <増分>
 ≪説明≫

 以下に幾つかの例を示します。なお、下表内の空欄は省略(または無指定)を示します。

<書式><初期値><増分>付加連番
"(%d) "(1) (2) (3) ... を各先頭に
"F%02d: "74F07: F11: F15: ... を各先頭に
"%N. "1. 2. 3. ... を各先頭に
"%p%04X"024820248 024A 024C ... を各末尾に

 次に、矩形選択範囲の各先頭に連番を付加する操作例を示します。

 これは項目です。
 これは項目です。
 これは項目です。
   ↓ 外部プログラムで「"$t\SeqNo" " [%A] "」を実行
 これは [A] 項目です。
 これは [B] 項目です。
 これは [C] 項目です。

 次に、矩形選択範囲の各末尾に連番を付加する操作例を示します。

enum
{
  CT_SPACE
  CT_ALPHA
  CT_DIGIT
};
   ↓ 外部プログラムで「"$t\SeqNo" "\t= 0x%04x," 8」を実行
enum
{
  CT_SPACE = 0x0008,
  CT_ALPHA = 0x0009,
  CT_DIGIT = 0x000a,
};
なお、 は TAB を示します。