2022年12月31日土曜日

PPv中心の連動ビュー(mapkey編)

PPv中心の連動ビューには、「PPvを複数起動すると挙動が意図しないものになる」というデメリットがあった。これを避ける方法として、PPcとPPvのIDを一対一対応させる等色々試みてたが(参考:PPcとPPvのIDを一対一対応させる - つかさのほえほえ日記跡地)、*mapkeyで解決しそうだなと最近気づいた。

準備

以下を編集して取込。

E_cr = { ; [Enter]用判別
TXT ,*ppv %*name(CD,"%R","%1") -k *mapkey use,K_syncppv %%: *string i,ppcid=%%*rightstr("%n", 1)
PNG ,*ppv %*name(CD,"%R","%1") -k *mapkey use,K_syncppv %%: *string i,ppcid=%%*rightstr("%n", 1)
}

K_syncppv	= {
UP	,*execute C%si"ppcid",%%K"@UP" %: %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
DOWN	,*execute C%si"ppcid",%%K"@DOWN" % %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
LEFT	,*execute C%si"ppcid",%%K"@LEFT" % %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
RIGHT	,*execute C%si"ppcid",%%K"@RIGHT" % %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
SPACE    ,*execute C%si"ppcid",%%K"@SPACE" % %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
\SPACE    ,*execute C%si"ppcid",%%K"@\SPACE" % %v%*extract(C%si"ppcid""%(%*name(CD,"%R","%1")%)")
}

やり方

PPcでE_crに登録した拡張子(ここではtxtかpng)にカーソルをあわせ、EnterでPPvを起動。PPvでカーソルを動かすと、起動元のPPcのカーソルが連動し、対応したファイルを表示する。

2023-01-15追記

シンプルに書き直した

0 件のコメント:

コメントを投稿