秀丸エディタ上でアウトライナーを実現する houtliner

秀丸エディタ上でアウトライナーを実現する houtliner を公開した。

中身

  • 強調定義ファイル
  • マクロ
  • バッチファイル(一部機能をマクロから呼び出して使う)

入手、インストール、マニュアルについて

入手とインストールについては以下。

アウトライナーのコンセプトについて

2ペイン

アウトライナーには 1 ペイン型と 2 ペイン型があるが、houtliner は 2 ペイン型。

以下の 2 つのペインがある。

  • アウトラインを書き連ねていく「編集領域」
  • アウトライン全体(セクション、レベル1、レベル2の計 3 段)を俯瞰したり操作したりする「アウトライン枠」

アウトライン枠の表示位置は上・下・左・右から選べる。また非表示も可。

情報の構造(ファイル/セクション/アウトライン/ズーム)

情報の構造としてファイル、セクション、アウトライン、ズームがある。

  • ファイル
    • .outline ファイル
    • 複数のセクション、複数のアウトラインを持てる
  • セクション
    • 複数のアウトラインを持てる単位で、フォルダみたいなもの
  • アウトライン
    • 箇条書き
    • レベルは無限だが、色分けされるのはレベル6まで
  • ズーム
    • 箇条書き一行に「ファイル一つ分の記入領域」を付与したもの

文法

  • セクションは「・・」はじまりの行
  • アウトラインは「・」はじまりの行
  • アウトラインのレベルは 半角スペースの個数 で区別する
    • レベル1は0個、レベル2は1個、レベル3は2個……
  • 強調系は以下のとおり
    • 引用は「>」はじまり(全角可)
    • (TODOリストなどの)完了は「x」または「X」はじまり(全角可)
    • 太字は「@」で囲む(全角のみ)
    • かっこ(「」と『』)
    • リテラル(バックチック ` で囲む)

日本語を書く

houtliner は日本語でアウトラインを書くことを想定している。

ゆえに以下性質がある。

  • 箇条書きの「・」にせよ太字の「@」にせよ全角文字
  • 他の文法についても全角文字半角文字どちらでも強調されるようになっている(全角のまま打つことを考慮している)
  • 日本語文でよく使う「」『』も強調する

サポートする操作

アウトラインプロセッシングを円滑にするために、色々と操作を用意している。

  • 折りたたみ(現在位置のアウトライン表示を折りたたむ)
  • 移動 …… 現在位置のアウトラインやセクションを、一つ前または後に移動
  • 並び替え …… アウトラインやセクションを D&D で並べ替え
  • フォーカス …… 現在位置のアウトライン以外を編集できないようにする(現在位置のみの編集に集中するモード)

なぜ houtliner を使うのか(他のアウトライナーではダメなのか)

オフラインで使いたいから

アウトライナーとして名を馳せているのが WorkFlowy や Dynalist だが、これらはクラウドサービスである。オンラインでないと使えない。

テキストエディタの便利機能をフル活用したいから

私がクラウドサービスでテキスト編集を行わない理由の一つが、エディタとして貧弱だからである。ローカルのテキストエディタの方が高速だし、何より高機能でカスタマイザブルだ。テキストエディタに慣れていると、クラウドはストレスでしかない。

さて、アウトライナーだが、これは小説やプログラミングのようにガシガシテキストを書くものだと私は考えている。ゆえにガシガシ書けるポテンシャルが必要だ。少なくとも WorkFlowy や Dynalist 程度では務まらない。

たとえば秀丸エディタには以下機能がある。

  • 検索/置換
  • 行ブックマーク
  • ファイルブックマーク
  • ウィンドウ分割(一ウィンドウ内を縦横or上下で二画面に分割する)
  • ファイルマネージャ枠(今開いているファイルのあるフォルダ内を一覧表示するペイン)

ブラウザアプリのただのテキストエリアよりも何倍も、何十倍も使いやすい。

データをファイルで扱いたいから

私はエンジニアということもあり、アウトラインを書いたデータはファイルとして管理したい。バージョン管理したいし、grep をはじめツールやスクリプトでの利活用・加工編集もしたい。

houtliner は .outline ファイルという形でデータをつくるため、ファイルとして管理することができる。

秀丸エディタ上で使いたいから

これは完全に私の好みだが、私が普段使っている秀丸エディタ上で実現したかった。

FAQ

Q. 1ペインは実現できない?

Ans: できない

秀丸エディタの仕様上、できないと思われる。

詳しくは 秀丸エディタで 1 ペインのアウトライナーを実現できない理由 - stamemo を。