最終更新日:
2024年4月4日
このページの目次
前書き
前回で「いつでも入力補完」というものを紹介しました。
今回紹介するものは、さらにマニアックというか、さらに調子にのって作ったようなものを紹介します。
「いつでも入力補完」と同じ様なものとして「いつでも一行テキスト」というものを作ったので公開します。
いつでも一行テキストを使える様にする
前回のものと同じ様に、 fromFileName に加えて使用できる様にするものです。
ファイルを解凍した後にできる formEditorOnelineExeWrap フォルダの中にある formEditorOnelineExe のフォルダの方を fromFileName の直下に移動して、その後 TextRunRun を起動することで使えるようになります。
fromFileName って何?と思ったユーザーの方には申し訳ありませんが、今回のページはマニアックな事について語っている事なので、 fromFileName の説明は割愛します。
前回のページでも少し説明していますし、よく知ってから進めたいユーザーの方はホームページの方を参考にしてください。
前回の「いつでも入力補完」と同じような種類のものなので、それと同じ名前のカテゴリーフォルダに加える形でもよかったのですが、「いつでも入力補完」と分けて使いたいユーザーもいるかもしれないため、どちらか片方だけを使う事を可能にするため、前回のものと名前を別に分ける事にしました。
一緒にした方がいいというユーザーは、どちらかを同じカテゴリーフォルダの中に移動してまとめてください。
前回のものとの違い
前回の「いつでも入力補完」は、「いつでも」というより「エディター上」で使用するものでした。
そして今回の「いつでも一行テキスト」は、「エディター上」のみで使用するものというだけでなく、さらにユーザーが指定しておいたエディター上でしか使用できないものにしています。
( ですので実際は「いつでも」では無いです。 )
どのようなものか
この「いつでも一行テキスト」は、「エディター上」でカーソルがある行のその一行の文字をそのまま TextRunRun の実行コマンドとして扱ってそのまま実行するというやつです。
つまり、「エディター上」で 一行テキスト と同じ事が実行できます。
エディターにまず、実行させたいスクリプトを記入します。
その行にカーソルがある状態にして
Shift + Ctrl + T のキーを押します。
その行に書かれていたものが実行されます。
なんでもよいのですが、 &newItem とでも記入して Shift + Ctrl + T のキーを押してみたとします。
&newItem を使った時と同じ動作が実行します。
一行テキスト を使って実行する場合と同じスクリプトと認識して実行する事になります。
この様に単純なものです。
規定のキーと同じ事をする
規定のキーと同じ事ができる様に用意したものがあります。
まず、これを使うには準備が必要です。
●
まず準備
ダウンロードした formEditorOnelineExe のフォルダの中の hotkeyAllGround のフォルダの中に
ahk_class クラス名 のフォルダがあります。
このフォルダのクラス名の部分に、使用するエディターのクラス名を記入しておく必要があります。
補足
クラス名は
WinGetClass , V_var1, A
を実行する事でクラス名を取得できます。
「使用するエディターのクラス名」を取得した後、 ahk_class クラス名 の名前の クラス名 の部分を「使用するエディターのクラス名」に置き換えてください。
ahk_class[ 全角スペース ]クラス名
の名前になっており、スペースはあえて「全角スペース」を指定します。
( もっとも、半角スペースでも可能ではあります。 )
以上の事ができたら、使用する準備は完了です。
補足
本当は、ウインドウタイトルを指定したいところですが、エディターのソフトのウインドウのウインドウタイトルは、ファイルパスになってしまうものが大半なので、ウインドウタイトルでは指定できません。
ですのでクラス名の方を指定する方法を使ってください。
●
規定のキーと同じ事をできるようにするファイル
先程の ahk_class クラス名 のフォルダの中を見ると分かると思いますが、フォルダの中には
- Alt_3
- Alt_5
- Alt_c
- Alt_e
- Alt_f
- Alt_o
- Alt_r
- Alt_sc027
- Alt_t
これらの名前のファイルがあります。
予想がつくでしょうが、規定ののキーと同じ動作をさせるものです。
よって、どのキーがどの動作をさせるかの説明は省きます。
キーの一覧 のウインドウの 規定のキー のタブ内の説明を参考にしてください。
補足
Alt_sc027 は Alt + セミコロン を意味しています。
それと、 Alt + e のキーを使うファイルがありますが、これは &snippetOpen を使える様に用意したものです。これは規定のキーには無いものです。
規定のキーと同じものの仕様
これらの仕様ですが、前回の「いつでも入力補完」と同じ様な仕様になっています。
先程のキーを押すと、エディターのカーソルがある一行を選択・コピーして、一行テキスト の テキスト3 の入力欄に貼り付けをします。
透明にした テキスト3 を使用してスクリプトを実行し、その後は テキスト3 にある文字をコピーしてエディターの方に貼り付けをするというやつです。
諸注意
これを使うと、クリップボードを使う事になります。
クリップボードの内容はなるべく元に戻そうとはしますが、クリップボードを保存するソフトなどを使っていた場合はクリップボードに保存してあるものの順番が変わっている事が確認できると思います。
後、簡単な文字列でないとクリップボードの元の内容を戻す事はできません。
さて、使い方については使ってみれば分かると思うので説明を省きます。
代わりに説明しなければ分からないと思われるところを説明していきます。
今回のアイテムについて少し説明
Alt_3.trr のファイルを開くと以下のスクリプトになっています。
Alt_3.trr
fo_one_before
&sendScriptToText %B_GuiNumText3% &sharpssCustom
fo_one_afterType2
このファイル内の二行目の &sharpssCustom の部分が Alt + 3 の規定のキーの 処理と同じものです。
つまり、&sharpssCustom の個所を変えると独自の動作を指定できる事になります。
他の部分も説明します。
一行目には、fo_one_before を使います。これは今のとこ全てキーで共通してます。
三行目には、 fo_one_afterType2 を使っています。
この、Type2 の部分は一応、規定のコマンドのタイプ2の事を表しています。
マニアックな事
マニアックな事なのであまり気にしなくていいのですが、規定のコマンドにはタイプ別で7種類のものに分かれています。
&sharpssCustom は、タイプ2に分類する規定のコマンドなので、
fo_one_afterType2 を使っています。
&sharpssCustom と同じ様に、入力している文字に # #\ をつけたものに変換させるための処理の様なものは、この fo_one_afterType2 を使います。
つまり、この三行目の部分は、動作させる処理によって少し変化があったほうがいいため、他のものを指定して使った方がいい場合もあります。
たとえば、キーを入力した後に、エディターをアクティブにしなくてよいなら、
fo_one_afterNoActive を三行目に指定してください。
キーを入力した後に、エディターに文字を貼り付けをする必要は無いが、エディターをアクティブにはしたいなら、
fo_one_afterActive を三行目に指定してください。
とりあえず、今のところ用意しているのはこれくらいです。
キーを変える場合
キーを変える方法の説明は不要だと思います。
( fromFileName の使い方を知らなければ説明の仕方が難しい事ですし。 )
実行する時に使う Shift + Ctrl + t のキーは
trrEvery\fromFileName\formEditorOnelineExe\hotkeyAllGround\Shift_Ctrl_t.trr
このファイルで キーを設定しているので、キーを変えたければこの Shift_Ctrl_t.trr のファイルの名前を変えてください。
規定のキーと同じ事をするキーを変える方法は上記の説明を見れば分かる事だと思います。
注意してほしい事
使う際の注意する事を書かなければならないところです。
ですが、前回の
いつでも入力補完
のページの中で書いている事と全く内容が同じ事なので、手間を省きたいのでそちらのページを見てくださいとだけ、ここで書いておきます。
後書き
使い方と仕様はだいたい上記に説明した通りです。
前回の「いつでも入力補完」と合わせて使えば、 一行テキスト と似たような形で使う事がある程度できるかもしれません。
( ただし、スピードが明らかに遅いので使いものにならないかもしれません。 )
Alt + E のキーで &snippetOpen 、つまり簡易入力の展開をするものもあるため、簡易入力を使用したりすれば色々便利に使えたりしないかなぁと考えたりします。
前回の「いつでも入力補完」と同じ様に、実際は不具合だらけのものが出来ています。
ですが、「いつでも一行テキスト」と呼べるものが本当にいつか作れたらいいなと思っています。
今回のこれがそれを実現する第一歩になるかもしれない事を期待してこの説明を終わります。
コメントを残す