僕は、補完候補ファイルに記述したコマンドを、一行編集から呼び出して使っている。これだと「あれ、あのコマンドどのキーに登録したっけ」ということがなくなり、便利なのだ。
今回行うのは、一行編集上での疑似自動補完の切り替え。
準備
以下を編集して取込。補完候補ファイルはPPxフォルダ内のlaunch.txtという想定。
_Command = { ; ユーザコマンド・関数
ppl2 = *ifmatch 0,0%*getcust(_User:ppx_keymode) %: *setcust _User:ppx_keymode=K_pplnormal
*string o,name=%*input("" -title:"%*substring(%*getcust(_User:ppx_keymode),5) mode ^Rで実行コマンド切り替え" -mode:h -leavecancel -k:"*completelist -file:%%0launch.txt -match:6 -detail:""hist:h user alias"" %%: *mapkey use,%*getcust(_User:ppx_keymode)")
*execute,%so"name"
}
-|K_pplnormal=
-|K_pplautocorrect=
K_pplnormal = {
ENTER ,%K"@ENTER"
^R ,*mapkey delete,K_pplnormal
*mapkey use,K_pplautocorrect
*setcust _User:ppx_keymode=K_pplautocorrect
*setcaption auto correct mode
}
K_pplautocorrect = {
ENTER ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
%K"@ENTER"
^R ,*mapkey delete,K_pplautocorrect
*mapkey use,K_pplnormal
*setcust _User:ppx_keymode=K_pplnormal
*setcaption normal mode
}
やり方
*ppl2を実行すると一行編集が起動する。[^R]で疑似自動補完のオンオフが切り替わる。現在の状態はタイトルバーで確認できる。新規にコマンドを実行したい時はnormalに。既存のコマンドを実行したい時はauto correctにするといいだろう。
0 件のコメント:
コメントを投稿