CompleteX1b20.lzh Version 1 beta 20 (2003/01/28) 中休み版
■ CompleteX mobitan http://mobitan.org/ キーワード補完マクロです。辞書から先頭一致で単語を拾ってきます。 メニュー型ではなく、補完中もそのまま入力を続けることができる インライン型/リストボックス型になっています。 ・インライン型 (CompleteInline.mac) Netscape のアドレスバー風に、カーソルの後ろに補完候補がくっついてきます。 マクロ本体と辞書ファイルだけで動きます。別途 DLL 等は必要ありません。 補完候補が何千個あっても一定のレスポンスを保ちます。(常に遅いとも言う) ・リストボックス型 (CompleteBox.mac) MS Visual Studio 風に、カーソル位置の下にリストボックスが出てきます。 あべのりゆきさん作「TeX 用秀丸マクロ」の DLL を利用します。 補完候補が千個程度なら極めて軽快なレスポンスが得られます。 あらかじめ辞書ファイルを用意しておきます。拡張子に応じて使用する辞書が切り替わります。 サンプルとして HTML 用の辞書が同梱されています。 拡張子ごとの設定はマクロ本体を書き換えて行うほか、小森裕介さん作「LF-Supplement」の 設定ファイルを読み込んで使うこともできます。 辞書のフォーマットは次の3種類に対応しています。 ・標準形式 1行に1語を書き並べたもの。 小森裕介さん作「LF-Supplement」ほか、多くの補完系マクロで使われています。 大規模な辞書(数万語以上)でも実用的な速度で使えます。 ・SUPER TeX 形式 頭文字ごとにカンマ区切りでまとめた INI ファイル形式。 乙部厳己さん作「TeX for Windows 秀丸マクロ」 (SUPER TeX) で使われています。 小規模な辞書(数百語程度)に向いています。 補完候補にカンマ「,」を含むことはできません。 あまり巨大な辞書にも使えません。(頭文字ひとつにつきカンマ込みで 8KB まで) 大文字小文字は区別した方がいいです。(同一視もできますが、極端に遅くなります) ・BinSearch 形式 頭文字ごとにセクションを分けた INI ファイル形式。 ませまさんのアイディアによる独自形式です。 インライン型で小〜中規模の辞書(数千語以下)に向いています。 リストボックス型で使うべきではありません。 大文字小文字は常に同一視されます。 標準形式と他の形式は同梱のマクロで相互に変換できます。 辞書はあらかじめソートしてあるものと仮定しています。 インライン型では大文字小文字を混ぜてソートしておきます。 大文字小文字を区別するかしないかは拡張子ごとに設定できます。 インライン型では大文字小文字を区別しないと処理が極端に重くなります。 キー割り当てはユーザーの好みで簡単にカスタマイズできます。 キーボードから入力できるのは ASCII 文字だけです。 補完候補に日本語が含まれるのは構いませんが、次候補/前候補で選ぶしかありません。 学習機能はありません。 ファイル内で使われている変数名等を補完するものではありません。 #その用途には木下裕人さん作「入力補完マクロ for 秀丸エディタ」や kotobuki-chive さん作「kbCodeHelperL.mac」が適役かと。 秀丸エディタ Version 3.19 整数バージョン [Windows2000] で動作確認しています。 このところ補完系の大作がいくつも出てるので、それらのいいとこ取りを…しようとして 挫折しました。そんな残骸ですが一応動くので公開します。ご自由にどうぞ。
インライン型 (CompleteInline.mac) | リストボックス型 (CompleteBox.mac) | |
---|---|---|
(画像準備中) | (画像準備中) | |
DLL | 不要 | 必要 |
重さ | 体感的にはこんな感じ。 (K6-2 400MHz) ※ |
※ グラフは TeX 用秀丸マクロ ver 0.64 の DLL に基づくものです。 ver 0.70 では大幅な高速化が図られています。
機能コード | 機能名 | キー割り当て※ | 説明 |
---|---|---|---|
0 | 何もしない | Ctrl+[文字キー] | 何もしません。設定により Ctrl+文字キー に機能を割り当てることができます。 |
1 | 文字として入力 | [文字キー] | 文字として入力します。辞書を検索して最初に一致した単語が提示されます。 |
2 | 補完 | [Tab] | 共通部分を補完します。(Bash 風) 共通部分がない場合は次候補へ。(CMD.EXE 風) Shift+ だと前候補へ。 |
3 | 前候補 | [↑] | ひとつ前/後の候補を出します。端まで行くと循環します。 |
4 | 次候補 | [↓] | |
5 | 1文字消去 | [←] [Backspace] | カーソル左の文字を消します。インライン版ではそのつど辞書ファイルの頭から探し直すので遅いです。 |
6 | 1文字確定 | [→] | カーソル右の文字を確定します。 |
9 | 消去 | [Esc] | 補完候補を消して終了します。 |
10 | 確定 | [Enter] | 補完候補を確定して終了します。 |
11 | 確定&入力 | [Space] | 補完候補を確定し、最後に押したキーを入力します。 |
※ キー割り当てはユーザーの好みで変更できます。
あらかじめ辞書ファイルのパスなどを設定しておきます。設定はマクロ本体の冒頭部分を書き換えることで行います。
これらの設定は拡張子ごとに切り替わります。
こちらが優先されます。例にならって書き換えるなり追加するなりしてください。デフォルトと同じでよければ省略できます。
拡張子別で該当する設定がなければこちらが適用されます。例にならって書き換えてください。
LF-Supplement の設定を流用したいときは、 1. 2. で辞書ファイルのパスを空文字列とし(「$DicFile = "";
」)、 $IniFile
に設定ファイルのパスを書いてください。 $TmpDicFile
は複数辞書使用時に使われる一時ファイルです。適当に決めてください。
これらはマクロ固有の設定です。例にならって書き換えてください。
パスを書くときは「\
」を「\\
」と書くことに注意してください。
そのために…
※ 開発は CompleteX v2 に引き継がれました。
以上お三方のマクロを参考にさせていただきました。偉大な先達に感謝します。
議論の場として活用させていただいてます。