CompleteX
Version 2.48 (2005/11/13)
[古いマクロ] これは旧バージョンのドキュメントです。このマクロの開発は CompleteX v3 に引き継がれました。
目次
|
- 秀丸エディタ用の入力補完マクロです。途中まで書いた単語の続きを補完します。
- 候補はリストボックスに表示され、補完中もそのまま入力を続けることができます。
- 4種類の補完モードがあります。
- 辞書補完モード
- あらかじめ用意した辞書から補完します。 Emacs で言う complete-symbol (シンボル展開)にあたります。拡張子ごとに辞書を指定できます。
- 名前補完モード
- 編集中のファイル内で使われている単語を補完します。 Emacs で言う dabbrev-completion (動的略称展開)にあたります。
- ファイル名補完モード
- ファイル名やフォルダ名を補完します。相対パス、絶対パス、 UNC パスが書けます。
- フォント名補完モード
- システムにインストールされているフォント名を補完します。
- プラグインにより機能拡張が可能です。拡張子ごとにプラグインを指定できます。
|
- 秀丸エディタ ver 4.00 以降をお使いですね?
- マクロフォルダの位置を確認します。
マクロフォルダは秀丸エディタの [その他(O)]-[動作環境(E)...]-[パス]-[環境]-[マクロファイル用のフォルダ(M)] で指定されているフォルダです。無指定なら Hidemaru.exe と同じフォルダです。
- CompleteX のアーカイブをマクロフォルダに解凍します。必ずディレクトリ構造を保ったまま解凍してください。〈→ファイル構成〉
- [マクロ(M)]-[マクロ登録(E)...] で CompleteX.mac を適当な番号に登録します。
- [その他(O)]-[キー割り当て(K)...] で適当なキーに割り当てます。
- 割り当てたキーを押します。
- リストボックスが表示されたらインストール完了です。実際に使ってみましょう。〈→使い方〉
- 新しいアーカイブをマクロフォルダに上書き解凍します。
- 設定ファイルはそのまま引き継がれます。
- キー割り当てをカスタマイズしている場合は初期化されます。必要なら事前にバックアップを取るなどしてください。
- インストール時と同じ方法でキー割り当てを解除します。
- 同様にマクロ登録も解除します。
- CompleteX.mac, CompleteWord.mac, CompletePath.mac, CompleteFont.mac およびベースフォルダ以下の全ファイルを削除します。
インストール後のファイル構成は次のようになります。
■マクロフォルダ\
│・CompleteX.mac …自動モードで起動
│・CompleteWord.mac …名前補完モードで起動
│・CompletePath.mac …ファイル名補完モードで起動
│・CompleteFont.mac …フォント名補完モードで起動
│
└─■CompleteX\ …ベースフォルダ
・CompleteX-Main.mac …本体
・config.txt …設定ファイル
・sample-config.txt …設定ファイルのサンプル
・sample.dic …辞書ファイルのサンプル
・macrodll.dll
マクロフォルダ直下の CompleteX フォルダをベースフォルダと呼びます。サンプル以外のファイル名・フォルダ名は変更しないのが無難です。
マクロフォルダには機能別に4つの起動マクロがあります。必要に応じてマクロ登録・キー割り当てを行ってください。
| 辞書補完モード | 名前補完モード | ファイル名補完モード | フォント名補完モード | プラグイン対応 |
CompleteX.mac | ● | ● | ● | ● | ● |
CompleteWord.mac | × | ● | × | × | × |
CompletePath.mac | × | × | ● | × | × |
CompleteFont.mac | × | × | × | ● | × |
- CompleteX.mac は設定に応じて自動的に機能が切り替わります。辞書補完モードの候補と名前補完モードの候補を混ぜることもできます。なので、基本的には CompleteX.mac を使うようになります。
- CompleteWord.mac は名前補完モード専用です。
- CompletePath.mac はファイル名補完モード専用です。
- CompleteFont.mac はフォント名補完モード専用です。
リファレンスを参照してください。
動作環境
- 秀丸エディタ v4.00 以降で動作するはずです。
- 秀丸エディタ v5.13β1 + HMJRE.DLL v1.73 で動作確認しました。
使用条件
- CompleteX はフリーウェアです。使用ならびに改変はご自由にどうぞ。
- 作者はこのマクロに関する一切の責任を持ちません。
- 配布条件、著作権等についてはアーカイブ同梱の readme.txt を参照してください。
配布場所
一次配布場所は Wisteria - 秀丸マクロ - CompleteX です。二次配布は次のところで行われています。
謝辞
CompleteX は偉大なマクロ作者たちの英知を結集して作られたものです。(私の英知は入ってない)
CompleteX は次のところで紹介されてます。(発見順)
上記の皆さん、ご意見をくださった皆さん、ほか関係する皆さんに深く感謝します。ありがとうございます。
- Version 2.48 (2005/11/13)
-
- 一部のプラグインで文字列が収集できなかったバグ修正(v2.46 でエンバグされた)
- macrodll.dll v0.77 (20051110) 同梱
- Version 2.47 (2005/10/21)
-
- 無入力で名前補完すると固まるバグ修正(v2.46 でエンバグした)
- Version 2.46 (2005/10/04)
-
dic1
のみ指定すると辞書ファイルが壊れる問題に対処
- macrodll.dll v0.76 (20050817) 同梱
- Version 2.45 (2005/08/09)
-
- ドキュメントの「鶴亀メール」を「秀丸メール」に修正
- ドキュメントのリンク切れを整理
- 今回はオンラインドキュメントの修正のみです。アーカイブは次のバージョンまで更新されません。
- Version 2.45 (2005/02/13)
-
- v2.44 でフォント名補完が使えなくなってたバグ修正?
- 一部のプラグインで候補に変な文字列が交じることがあるバグ修正
- macrodll.dll v0.75 (20050205) 同梱
- Version 2.44 (2005/01/30)
-
- システムカラーが黒地白文字の場合リストボックスの描画が乱れるバグ修正
- ファイル名補完の対象文字列取得動作を微妙に変更
- macrodll.dll v0.75 (20050125) 同梱
- Version 2.43 (2005/01/14)
-
- 辞書ファイルを正規化するとき重複候補が取り除かれてなかったバグ修正
- ファイルパスを扱う機能でパス区切り文字が / だとうまく動かなくなってたバグ修正
- macrodll.dll v0.75 (20041122) 同梱
- Version 2.42 (2004/10/25)
-
- ファイル名補完でドライブ名も補完
- 辞書に EOF コードが付いてたとき対策
- 一部のプラグインで大文字を含む名前が収集されなかったバグ修正
- macrodll.dll v0.75 (20041009) 同梱
- Version 2.41 (2004/10/01)
-
- Version 2.41 (2004/09/26)
-
- フォント名補完でマクロフォルダのパスに空白が含まれてるとダメなバグ修正
- フォント名補完で候補の絞り込み表示を有効に
- 1文字消去を繰り返して0文字になってもリストボックスを消さない
- プラグイン:返り値
instr
でダブルクオートを正しく渡せるように
- macrodll.dll v0.75 (20040925) 同梱
- Version 2.4 (2004/09/06)
-
- フォント名補完モードを内蔵
- プラグイン仕様拡張:返り値
instr
追加
- sample.dic を PHP5 の関数辞書に変更
- macrodll.dll v0.75 (20040826) 同梱
- Version 2.36 (2004/03/31)
-
- macrodll.dll v0.74 (20040327) 同梱
- Version 2.35 (2004/03/31)
-
- 名前補完で正規表現のキャラクタクラス内のメタ文字が含まれてると収集できないバグ修正
- Version 2.34 (2004/02/29)
-
- 複数辞書ファイルのサポート〈→辞書の作り方:複数辞書ファイルの利用〉
- 辞書ファイルの正規化(ソート&重複除去)機能を内蔵〈→辞書の作り方:正規化〉
- macrodll.dll v0.74 (20040226) 同梱
- 非選択状態で 前候補/次候補 が利かないバグ修正
- ファイル名補完でリストボックスが自動拡幅されてなかった(秀丸 v4.10β5 対応漏れ)
- Version 2.33 (2004/02/25)
-
- macrodll.dll v0.74 (20040225) 同梱
- 補完 がバグってたの修正
- ファイル名補完で現在のファイル名が選択されないバグ修正
- Version 2.32 (2004/02/24)
-
- macrodll.dll v0.74 (20040214) 同梱
- リストボックスが画面外へ出ないように位置調整
- 名前補完で正規表現のメタ文字が含まれてると収集できないバグ修正
- Version 2.31 (2004/01/28)
-
- sample-config.txt が古いままだったので修正
- Version 2.31 (2004/01/23)
-
- macrodll.dll v0.73 (20040121) 同梱
- オプション設定
Overwrite
のデフォルトを no に変更
- Version 2.3 (2004/01/01)
-
- 正式版
- 設定ファイルの
plugin
セクションを本体側で消去(プラグイン側で消し忘れても大丈夫)
- Version 2.3 beta 13 (2003/12/17)
-
- 名前補完モード
- バグ修正(DLL 差し替え)
- 初期文字列に正規表現のメタキャラクタが含まれてた場合に対応
- Version 2.3 beta 12 (2003/12/17)
-
- 秀丸 v4.10β5 対応(フォントサイズの取得に getconfig を使わない)
- ファイル名補完モード
- パスの構成文字から
#
を除外(HTML でアンカー区切りに使われるため)
- プラグインから起動されたときは初期文字列が空でも現在のファイル名を選択しない
- Version 2.3 beta 11 (2003/12/09)
-
- ファイル名補完モードで初期文字列が空のとき現在のファイル名を選択
- 仕様:初期文字列が空のときアンドゥ1回、そうでないときアンドゥ2回で起動前の状態に戻る
- 初期文字列が空でないとき確定文字列がおかしくなるバグ修正(アンドゥ回数が多すぎた)
- 補完中のカーソル位置を末尾に変更(これによりアンドゥがらみのバグ撲滅……できてるといいなぁ)
AutoFix=last
が利いてなかったバグ修正
- Version 2.3 beta 10 (2003/12/08)
-
- プラグイン仕様変更:
type=plugin
が必須(詳しくはリファレンス参照)
- オプション設定
Unsorted=uniq
を Unsorted=overlap
に変更
Appear=listbox
でアンドゥしすぎるバグ再修正(アンドゥ2回に揃ってない可能性あり)
- ウィンドウ分割時リストボックスの位置がおかしいバグ修正
- キー割り当ての設定をサブルーチン内に入れてグローバル変数削減
- Version 2.3 beta 9 (2003/12/02)
-
- プラグインへの返り値を変更(手動確定のとき
result=1
)
- 入力文字列が空のとき先頭候補が記号だと選択状態になるバグ修正
- ファイル名補完モード
- 1文字消去 を繰り返して0文字になってもリストボックスが消えないバグ修正
- 無選択状態で 確定 しても止まらないバグ修正
- ドキュメント修正(用語の整理など)
- Version 2.3 beta 8 (2003/11/27)
-
- Version 2.3 beta 7 (2003/11/27)
-
- ファイル名補完モードで「C:」だけでもドライブ名と見なしてフルパス補完する
- Version 2.3 beta 6 (2003/11/26)
-
- ファイル名補完モード
path.Filter
で複数指定可(セミコロン区切り)
- アンドゥ2回に揃えるためにアドホックな処理を入れた(エンバグしてる可能性あり)
- 初期文字列の取得に検索を使わない(検索バッファを戻してなかったバグ消滅)
AutoFix=yes
のとき自動補完
- 補完される部分をタイトルバーに常時表示
- Version 2.3 beta 5 (2003/11/26)
-
- 単語の上で実行したときカーソル右の部分を上書き(オプション設定
Overwrite
新設、デフォルト = yes)
- Version 2.3 beta 4 (2003/11/25)
-
- オプション設定
Unsorted=uniq
追加(プラグイン用)
- 起動時の状態にかかわらず必ずアンドゥ2回で起動前の状態に戻る
- ドキュメント修正
- Version 2.3 beta 3 (2003/11/25)
-
- オプション設定
Appear
, Filter
, Width
, Rows
新設
- カスタマイズ項目
$Font
, #FontSize
, #Width
, #Rows
, #Filter
, #Loop
, $Appear
廃止
- 候補が唯一のとき自動補完(オプション設定
AutoFix
新設、デフォルト = yes)
- ファイル名補完モードでフィルタ指定(オプション設定
path.Filter
新設、デフォルト = *
)
- [←], [→] キーのデフォルト動作を 1文字消去, 1文字確定 に変更
- 確定&入力 廃止
- DLL はベースフォルダにあるものとする
- 設定ファイルの [env] セクション廃止(旧バージョン使ってた人は消しちゃっていいです)
Appear=listbox
でアンドゥしすぎるバグ修正
- ベースフォルダ\contrib フォルダの設定ファイルも読む(同梱配布への布石)
- ドキュメントを書いた
- Version 2.3 beta 2 (2003/11/24)
-
- Version 2.3 beta 1 (2003/11/23)
-
- ファイル構成・ファイル名変更
- プラグイン仕様変更:設定ファイルを使って情報をやりとりする
- 名前補完の 8KB 制限撤廃(テンポラリ辞書ファイル利用)
- 田楽 DLL 廃止
- collect.dll 廃止
- Version 2.22 (2003/08/27)
-
- Version 2.22 (2003/08/25)
-
- ファイル名補完モードの高速化・ 8KB 制限撤廃(テンポラリ辞書ファイル利用)
path.ShowHidden=yes
のとき確定後にリストボックスがもう一度出てくるバグ修正
- Version 2.21 (2003/08/24)
-
- macrodll.dll 0.72 (20030813) 同梱
- 冒頭部分
$ListboxVer = ""
とすると DLL の日付チェック省略
- プラグイン異常終了チェック(申し訳程度)
- sample.ini にコメント追加
- ドキュメントちょっぴり修正
- Version 2.2 (2003/08/13)
-
- 正式版
- 内部構造見直し
- DLL の日付チェック
path.CaseChange
の設定が利いてなかったバグ修正
- ドキュメント更新
- 各サンプルファイル更新
- Version 2.2 beta 5 (2003/08/09)
-
- Version 2.2 beta 5 (2003/08/02)
-
- マクロファイル名を CompletePath.mac にするとファイル名補完モードになる
- CompleteX.mac, CompleteWord.mac, CompletePath.mac を同梱(中身は同じ)
- macrodll.dll 0.72 (20030802) 同梱
- アンドゥが1回でできないバグ修正
- プラグイン仕様拡張:後処理で変数
cancel
追加
- Version 2.2 beta 4 (2003/07/23)
-
- カスタマイズ項目変更
$Appear = "both"; // 表示形式 ("listbox"/"inline"/"both")
- Version 2.2 beta 3 (2003/07/23)
-
- マクロファイル名を CompleteWord.mac にすると強制的に(辞書があっても)名前補完モードになる
- カスタマイズ項目新設
#Follow = yes; // 選択候補をカーソル位置に反映 (yes/no)
- コマンド新設
- (新)補完 … 補完のみ。補完部分がないときは何もしない
- 補完/次候補 … 従来の補完に相当。補完部分がないときは 1回目:音が鳴る 2回目以降:次候補
- [Tab] キーのデフォルト動作を (新)補完 に変更
- 前候補/次候補は Shift を押しながらだと逆方向へ
- 完全一致かつ唯一のとき描画処理を省略(レスポンス向上)
- Version 2.2 beta 2 (2003/07/22)
-
- macrodll.dll 0.72 (20030720) 同梱
- 挙動変更
- 補完部分がないとき補完操作2回目以降で次候補へ(v2.14 は1回目で次候補だった)
- 前候補/次候補は入力文字列を書き換えない(ただし前方一致しない候補へ移ったときは書き換える)
- Version 2.2 beta 1 (2003/07/19)
-
- macrodll.dll 0.72 (20030707) 同梱(v2.14 までの DLL とは互換性がありません)
- 挙動変更
- 前方一致する候補がないときは非選択状態にする(確定すると自分で打った文字がそのまま書き込まれる。 v2.14 は最も近い候補に置き換えられてた)
- 選択候補をカーソル位置に反映
- 補完 と 前候補/次候補 は辞書に合わせて入力文字列を書き換える
- キャンセルしたとき補完開始前の状態に戻す
- マクロ側の一致判定は常に大文字小文字を区別しない(
CaseSense=yes
の効果は絞り込み表示に対してのみ)
- [←], [→] キーのデフォルトキー割り当てを 確定&入力 に変更
- 自動確定時の描画処理を省略(レスポンス向上)
- プラグイン仕様変更:自動確定で最後に入力された文字は
instr
に含まれる(後処理で渡される incode
は制御コードのみとなる)
- Version 2.14 (2003/05/07)
-
- ドキュメント更新(CompleteN.mac の公開に合わせ Q&A を修正)
- Version 2.14 (2003/05/05)
-
- Version 2.14 (2003/04/28)
-
- Version 2.14 (2003/04/07)
-
- プラグイン仕様拡張:変数
Overlap
追加
- ドキュメント加筆
- Version 2.13 (2003/04/06)
-
- 鶴亀メール対応可能化(本格的な対応はプラグインに期待)
- プラグイン仕様拡張:変数
IsTuruKame
追加
- 上書き禁止/閲覧モードでは起動しないように(プラグインは起動可)
- Version 2.12 (2003/04/05)
-
- 辞書ファイルがあっても無視して名前補完モードとするオプション追加
- Version 2.11 (2003/04/04)
-
- macrodll.dll v0.71 (20030403) 同梱
- Version 2.10 (2003/04/03)
-
- ドキュメント加筆(Q&A 追加、ほか細かい修正)
- 配布条件変更(再配布時要連絡)
- Version 2.10 (2003/04/02)
-
- 名前補完モードを実装
- collect.dll 同梱
- macrodll.dll v0.71 (20030402) 同梱
- ドキュメント更新・加筆
- Version 2.04 (2003/04/01)
-
- macrodll.dll v0.71 (20030331) 同梱
- プラグイン仕様変更
- 変数名
WithinWord
を NameChar
に変更 (設定ファイルの WithinWord
は変更なし)
- 変数名
parent
を Parent
に変更
- ファイル名変更
- プラグインのサンプル standard_dic.mac を sample.mac に変更
- 設定ファイルのサンプル CompleteX.ini.txt を sample.ini に変更
- Version 2.03 (2003/03/27)
-
- macrodll.dll v0.71 (20030327) 同梱
- macrodll.dll v0.71 (20030319) のバグ回避措置を解除
- 一致する候補がないとき、入力文字が $WithinWord に含まれていなければ自動確定
- Version 2.02 (2003/03/23)
-
- フリーカーソルモードのとき行頭で使うとエラーになるバグ修正
- 設定ファイルのサンプル添付
- Version 2.01 (2003/03/23)
-
- 前候補でリストボックスの一番上が選択できないバグ修正
- 前候補/次候補で循環が利いてなかったバグ修正
- デバッグ用のコードが残ってたのを除去
- [macrodll.dll v0.71 (20030319) バグ回避措置] 大文字小文字を区別する設定を強制
- ドキュメント加筆(今後の課題 追加、オンラインヘルプ化への布石を敷く)
- Version 2.00 (2003/03/22)
-
- Version 2.00 (2003/03/22)
-
- 正式版
- macrodll.dll v0.71 (20030319) 同梱
- リストボックスの大きさの設定が利いてなかったバグ修正
- ドキュメントを書いた
- Version 2 beta 1 (2003/03/10)
-
- macrodll.dll v0.71 (20030301) 対応
- バグ修正
- プラグインの作り方を書いた
- Version 2 alpha 2 (2003/03/02)
-
- プラグインと本体のインタラクション(行ったり来たり)を想定しない構造に
- 本体の自前処理ルーチンを修正
- INI ファイルがなるべく環境に依存しないように
- 辞書とプラグインをベースフォルダからの相対パスで指定
- DLL のパスを自動推定
- Version 2 alpha 1 (2003/03/01)
-
バグ報告・提案・質問・ツッコミなどは 談話室 へどうぞ。