説明

PPcのUndo機能の拡張。

  • 移動とリネームを、Undo>Redo>Undo>Redoと繰り返せるように。
  • safedeleteしたエントリは元の位置への復帰のみできるように。
  • 標準のRキー(リネーム)はundoできないので、Rキーを書き換えます。
  • Ctrl+Zキーにundo,redo機能を割り当てます。
  • PPXUNDO.LOGを直接書き換えるので注意が必要。
  • PPXUNDO.LOGの書式が変ったら終了のお知らせ。

キーバインド

PPc

KEY COMMAND
R undo対応リネーム
CTRL+Z undo,redo

設定

;エイリアス
A_exec = {
scr  = ;スクリプト親ディレクトリパス
;reces = ;reces.exeのパス
}

X_save = ;バックアップ用のディレクトリパス

;PPcキーバインド
KC_main = {
;行ごとの処理内容
;1 画面外マークの確認
;2 削除済みエントリなら中止
;3 リストファイルなら通常リネーム
;4 aux:パスなら通常リネーム
;5 undo対応リネーム
R, *checkoffmark
   *if 1==%*js(PPx.Result=PPx.EntryState;) %: *stop
   *if 4==%*js(PPx.Result=PPx.DirectoryType;) %: %K"@R" %: *stop
   *ifmatch /^aux:.*/,%FDV %: %K"@R" %: *stop
   *ppcfile !rename -min -undolog:on -same:skip -error:dialog -log:off -name:"%*input("%C" -title:"Rename" -select:fs -mode:Ec)"

;recesを使った書庫内ファイル名のリネーム例
;   *ifmatch "63;64;96",%*js(PPx.Result=PPx.DirectoryType;) %: *run -noppb -hide -d:%0 %'reces' /mn%C:%*input("%*regexp("%FC","s/(.*\\)(.*)/$1|$2|/")" -title:"書庫内ファイル名の変更" -mode:Ec -select:i) %FD %& %K"@^F5" %: *stop

^Z,*script %'scr'%\undo.js
}