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

2022年7月20日AutoHotkey,ファイラー

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

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

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

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

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

Zero の入手先

AutoHotkey によるカスタマイズ

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

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

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

zero 以外もバックアップがてら記載しました。

#InstallKeybdHook
#UseHook
#WinActivateForce
SetTitleMatchMode, 2

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

;=============================
; Zero ver 1.7.1
;=============================
;メイン窓
#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 は Ctrl + J で指定行ジャンプ
t::send, ^j1{Enter} ;t は Ctrl +j 1 Enter で先頭行へ
b::send, ^j999999{Enter}  ;b は Ctrl +j 999999 Enter で最終行へ

f::send, ^f         ;f は Ctrl + f で検索
l::send, {F3}       ;l は F3 で次を検索
o::send, +{F3}      ;o は Shift + F3 で前を検索

^i::send, {Tab}     ;Ctrl + i は Tab でファイラーへ
#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 は Esc で窓閉じる
#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 1回
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 1回
return
#IfWinActive

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

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

;削除確認
#IfWinActive, ahk_class TDelForm
^k::send, !n        ;Ctrl + k は Alt + n でキャンセル

y::                 ;y と
!y::                ;Alt + y は
IfWinExist,ahk_class TFileListForm  ;ファイル検索結果窓があれば
  send, !y{Esc}{F5} ;Alt + y でファイル削除し Esc で検索結果窓閉じて F5 で画面リフレッシュ
else                ;無ければ
  send, !y          ;Alt + y で削除
return
#IfWinActive

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

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

;=============================
; 秀丸以外
;=============================
#IfWinNotActive, ahk_class Hidemaru32Class
^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 は ←
IfWinNotActive

;=============================
; 秀丸閲覧モード
;=============================
#IfWinActive, (閲覧中) - 秀丸
+Space::            ;Shift + Space と
p::                 ;p は
send, {PgUp}        ;ページアップ
return

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

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

q::                 ;q と
sc01c::             ;Enter は
send, !{F4}         ;終了
return
#IfWinActive

;=============================
; SumatraPDF
;=============================
#IfWinActive, ahk_class SUMATRA_PDF_FRAME
sc01c::send, q      ;Enter (次ページ)を終了に
#IfWinActive

;=============================
; IrfanView
;=============================
#IfWinActive, ahk_class IrfanView
q::                 ;q と
sc01c::             ;Enter (全画面)は
send, {Esc}         ;終了
return

+sc01c::send, {Enter}  ;Shift + Enter は全画面
#IfWinActive

;=============================
; 7-Zip
;=============================
#IfWinActive, ahk_class FM
^v::send, {F3}      ;Ctrl + v は表示
^q::send, !{f4}	    ;Ctrl + q は終了
#IfWinActive

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

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

Key.json の設定。
「i」はデフォルトで「Incsearch」だが「@」を利用。
画面リフレッシュの Ctrl + R は、「send, ^R」で反応が悪いので「F5」に割り当て。
また、「^k::Controlclick, キャンセル」も反応悪いので「send,{Esc}」にしている。

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