Undoの拡張とRedo機能
対応バージョン: PPx181以降 ScriptModuleR17+1以降プラグイン: tar80/ppm-fileoperation
説明
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
}