Zero キーボード向けPyxisライクなファイラー

2022年5月15日AutoHotkey,ファイラー

最近大変気に入って使っているファイラーです。

Pyxis を意識して作っておられるので、その事も気に入っている点です。

多くのファイラーは2画面がほとんどで、使ってはみてもなぜかシックリ来ないのですよね。やっぱり昔から使い慣れた1画面がシックリきます。

配布ファイルも zip 形式でインストール不要なのがいいです。USB メモリーに入れて持ち運びが出来たりしますからね。

現在開発が進んでいますので、さらに使いやすくなるのが楽しみです。

Zero の入手先

AutoHotkey によるカスタマイズ

v.0.9.5 よりキーカスタマイズが出来るようになりました。
ただ、まだテキストビュワーの方はカスタマイズできません。

私のノートは、PageUp PageDown キーが無いので、内蔵テキストビュワーが使いづらいし、Esc キーが押しにくいので AutoHotkey でカスタマイズしています。

基本設定で「Path入力時の初期値」を、「1-参照窓」にしています。

#InstallKeybdHook
#UseHook
#WinActivateForce

;***** 無条件 **************************
^m::send, {Enter}       ;Ctrl + m は Enter
^h::send, {Backspace}   ;Ctrl + h は Backspace
^g::send, {Delete}      ;Ctrl + g は Delete

^e::send, {Up}          ;Ctrl + e は ↑
^d::send, {Right}       ;Ctrl + d は →
^x::send, {Down}        ;Ctrl + x は ↓
^s::send, {Left}        ;Ctrl + s は ←

;Windows + z は zero Dドライブルートで起動
#z::Run, D:\Zero\Zero.exe /D D:\ /P=90,120,820,550

;***** Zero v.1.6.4 ********************
;メイン窓
#IfWinActive, ahk_class TZeroMainForm
^k::                    ;Ctrl + k は
send, {Esc}             ;Esc で、プルダウンかインクリメンタルサーチか終了確認を終了
                        ;そうでないなら修了確認窓表示(される)
Sleep, 100              ;ウェイト
IfWinExist, ahk_class TMessageForm  ;終了確認窓があれば
send, {Esc}             ;Esc で、閉じる
return

q::                     ;q は
send, {Esc}             ;Esc で、プルダウンかインクリメンタルサーチか終了確認を終了
                        ;そうでないなら修了確認窓表示(される)
Sleep, 100              ;ウェイト
IfWinExist, ahk_class TMessageForm  ;終了確認窓があれば
send, {Enter}           ;Enter で、Zero 終了
return

^i::                    ;Ctrl + i は
WinActivate, ahk_class TTxtViewForm  ;テキストビュワーへ
return
#IfWinActive

;***** テキストビュワー
#IfWinActive, ahk_class TTxtViewForm
+Space::                ;Shift + Space と
Left::                  ;← と
p::                     ;p は
send, {PgUp}            ;ページアップ
return

Space::                 ;Space と
Right::                 ;→ と
n::                     ;n は
send, {PgDn}            ;ページダウン
return

j::send, {Down}         ;j は ↓
k::send, {Up}           ;k は ↑

g::send, ^j               ;g は行番号ジャンプ
t::send, ^j1{Enter}       ;t は先頭行へ
b::send, ^j9999999{Enter} ;b は最終行へ

f::send, ^f             ;f は検索
l::send, {f3}           ;l は次を検索
o::send, +{f3}          ;o は前を検索

^i::send, {Tab}	        ;Ctrl + i はファイラーへ
#IfWinActive

;***** フォルダー選択
#IfWinActive, ahk_class TOpenDirForm
^k::                    ;Ctrl + k が押され
IfWinExist,ahk_class TFileListForm  ;ファイル検索結果窓があるか
  send, {Esc 3}         ;あれば Esc 3回
else
  send, {Esc 2}         ;無ければ Esc 2回
return

^.::send, +{Enter}{Enter}  ;Ctrl + . は Shift + Enter そして Enter
#IfWinActive

;****** ファイル検索結果
#IfWinActive, ahk_class TFileListForm
^k::send, {Esc}         ;Ctrl + k は窓閉じる
#IfWinActive

;****** 属性変更
#IfWinActive, ahk_class TAttrForm
^k::send, {Esc}
#IfWinActive

;***** 並べ替え
#IfWinActive, ahk_class TSortForm
^k::send, {Esc}
#IfWinActive

;***** ドライブ変更
#IfWinActive, ahk_class TChangeDriveForm
^k::send, {Esc}
#IfWinActive

;***** 上書き確認
#IfWinActive, ahk_class TOverWriteForm
^k::send, {Esc}
#IfWinActive

;***** ジャンプリスト(メモリーナンバー)
#IfWinActive, ahk_class TJmpForm
^k::send, {Esc}
#IfWinActive

;***** ネットワークリソース
#IfWinActive, ahk_class TNetViewForm
^r::Controlclick, 再読み込み  ;Ctrl + r は再読み込みボタンクリック

^k::                    ;Ctrl + k が押され
IfWinExist,ahk_class TInputDirForm ;移動先、コピー先、展開先窓があるか
  send, {Esc 3}         ;あれば Esc 3回
else
  send, {Esc}           ;無ければ Esc
return
#IfWinActive

;***** タイムスタンプ変更
#IfWinActive, ahk_class TTimeStampForm
^k::send, {Esc}
#IfWinActive

;***** 移動先、コピー先、展開先
#IfWinActive, ahk_class TInputDirForm
^k::send, {Esc}
#IfWinActive

;***** 名前変更
#IfWinActive, ahk_class TRenameForm
^k::send, {Esc}
#IfWinActive

;***** フォルダー作成、圧縮、パラメータ編集、実行
#IfWinActive, ahk_class TInputStrForm
^k::send, {Esc}
#IfWinActive

;***** ファイル検索
#IfWinActive, ahk_class TInputSrchForm
^k::                    ;Ctrl + k が押され
IfWinExist,ahk_class TInputDirForm ;移動先、コピー先、展開先窓があるか
  send, {Esc 3}         ;あれば Esc 3回
else
  send, {Esc}           ;無ければ Esc
return
#IfWinActive

;***** 基本・ランチャー設定
#IfWinActive,ahk_class TMainForm
^k::send, {Esc}
#IfWinActive

;***** Zero一覧
#IfWinActive,ahk_class TWinListForm
^k::send, {Esc}
#IfWinActive

;***** 削除確認
;#IfWinActive, ahk_class TDelForm
;#IfWinActive

;****** 終了、エラー
;#IfWinActive, ahk_class TMessageForm
;#IfWinActive

;****** 終了メニュー
;#IfWinActive, ahk_class TQuitForm
;#IfWinActive

上記の設定により、下記の既定のショートカットは無効になります。

q : 終了メニュー
Windows + z : アプリのコマンドバー表示(Windows11 ではウィンドウのスナップ)
Ctrl + e : 新規ファイル編集
Ctrl + h : カレントフォルダーを履歴に追加
Ctrl + x : 切り取り – エクスプローラー

Key.json の設定。
「i」はデフォルトで「Incsearch」だが「@」を利用。

[
  {"Key": "i",       "Cmd": "nextzero"},
  {"Key": "w",       "Cmd": "allfilemark"},
  {"Key": "Shift+w", "Cmd": "Allmark"},
  {"Key": "¥/",      "Cmd": "launcher"},
  {"Key": "f5",      "Cmd": "Refresh"},
]