2021年6月14日月曜日

サブ窓中心の操作(mapkey編)

*mapkeyを使うことで、以前よりスマートにできるようになったので紹介。PPx 1.77+5以降とKey Module R5が必要。

操作は前と同じ。
処理元のファイルをマークしたあと、

  • 移動:Shift+M
  • コピー:Shift+C

でサブ窓PPC[X]が開くので、パス移動してShift+Enter。

KC_main    = {
\M ,*alias ppcx_cmd = *file !move ,%%*extract(%n"%%%%@*8FCDN"),%%1 %%: %%K"@Q" %: *ppc -r -bootid:x -single "%1" -k *mapkey use,K_subwin %%: *linemessage 移動先を選択してください
\C ,*alias ppcx_cmd = *file !copy ,%%*extract(%n"%%%%@*8FCDN"),%%1 %%: %%K"@Q" %: *ppc -r -bootid:x -single "%1" -k *mapkey use,K_subwin %%: *linemessage コピー先を選択してください
}

K_subwin    = {
\ENTER    ,*execute ,%'ppcx_cmd'
}

追記 2021-06-15

特殊環境変数の%si"name"を使えばエイリアスを使う必要がなくなることに気づいた。ただエスケープのせいで視認性が悪くなるので一長一短。

KC_main    = {
\M ,*ppc -r -bootid:x -single "%1" -k *mapkey use,K_subwin %%: *linemessage 移動先を選択してください %%: *string i,temp_exec=*file !move ,%%%%*extract(%n"%%%%%%%%@*8FCDN"),%%%%1 %%%%: %%%%K"@Q"
\C ,*ppc -r -bootid:x -single "%1" -k *mapkey use,K_subwin %%: *linemessage コピー先を選択してください %%: *string i,temp_exec=*file !copy ,%%%%*extract(%n"%%%%%%%%@*8FCDN"),%%%%1 %%%%: %%%%K"@Q"
}

K_subwin	= {
\ENTER    ,*execute ,%si"temp_exec"
}

追記 2022-01-30

1.83からマクロ文字展開抑制ができるようになったので、見やすく書き直し。

KC_main    = {
\M ,*setcust _User:sorce_id=%n %: *ppc -r -bootid:x -single "%1" -k %(*mapkey use,K_subwin %: *linemessage 移動先を選択してください %: *string i,temp_exec=%(*file !move ,%*extract(%su"sorce_id""%%@*8FCDN"),%1 %: %K"@Q"%)%)
\C ,*setcust _User:sorce_id=%n %: *ppc -r -bootid:x -single "%1" -k %(*mapkey use,K_subwin %: *linemessage コピー先を選択してください %: *string i,temp_exec=%(*file !copy ,%*extract(%su"sorce_id""%%@*8FCDN"),%1 %: %K"@Q"%)%)
}

K_subwin	= {
\ENTER    ,*execute ,%si"temp_exec"
}