PPcとPPvのIDを一対一対応させる
あいさつ
僕は、PPvでカーソル上下でPPcのカーソルを動かし、そのファイルを閲覧できるようにしている。PPvのファイル切り替えをカーソル上下左右でとかPPvのカスタマイズを参照。
ただ、これだと複数のPPcを開いたときに、たまに思った通りの挙動をしないことがある。たとえば、
- PPc[A]でメモフォルダに移動しPPvを起動、閲覧する
- 思いついたことがあったので、PPc[B]で別のドキュメントフォルダを開き、そこのファイルをエディタで開いて何か書く
- じゃあまたメモの閲覧の続きをしようか、とPPvに戻りカーソルを上下すると、今度はPPc[B]に連動してドキュメントフォルダ内のファイルを閲覧してしまう
という具合だ。どのPPcがアクティブになったかで、挙動が変わってしまうわけですね。
これを解決するため、PPcとPPvのIDを一対一対応させて、カーソル上下の連動をIDに対応させようと思った。
拡張子別判別実行の挙動
まずは拡張子別判別実行から。
E_cr = { ; [Enter]用判別 TXT ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD HOWM ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD JPEG ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD :JPEG ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD BMP ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD PNG ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD JPG ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD GIF ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD CFG ,%0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD }
これで、PPcのIDに対応したPPvが起動するようにする。
PPvのキーバインド
ついで、PPvのキーバインドをカスタマイズ。カーソル上下で連動するPPcをIDに対応させる。
KV_main = { ; PPvメイン窓 UP ,%KC%*regexp(%n,"/.(.)/$1/") "@UP V" DOWN ,%KC%*regexp(%n,"/.(.)/$1/") "@DOWN V" LEFT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, -1 %: %KC%*regexp(%n,"/.(.)/$1/")"V" RIGHT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, 1 %: %KC%*regexp(%n,"/.(.)/$1/")"V" }
これで、PPvのIDに対応したPPcでカーソル移動するようになる。