Inside TEAD


ここでは、あまり知られていない(と思われる)TEADの機能をご紹介したいと思います。

ここに書かれている内容の殆どはHelpに記載があるものです。


※キーバインドは標準のものとして記述されています。

 残りは後日に...(^^;


[矩形選択]

 TEADでは「Alt+Shift+カーソルキー」または「Alt+マウスドラッグ」で矩形選択してコピー&ペーストができます。その後は 「Shift+カーソルキー」でも矩形選択状態になります。行選択/矩形選択の状態はステータスバーに表示されます。行選択モードに戻すには、「Ctrl +O,K」と押すか、「マウスドラッグ」を行います。逆に矩形選択モードにするには「Ctrl+O,C」と押します。

 この矩形選択でコピー(カット)した文字列はBorland-IDE(Delphi/C++Builder)のエディタへも矩形ペーストできます。もちろん逆もOKです。実はVisial C++、秀丸、EmEditor、一般的なTEditor搭載エディタの矩形選択とも互換性があります。


[ファイルを開く]

 「ファイルを開く」ダイアログではファイルを複数選択することができます。タブ型エディタですから当然といえば当然なのですが。


[ファイルの保存]

 TEADはある意味危険なエディタです。ファイル属性が何であろうと読み込み、上書保存ができてしまいます。デフォルトで「アーカイブ属性以外のファイルへの上書確認を行う」ようになっていますので、誤って上書する事は少ないとは思いますが。ファイル属性は読み込み時と上書保存時で同一です。リードオンリーのファイルを上書しても、属性はリードオンリーとなります。また、ファイル属性はステータスバーに表示されます。

 ファイル属性を変えて保存したい場合には「名前を付けて保存」を選択し、ファイルセーブダイアログを開くと属性のチェックボックスがありますので、これで属性を変更し、同名で保存して下さい。

 文字コードセット/改行コードも同様で、「名前を付けて保存」で故意に変更しない限り編集前と同一になります。


[ファイルドロップ]

 TEADにファイルをドロップするとそのファイルが開きます。ショートカットをドロップすると実ファイルが開きます。拡張子が*.lnkでも、ショートカットではない場合には素直にそのファイルを開きます。

 それから、[...]ボタンの付いたエディットボックスへファイルやフォルダをドロップする事ができるのをお忘れなく。


[一時的にフォントサイズを変更する]

 「Ctrl+[」/「Ctrl+]」で一時的にフォントサイズを変更する事ができます。これはNetscapeと同一のキーバインドになっています。ここで設定したフォントサイズは記憶されませんが、印刷時のフォントサイズには影響を及ぼします。用紙サイズからはみ出てしまう場合には一時的にフォントサイズを小さくするとよいでしょう。


[行番号&ルーラー]

 行番号バー/ルーラーバーをクリックするとそこへカーソルが移動します。


[マーカー]

 通常、マーカーはマーカーバーを表示してクリックしマークしますが、マーカーは、マーカーバーが表示されていなくても利用できます。「Ctrl+ M」でマークして「Alt+↑」/「Alt+↓」でマーカーを移動する事ができます。マーカーバーで右クリックすると...


[ポップアップ(コンテキスト)メニュー]

 ポップアップ(コンテキスト)メニューはエディタ部とタブ部で違っている事をご存知でしたか?また、エディタ部のポップアップ(コンテキスト)メニューにはユーザー定義メニューを割り当てる事ができます([オプション]-[環境設定]-[操作]タブ)。つまり、ポップアップ(コンテキスト)メニューもカスタマイズできるのです。


[COMドロップ]

 TEADでは、ファイルタブからドラッグ&ドロップする事により、Explorerやデスクトップ、アイコン等へファイルをドラッグ&ドロップする事ができます。「左クリック+ドラッグ」でファイルコピー、「右クリック+ドラッグ」でファイルコピー/ショートカット作成となっています。

 CTRLキーを併用すると、現在の編集状態で(上書保存はしない)テンポラリファイル(「TEAD_TMP.TXT」ファイル名固定)を Windowsテンポラリに吐き出します。そしてこのテンポラリをCOMドロップします。


[選択したテキストのコピー&移動]

 選択文字列を「ドラッグ」で文字列移動、「Ctrl+ドラッグ」で文字列コピーする事ができます。


[OLEドラッグ&ドロップ]

 選択文字列を他のアプリケーションにドロップ、他のアプリケーションからドロップする事ができます。この機能を使うには、対象のアプリケーションがOLEドラッグ&ドロップに対応している必要があります。

 MS-Word,IE,WinHelp,「WordPad等のRichEditコントロールを利用したアプリケーション」等が対応しています。


[マウスホイール]

 「Ctrl+ホイール」でページスクロールができます。


[状況感知Help]

 TEADでF1キーを押すとどうなるかご存知ですか?TEADのHelpが状況感知で起動するという答えは半分だけ正解です。設定等のダイアログが開いている場合には確かにTEADのHelpが状況感知で起動しますが、それ以外のエディット可能な状態ではF1キーを押しても何もおこりません。

 では、[オプション(O)]-[エディタオプション(E)]で、現在開いているファイルが利用しているエディタ環境を選択して「編集(E)」ボタンを押してみましょう。環境登録ダイアログが表示されたと思います。このダイアログの「一般」タブの「ヘルプファイル(H)」に任意のHelpを登録してみましょう。そして、OKを押してエディット画面に戻ります。

 カーソルを任意の場所に置いてF1キーを押してみましょう。...どうですか?現在のカーソル位置のトークン(または選択した)文字列をキーワードにして登録したHelpのトピックが開いたと思います。

 この「エディタ環境別」状況感知Helpには、旧来のWinHelp(*.hlp)の他にHTML-Help(*.chm)を利用する事もできます。


[HTML/リッチテキスト出力]

 よく、Webでソースコードを公開してありますよね。その際、見易さを配慮してか、開発環境のコードエディタの書体で掲載してあるのを見かけます。この書体の指定って面倒なんですよねぇ、いざ手動でやろうとすると。

// GrepFE用マクロ1
// --------------------
// Grep FrontEnd 起動
var
  Arg:String;
  i:Integer;
begin
   // InfoListTag =  1 は
  // GrepFEで予約しました(^o^)v

  if (InfoListTag <> 1) and (InfoListTag <> 0) then
    begin
      if MessageBox('インフォメーションリストは現在他のマクロで使用されています' + #$0D#$0A +
                    '続行しますか?','確認',$31) <> 1 then
        Exit;
    end;
  Arg := '';
  for i:=0 to TabpageCount-1 do
    Arg := Arg + '"' + EditName(i) + '" ';
  if SelLength > 0 then
    Arg := Arg + '/F "' + SelText + '"'
  else
    begin
      if TokenString <> '' then
        Arg := Arg + '/F "' + TokenString + '"';
    end;
  InfoListMacro('Grep2.p2s');
  Exec('grepfe.exe',Arg,True);
  if FileExists('GREPRESULT.TXT') then
    begin
      LoadInfoList('GREPRESULT.TXT');
      if not ShowInfoList then
        ShowInfoList := True;
    end;
  InfoListTag := 1;
end; 

 ...こんな奴ですね。TEADでは編集イメージの強調構文を考慮したHTML/リッチテキストの出力(クリップボード)をサポートしています。半角SPが詰まってしまうのを回避するためにわざわざ「半角SPラ2->全角SP」の置換も行わなくて済みます。上のサンプルをコピーしてテキストエディタに貼り付けてみて下さい。行頭を全角SPで埋めてないのがお分かり頂けると思います。「テーブルタイプ」の場合、「Mozilla(News&Group/Composer)/Thunderbird/Nvu/KompoZer」や「Outlook(Express)」へ直接貼り付ける事ができます。

 また、リッチテキストも出力できますので、WinHelpにソースコードを載せる場合や、MS-Wordにソースコードを記述する場合にも大変便利です。


[印刷]

 印刷もHTML/リッチテキスト出力同様に強調構文のまま印刷が可能です。カラープリンタをお持ちであればカラー印刷も可能です。ver2.10以降(またはFreeEdition rel.4以降)であれば印刷プレビューを行う事も可能です。


[ツールバー]

 TEADのツールバーは非常に強力です。詳細はHelpに譲りますが、お仕着せのコマンドの並べ替えができるというものではありません。ユーザーが自由に、任意の機能を追加できます。

・アクション
 TEADが内部で使用している機能です。メインメニュー項目にあるものは殆ど使用できます。

・プログラム
 任意のアプリケーションを指定できます。「トランスファマクロ」により、アプリケーションへの引数としてTEADが編集中のファイルを渡したりすることができます。

TEADマクロ
 TEADマクロを指定する事もできます。

 また、ツールバーアイコンですが、TEADは画像ファイルを保持していません。ツールバーアイコンすらカスタマイズする事ができます。


[ユーザー定義メニュー]

 機能的にはツールバーとカブるのですが、メインメニューの一部(メインメニューの「ユーザー(U)」) をユーザーが自由に定義できます。ツールバーとの違いはメニューアイテムに対して独自にショートカットを割り当てる事ができるという点です。また、このメニューアイテムは「非表示にする事ができる」ので、よく使う機能にショートカットを割り当てて非表示にすればユーザーメニューの「見た目の肥大化」を防ぐ事ができます。


[透過機能]

 完全なオマケなのですが、TEADでCtrl+@を押すとエディタを透過/半透明化する事ができます(Windows2000以降のNT系 Windows)。この状態で快適に操作できるかどうかはビデオカードに完全に依存します。非力なマシンでもビデオカードによっては実用に耐えますが、逆にハイスペックなマシンでもビデオカードによっては恐ろしく描画に時間がかかって使い物にならない場合があります。


[カーソル位置のファイルを開く]

 TEADではファイル名にカーソルを置いた状態で「Ctrl+Enter」を押すとそのファイルを開く事ができます。

 拡張子は「開いているエディタ環境が持つ拡張子」から持ってきます。ただし、これには例外があって、拡張子に「*」や「?」が含まれる場合にはその拡張子は無効になります。それから...

「#include<std i o.h>」

という行の「i」にカーソルがあった場合、

 ...期待した結果にならない場合があります。最初に「stdio.c」や「stdio.cpp」を探しに行くからです(さすがに「stdio.c」はないでしょうけどね^^;)。この場合には「stdio.h」を選択して下さい。フルパスが記述されている時も同様です。パスから拡張子まで選択して下さい。


[DDEサーバー]

 TEADはDDEサーバー機能を有しています。この機能を利用して外部プログラムからTEADマクロを実行する事ができます。サンプルは前のページにあります。


[キーボードマクロ]

 TEADではキーボードの押下状態を記録/再生する事ができます。Shift+Ctrl+Rでキーボードマクロ記録/終了で、Shift+ Ctrl+Pでキーボードマクロ再生となっています。同じ作業を何度も繰り返す場合には大変便利な機能です。ver2.09以降(またはFreeEdition rel.4以降)ではステータスバーの左端にキーボードマクロ用ボタンが追加されています。


[環境ファイルの謎]

 環境ファイルはフォーマットが統一されています。さてこの環境ファイルをTEADで普通に開いてみましょう。...どこかで見たようなフォーマットですね(^^;

環境ファイルの先頭に

[Windows2000の場合]
Windows Registry Editor Version 5.00  
<改行>

[Windows9xの場合]
REGEDIT4
<改行>

を記述して拡張子を「.reg」に変更してダブルクリックすると...

TEADで用いているレジストリ<->環境ファイル機能はレジストリエディタが吐く「*.reg」との互換性があります(100%とは言い切れませんが)。


[いつまでも試用]

 TEADはご存知の通りシェアウェアです。そして試用期間は7日間です。短いですか?私の経験則に基づくと、

「7日を過ぎてもレジストしないヒトはいつまでたってもレジストしない」

...ので試用期間が異様に短いのです。ただ、機能制限は一切ありませんが...。

 さて、「TEAD /I」でレジストリを消去して再度環境を整えるのが面倒な「試用継続」の方は、一通り環境設定が終わったら「TEAD /S」を実行して下さい。そして試用期限切れダイアログが出たら「TEAD /I」でレジストリを削除して、「TEAD /L」を実行して下さい。これで簡単に環境を復元できます。

#バッチファイル書いておくと楽かも(^^;
#スケジューラに組み込んでおくとさらに楽かも(-_-メ)

 あまりだらだらと「試用継続」を続ける方は軽蔑しますがね。あと、「試用」な方からの苦情/要望等は一切受付けません。バグレポートは有り難く参考にさせて頂きますが(^^;

 試用期限切れダイアログが出た時に日付を数ヶ月戻してTEADを実行してみましょう...すると?


[MS-IME再変換]

 入力ミスしたら慌てず騒がず間違った文字列を選択して「前候補/変換/(次候補)」キー(106キーボードではスペースキーの右)を押しましょう。再変換を行う事ができます(要MS-IME98以降)。

 「そんなのメモ帳でもできるやい!!」

...ですって?確かにそうですね。では他のエディタで試してみて下さい。案外サポートしていないエディタは多いものですよ。


[文字コードセット自動判別]

 TEADは「SHIFT-JIS/JIS/EUC/UNICODE/UTF-8」を自動判別します([オプション(O)]-[環境設定(O)]-[ファイル]タブで自動判別を有効にしている場合)。誤判定は少ない(それなりの大きさのファイルの場合)ので、改めて読み込み直す事は少ないと思います。


[TEADマクロ]

 TEADではマクロ機能としてPPAを搭載しています。文法は非常にPascalライクです。HTML/リッチテキスト出力で示したサンプルはDelphiのソースコードではなく、TEADマクロのスクリプトです(本当)。簡単なマクロならコマンドウィンドウで直接入力して実行する事ができます。もちろんスクリプトファイル(*.p2s)として書き出しておいて実行する事もできます。

 TEADマクロは

 1.1行でコマンドとして実行
 2.手続き/関数を並べてバッチ実行
 3.制御構文や変数を用いてマクロ実行

 と、用途やレベルに応じて実行する事ができます。プログラミングができない方は、まず1.や2.から始めるとよいでしょう。「TEADマクロスクリプト投稿スレ(掲示板)」で実際のスクリプトを見る事ができますので参考にしてみて下さい。

 TEADマクロに関しては書きたい事が山程あるのですが、収集が付かなくなるのでやめておきます(^^;


[最近使ったファイル]

 TEADでファイルを保存すると、スタートメニューの最近使ったファイルに登録されます。開いただけでは登録されません。

[DLLによる機能拡張]

 TEADはプラグイン機能を持っていませんが、TEADマクロの「RegisterRoutine」関数を使う事により、DLL内の関数をTEADマクロの関数同様に扱う事ができます。マクロを作成し「ユーザー定義ツールバー」や「ユーザー定義メニュー」に登録する事により、プラグインのような動作をさせる事ができます。

[検索&置換]

 検索には幾つかの種類があります。

1.通常の検索
 Ctrl+Fで開くダイアログの「検索」タブでできる検索です。正規表現が使え、検索文字列は選択状態になります。この時点でF3キーまたはShift +F3で前方/後方への次検索ができます。

2.ファイル検索(ver1.88以降)
 Ctrl+Fで開くダイアログの「ファイル」タブでできる検索です。開いているファイル/フォルダ指定で、検索文字列を一気に探し、エディタ下部の「インフォメーションリスト」に列挙します。「Grep」とも呼ばれる機能です。表示された結果をダブルクリックする事で、その位置にダイレクトにジャンプする事ができます。

3.Web検索(ver1.88以降)
 Ctrl+Fで開くダイアログの「Web」タブでできる検索です。検索文字列でWeb上を検索します。結果はデフォルトブラウザで表示されます。

4.インクリメンタルサーチ
 Ctrl+Eを押すとエディタ下部にある「ステータスバー」が変化します。この状態でキーを押すと、対応する文字列に移動します。この時点でF3キーまたはShift+F3で前方/後方への次検索ができます。続いてキーを押すとさらに適合する文字列に移動します。バックスペースを押すと、短くなった文字列で前回ヒットした場所へ移動します。

 置換は「Ctrl+R」で行います。これも検索同様に正規表現を使う事ができます。

 ver1.96から特定の条件で発動する高速置換モード(Sedモード)が実装されています。「正規表現検索=ON」「置き換え動作の確認=OFF」で「すべて置換(A)」を押すことにより発動します。ver2.15以降(またはFreeEdition rel.5以降)では「"正規表現検索"が"OFF"で"全角・半角を区別しない/改行・スペースを無視/後方検索"のいずれかが"ON"の場合以外」で検索/置換が高速化されます。

[Web検索エンジンの追加]

 ver1.88で検索ダイアログに「Webタブ」が追加されました。日本の主要な検索エンジンは網羅してありますが、お気に入りの検索エンジンを追加したい事もあるでしょう。しかし、TEADは追加/編集のためのGUIを持っていません。追加するためには以下の手順を参考にして下さい。

1.ブラウザで検索エンジンを開き、適当な単語(アルファベットがいいでしょう)で検索します。

2.検索の結果、URLバーに表示されているURLをコピーします。

3.そのURLのうち、入力した単語の部分を「%TEXT%」にします。

4.「TEAD /S <ファイル名>」でTEAD環境ファイルを出力します。

5.[HKEY_CURRENT_USER\SOFTWARE\DEKO\TEAD\WEBSEARCH\SEARCH]セクションを参照します。

6.「Title<n>」にエンジン名を記述します。

7.「URL<n>」に先ほどのURLを記述します。

8.「ItemCount」に登録されているエンジンの数を16進数で記述します。

9.[HKEY_CURRENT_USER\SOFTWARE\DEKO\TEAD\WEBSEARCH\SEARCH]セクションを除いてすべて削除します。

10.適当な名前を付けて保存します。

11.「TEAD /L <ファイル名>」で読み込みます。

※<n>=1〜ItemCountの範囲にある重複しない連続した数値。

 上記の手順で作られたファイルは、他の環境で取り込む事が可能です。また、Webタブを表示しないようにするには、上記の手順で [HKEY_CURRENT_USER\SOFTWARE\DEKO\TEAD\WEBSEARCH\SEARCH]セクションを削除するか、「ItemCount」を0に設定して下さい。



・ItemCount
 検索エンジンの数です。0(dword:00000000)にするとWebタブは表示されません。

・Title<n>
 検索エンジンのタイトルです。

・URL<n>
 検索エンジンのURLです。%TEXT%にはTEADから入力された文字が展開されます。

・MultiWord<n>
 True(dword:ffffffff)だと、%TEXT1%、%TEXT2%、%TEXT3%...のようにスペースで区切られた検索文字列を展開して取得(置換)できます。[省略可(Default=False)]

・URLEncode<n>
 False(dword:00000000)だとURLエンコードを行いません。[省略可(Default=True)]

・EncodeType<n>
 「URLEncode=True」の場合のエンコードタイプを設定します。(0=S-JIS,1=JIS,2=EUC,3=UTF-8)[省略可(Default=3)]

[比較]

 ver1.90で追加された機能です。Ctrl+Dでダイアログを開き、比較したい2つのファイルを指定します。コンボボックスには既に開いているファイルが列挙されていますが[...]ボタンを押すことによって開いていないファイルを指定することもできます。「Diff」とも呼ばれる機能です。

 検索結果はエディタ画面に反映されます。追加/変更/削除された行が強調表示されます。表示を戻すには「Ctrl+Shift+D」です。

[Help?]

 TEADのHelpにはちょっとした仕掛けが施してあります。

・条件によってはHelpがHTML-Helpのようなスタイルになる事があります。
 また、場合によってはHelpが開かない事があります。これはWindowsフォルダに存在する「ROBOEX32.DLL」のせいです。開かない場合にはこのDLLをリネームして下さい。この作業のせいで他のアプリのHelpが正常に動作しなくなった場合には、このDLLをそのHelpのあるフォルダに移動して下さい。

・条件によってはHelpのボタンバーに「読み上げ」というボタンが出る事があります。
 このボタンを押すとHelpをMS-Agentが読み上げてくれます。「AgentEx(ジャンクボックスにあります)」を参考にしてみて下さい。

 Windows VistaではWinHelpがデフォルトでインストールされていません。Vistaをお使いの場合には「Windows Vista 用 Windows ヘルププログラム (WinHlp32.exe)」をインストールして下さい。

[タダなTEAD]

 フリーウェア版のTEADがあります。「TEAD FreeEdition」です。リリース条件は書いてある通りです。

 「サポートがない」というのは乱暴な言い方ですが、「TEAD FreeEditionは現状で使って下さい」という意味が込められています。ブランチ時のソースは保持されていません。つまり、バグがあっても「FreeEdition」にはフィードバックされないという事になります。そういった意味では「サポートがない」事になります。

 Mailや掲示板での質問(使用方法等の基本的な事項等)を「無視する事がある」というのもかなり乱暴ですが、最新版のTEADで追加されている機能や、修正されているバグを報告されても答えようがないので、その場合はおそらく無視します。Helpにちゃんと記載されている事に関する質問も無視します...これはTEADでも同様です。

 「TEADマクロスクリプトの収集」についてですが、これは、面白い/実用的なマクロができたら「TEADマクロスクリプト投稿スレ(掲示板)」に投稿して下さいね...という事です。数が集まったら、誰もが自由に使えるマクロ集としてリリースしたいと思っています。

[ベータ版]

 TEADのベータ版は掲示板に予告される事が多いのですが、こっそりリリースされる事があります。リリース時には必ずカタログファイルも更新されますので、更新通知ソフト等をお使い頂くと最新のTEADを追いかける事ができます。

 カタログファイルはIni形式のファイルで、ベータ版を含むDL可能なすべてのTEADが列挙されています。

 ただ、ベータ版は時に「人柱バージョン」がリリースされますので、正式版との併用を強くお勧めします。

[指定行に移動]

 「指定行に移動」では符号(+/-)を付ける事により、現在位置からの相対ジャンプが可能です。
[BACK]