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でカーソル移動するようになる。
