第II部〜知っていると便利な秀丸の機能 アウトライン解析の枠

HideMaru Editor

Hidemaru Q and A

第II部〜知っていると便利な秀丸の機能
 アウトライン解析の枠


●アウトライン解析の枠

秀丸エディタ Ver.6.00以降では、「アウトライン解析の枠」が使用できます。

文書の構造をツリー状に表示したり、分類ごとにまとめたりして表示できます。 また、関数一覧や、強調表示一覧表示も可能です。

「アウトライン解析の枠」を表示するにはメニューの「表示」から「アウトライン解析の枠」に チェックを入れます。

[解説]

「アウトライン解析の枠」に各種項目を表示するには、設定が必要です。

  • 「ツリー表示」の「通常」や「分類」では、ツリーのレベルや、分類を設定します。
  • 「強調表示一覧」では、ファイルタイプ別で設定する強調表示の設定を使用します。

    アウトライン解析の方法-強調表示一覧

  • 「関数一覧」では、秀丸エディタがファイルを解析し、関数の一覧を自動的に表示します。 現状では「言語」の内容は、「C言語/Java等」のみしか選ぶことができません。 「C言語/Java等」の場合、以下の言語に対応しています。

    • C
    • C++
    • Java
    • JavaScript
    • C#
    • Objective-C
    • go言語

とりあえず使ってみよう

「アウトライン解析の枠」にどの様に表示されるかを見るため、デフォルトで内蔵されている設定を使ってみます。

メニューの「その他」-「ファイルタイプ別の設定」でダイアログを表示させ、 「設定の対象」-「アウトライン」-「解析」を選択し、「アウトライン解析の方法」を「ツリー表示-通常」を選択します。

アウトライン解析の方法-ツリー表示-通常

「リセット」を押すと表示されるメニューから、「“.”の数で階層を表す用」を選ぶと、 「ツリー表示の定義」が以下のように設定されます。

アウトライン解析の方法-“.”の数で階層を表す用

一時的な設定にするため「保存しないで更新」を押して、「ファイルタイプ別の設定」を閉じ、 以下の内容をコピーして、設定した秀丸エディタに貼り付けます。

.レベル1-1
表題-1
..レベル2-1
章-1
...レベル3-1
節-1
....レベル4-1
項-1
.....レベル5-1
段落-1
......レベル6-1
その他-1

.レベル1-2
表題-2
..レベル2-2
章-2
...レベル3-2
節-2
....レベル4-2
項-2
.....レベル5-2
段落-2
......レベル6-2
その他-2

設定内容に従い「アウトライン解析の枠」にツリー状の構成が表示されます。

アウトライン解析の方法-ツリー表示

簡単ですが、「アウトライン解析の枠」の「ツリー表示」の例になります。 「アウトライン解析の枠」の各項目をクリックすると、その行にカーソルが移動したり、 各項目内をすべて範囲選択する等、操作が可能になります。(例は1行なのであまり意味は無いですが・・・。)

アウトライン解析のツリー設定を行うと、「折りたたみ」、「見出し」、「部分編集」も可能になりますが、 別途説明があるので、「アウトラインに関連する機能」を参照の事。

設定を変更してみよう

「ツリー表示の定義」の設定について、解説します。

まず、「ツリー表示の定義」の「レベル1」を選択し「プロパティ」を押して、設定画面を表示させます。

アウトライン解析の方法-“.”の数で階層を表す用

初期状態は、「オプション」が閉じられた状態で表示されますが、「オプション」ボタンを押す事で、 オプション設定部分の表示/非表示を切り替える事が出来ます。

アウトライン解析の方法-プロパティ画面小

アウトライン解析の方法-矢印

アウトライン解析の方法-プロパティ画面大

見出しの定義

ここの「見出しの定義」とオプションの「表示範囲」でツリーに表示される内容が決まります。

「行頭の文字列」

行頭にある指定された文字列を見出しとして解釈します。

文字列内の“n”は、数値として解釈されます。

(n)   --> (1)、(10)、(100)
第n章 --> 第1章、第10章、第100章
n.n   --> 1.2、2.1、3.4
「行頭の記号」

設定した文字集合のいずれかを見出しとして解釈します。

#%&   --> "#" or "%" or "&" のいずれかの文字を見出しと認識する

レベルの操作を行った場合は、先頭の文字を使います。

「文字列」

設定した文字列を見出しとして解釈します。以下のオプションが選択可能です。

  • 大文字/小文字の区別
  • 単語の検索
  • 正規表現

見出し-文字列

正規表現をONした場合、分類モード時のグループ名に正規表現タグを指定できます。 「ツリー表示の分類について」を参照してください。

「関数」
関数を見出しとして解釈します。 対応する言語は、関数一覧と同じになります。
「強調表示」

強調表示されている行を見出しとして解釈します。

見出し-強調表示

オプションの説明
「インデント禁止」

「行頭の文字列」と「行頭の記号」のみに設定可能な項目。 見出しに設定した文字列/記号の前に、タブ文字や、空白文字を認めるかどうかです。

  • 例)OFFの場合は、「レベル1-3」を見出しと認識する。(ONの場合は認識しない。)

    インデント禁止

「インデントの深さでレベルを決める」

前の見出しとの比べて、インデントが深ければ1つ下のレベルになります。

「ツリー表示の定義」の「レベルの見せ方」が「絶対的」になっていると、この指定は無効です。

実際に設定してみます。「追加」ボタンを押して、現状の設定に以下の内容を追加します。

インデントの深さでレベルを決める設定

一時的な設定にするため「保存しないで更新」を押して、閉じます。

「レベル2-1」に以下の内容を追加します

- aaaa
  * bbbb

インデントの深さでレベルを決める設定例1

「レベルの見せ方」が「絶対的」になっている為、レベル7の見出しとして認識されます。 ここで設定を「絶対的」から「相対的」に変更します。

「ツリー表示の定義」画面にある「ツリーの動作」をクリックすると、設定画面が開きます。

レベルの見せ方を開く

ここで、レベルの見せ方を、「相対的」に変更します。

ツリーの動作設定画面

一時的な設定にするため「保存しないで更新」を押して、閉じます。

インデントの深さでレベルを決める設定例2

「絶対的」な場合と表示状態が変化しましたが、これは直ぐ上の見出しとレベルの比較を行い、 レベルが低ければ「下位レベル」と判断している(レベル7とは認識しない)からです。 さらに、“bbbb” は、“aaaa” より、インデントが深くなっている為、さらに下位と判断されます。

やっと、オプションの説明になります。

ONの場合認識

├レベル2-1
│└aaaa      レベル2より低いレベルなので1段下げ
│  └bbbb    インデントの深さより、"aaaa" より低いレベルなので1段下げ

OFFの場合認識

├レベル2-1
│├aaaa      レベル2より低いレベルなので1段下げ
│└bbbb      インデントの深さは関係ないので、"aaaa" と同じレベル

このチェックがONの場合、インデントだけで、レベルを決める事が出来ます。

「一つ上のツリー定義と同じレベルとして定義」

「追加」していくと、上のレベルから順番に定義されていきます。 「インデントの深さでレベルを決める」の説明で追加した項目は、「レベル7」になっています。

ツリーの表示画面1

このオプションを「ON」にすると、「一つ上のツリー定義と同じレベル」になります。 この場合は、「レベル6」。“LV”の項目が空白なのは、一つ上と同じという意味。

ツリーの表示画面2

通常は、「一つのレベルに対し定義は1個」という状態ですが、このチェックをONにする事で、 「一つのレベルに対し定義を複数個」設定する事が出来ます。

「コメントを無視」
「ファイルタイプ別の設定」-「デザイン」で、「コメント」と認識している箇所を、 見出しと認識させたくない場合は、「ON」にしてください。
「文字定数を無視」
「ファイルタイプ別の設定」-「デザイン」で、「文字定数」と認識している箇所を、 見出しと認識させたくない場合は、「ON」にしてください。
「展開/折りたたみ状態」

ツリー表示の状態を設定します

  • 標準
    子があるときは初期状態で展開し、手動で折り畳みも可能。
  • 初期状態でツリーを折りたたみ
    最初に表示する場合は、ツリーを折りたんだ状態にする。
  • 展開したままで固定
    子があるときに[+]/[-]マークなどは表示せずに、常に展開された状態。
「表示範囲」

見出しを表示する範囲を決めます。

以下の場合に適用されます。

  • 「アウトライン解析の枠」
  • 「アウトライン解析…」のダイアログ
  • 「見出しバー」

以下の選択ができます。

  • 自動
  • ヒットした文字以降
    ヒットした文字以降

  • ヒットした文字より後
    ヒットした文字より後

  • ヒットした文字のみ
    ヒットした文字のみ

  • 行全体
    (この例では「ヒットした文字以降」と同じ)
  • 次の行全体
    次の行全体

ツリーに表示する内容を、任意の部分だけにしたい場合は、「見出しの定義」を「文字列」にして、正規表現を使います。 後読み(先頭にある記号の指定等)と先読み(表示したくない後方部分を指定)を使うか、ヒットした扱いにするタグ指定を使います。 そして、「表示範囲」を「ヒットした文字のみ」にすれば、任意部分のみ表示可能になります。

「自動的な選択/部分編集の対象」

ONの場合、以下の状態に影響があります。

  • 「部分編集」コマンドを実行したとき、自動的に部分編集となる範囲の境界となる見出しかどうか
  • 「折りたたみ用の余白」で大きな[+]/[-]マークとして表示され、折りたたみの対象となるかどうか
  • 「次の見出し」「前の見出し」コマンドでジャンプする対象となるかどうか
「見出しバーに表示する対象」
OFFにすると、見出しバーに表示しないようになります。
「行番号表示」
見出しに行番号も表示する/しないの設定です。
ツリー表示の分類について

「分類モード時のグループ名」を入力しておくと、「ツリー表示-分類」が使用できます。

分類について

現状の設定にグループ名を追加してみます。

分類について

「ツリー表示-分類」に変更すると、表示が以下のように、設定したグループ名毎になります。

分類時の表示

「見出しの定義」で「文字列」を選択し、「正規表現」を有効にした場合、 グループ名に正規表現にマッチしたタグを指定する事が出来ます。

分類時の表示-正規表現タグの指定

ツリーの操作

「アウトライン解析の枠」で、見出しの項目を選択すると、右クリックメニューでツリーの単位の操作が可能です。

ツリーの右クリックメニュー1

例えば「切り抜き」ですが、選択した見出し下にあるツリーも対象になります。

実行前
├レベル1-1
│└レベル2-1         
│  └レベル3-1  <----ここを選択し、「切り抜き」を実行すると下のツリーも対象になる。
│    └レベル4-1     
│      └レベル5-1   
│        └レベル6-1 
├レベル1-2
「切り抜き」実行後
├レベル1-1
│└レベル2-1
├レベル1-2

「コピー」や「範囲選択」も同様に、ツリー構造になっている場合は、選択以下のツリーも対象になります。

「上に挿入」/「下に挿入」は、選択した見出しの上か下に、指定したレベルの見出しを追加可能です。

ツリーの右クリックメニュー2

「ツリー操作」では、見出しのレベル上げたり、下げたりも可能です。 「ツリーそのものをコピー」では「アウトライン解析の枠」の内容をクリップボードにコピーします。 ツリーの場合は罫線(?)ではなく、レベルの数だけTABコード(0x09)が入ります。

ツリーの右クリックメニュー3

アウトラインに関連する機能

アウトライン解析に関連する機能として以下の機能があります

標準では非表示になっていて、表示するには以下の “>>” を押す事で表示可能です。

各種表示切替1

もう一度 “>>” を押す事で非表示になります。

各種表示切替2

見出しバー

カーソルが今どこにあるかを表示します。設定により表示しない事も可能です。 (「見出しバーに表示する対象」)

見出しの表示

見出しバーの矢印を押す事で、見出しの移動が可能です。

見出しの移動

折りたたみ

エディタ上の本文を、見出し単位で折りたたむ事が出来ます。 折りたたみ可能な箇所は、折りたたみのマーク1 で示されます。

折りたたみ前

「レベル3-3」で折りたたむと、それ以下のレベルまで折りたたまれます。 折りたたみのマーク1 をクリックすると展開されます。

折りたたみ後

アウトラインの見出しだけではなく、選択範囲を折りたたむ事も可能です。 「見出し」ではないので、マーカーが異なります。

範囲選択の折りたたみ前

範囲選択すると範囲を示すマーカーが出るので、クリックすると折りたたまれます。

範囲選択の折りたたみ前

  • 折りたたみの設定

    折りたたみに関する設定は、「ファイルタイプ別の設定」-「アウトライン」-「折りたたみ」で変更が可能です。

    折りたたみの設定

    「折りたたみ可能な条件」にある「折りたたみ可能な条件の設定」を押すと詳細設定も可能です。

    折りたたみ可能な条件

部分編集

エディタ上の本文を、見出し単位で部分編集状態にする事が出来ます。 部分編集になると、グレーアウトされた箇所は編集できません。 検索や置換も、部分編集内に限定されます。

部分編集可能な箇所は、折りたたみのマーク1 で示され、 範囲は点線で示されます。

部分編集前

「レベル3-1」にカーソルがある状態で、見出しバーにある 部分編集のチェック をクリックすると 部分編集モードになります。

部分編集後

折りたたみと同様に、選択範囲を部分編集にする事も可能です。

  • 部分編集対象外部分の表示方法

    デフォルト状態では、部分編集の対象外部分はグレーアウトしますが、 表示方法は「ファイルタイプ別の設定」-「アウトライン」-「部分編集」-「部分編集の表示」で変更が可能です。

    部分編集後

    制限モード

    デフォルトは「制限モード」になっていて、グレーアウトします。 「半透明」にチェックを入れると、グレーアウトするかわりに半透明になりますが、 白背景だとわかりにくいので、黒背景に変えてみます。
    画面配色の関係で、グレーアウトでは見にくい場合は半透明を使う方法もあります。

    グレーアウトと半透明

    ローカル編集モード

    ローカル編集モードは、部分編集部分のみ表示され、あたかも別の文章のように表示されます。 (行番号も先頭が1から表示される)

    ローカル編集モード


目次に戻る