Zero キーボード向けPyxisライクなファイラー
最近大変気に入って使っているファイラーです。
Pyxis を意識して作っておられるので、その事も気に入っている点です。
多くのファイラーは2画面がほとんどで、使ってはみてもなぜかシックリ来ないのですよね。やっぱり昔から使い慣れた1画面がシックリきます。
配布ファイルも zip 形式でインストール不要なのがいいです。USB メモリーに入れて持ち運びが出来たりしますからね。
現在開発が進んでいますので、さらに使いやすくなるのが楽しみです。
Zero の入手先
AutoHotkey によるカスタマイズ
v.0.9.5 よりキーカスタマイズが出来るようになりました。
ただ、まだテキストビュワーの方はカスタマイズできません。
私のノートは、PageUp PageDown キーが無いので、内蔵テキストビュワーが使いづらいし、Esc キーが押しにくいので AutoHotkey でカスタマイズしています。
AautoHotkey v1 用でしたが v2 用に書き換えました。
基本設定で「Path入力時の初期値」を、「1-参照窓」にしています。
;=============================
; Zero v1.22.5 対応
; AutoHotkey v2用
;=============================
InstallKeybdHook
#UseHook
#WinActivateForce
GroupAdd "jogai", "ahk_class XLMAIN" ;エクセル
;[無変換] + [z] は zero cドライブ work で起動
vk1D & z::Run "c:\Zero\Zero.exe /D=c:\work"
;***** メイン窓 *****
#HotIf WinActive("ahk_class TZeroMainForm")
^k:: ;[Ctrl] + [k] は
{
Send "{Esc}" ;[Esc] で、プルダウンかインクリメンタルサーチか終了確認を終了
;そうでないなら終了確認窓表示(される)
Sleep 100 ;ウェイト
If WinExist("ahk_class TMessageForm") ;終了確認窓があれば
Send "{Esc}" ;[Esc] で閉じる
}
q:: ;[q] は
{
Send "{Esc}" ;[Esc] で、プルダウンかインクリメンタルサーチか終了確認を終了
;そうでないなら終了確認窓表示(される)
Sleep 100 ;ウェイト
If WinExist("ahk_class TMessageForm") ;終了確認窓があれば
Send "{Enter}" ;[Enter] で Zero 終了
}
^i:: ;[Ctrl] + [i] は
{
If WinExist("ahk_class TTxtViewForm")
WinActivate ;テキストビュワーへ
}
;***** フォルダー選択 *****
#HotIf WinActive("ahk_class TOpenDirForm")
n:: ;[n] と
^k:: ;[Ctrl] + [k] は
{
If WinExist("ahk_class TFileListForm") ;ファイル検索結果窓があれば
Send "{Esc 3}" ;[Esc] 3回
Else ;無ければ
Send "{Esc 2}" ;[Esc] 2回
}
+sc01c:: ;[Shift] + [Enter] と
^.:: ;[Ctrl] + [.] は
{
Send "+{Enter}{Enter}" ;[Shift] + [Enter] そして [Enter]
}
;***** ネットワークリソース *****
#HotIf WinActive("ahk_class TNetViewForm")
r:: ;[r] は
{
Controlclick "再読み込み" ;再読み込みボタンクリック
}
n:: ;[n] と
^k:: ;[Ctrl] + [k] は
{
If WinExist("ahk_class TInputDirForm") ;移動先、コピー先、展開先窓があれば
Send "{Esc 3}" ;[Esc] 3回
Else ;無ければ
Send "{Esc}" ;[Esc] 1回
}
;***** ファイル検索 *****
#HotIf WinActive("ahk_class TInputSrchForm")
^k:: ;[Ctrl] + [k] は
{
If WinExist("ahk_class TInputDirForm") ;移動先、コピー先、展開先窓があれば
Send "{Esc 3}" ;[Esc] 3回
Else ;無ければ
Send "{Esc}" ;[Esc] 1回
}
;***** 名前変更 *****
#HotIf WinActive("ahk_class TRenameForm")
^k:: ;[Ctrl] + [k] は
{
If WinExist("ahk_class TFileListForm") ;ファイル検索結果窓があれば
Send "{Esc 2}" ;[Esc] 2回
Else ;無ければ
Send "{Esc}" ;[Esc] 1回
}
;***** 削除確認 *****
#HotIf WinActive("ahk_class TDelForm")
y:: ;[y] は
{
If WinExist("ahk_class TFileListForm") ;ファイル検索結果窓があれば
Send "y{Esc}{F5}" ;[y] でファイル削除し [Esc] で検索結果窓閉じて [F5] で画面リフレッシュ
Else ;無ければ
Send "y" ;[y] で削除
}
r:: ;[r] は
{
If WinExist("ahk_class TFileListForm") ;ファイル検索結果窓があれば
{
Send "r" ;[r] でゴミ箱へ
Sleep 100 ;ウェイト
Send "{Esc}{F5}" ;[Esc] で検索結果窓閉じて [F5] で画面リフレッシュ
}
Else ;なければ
Send "r" ;[r] でゴミ箱へ
}
n:: ;[n] と
^k:: ;[Ctrl] + [k] は
{
If WinExist("ahk_class TFileListForm") ;ファイル検索結果窓があれば
Send "{Esc 2}" ;[Esc] 2回
Else ;なければ
Send "{Esc}" ;[Esc] 1回
}
#HotIf WinActive("ahk_exe Zero.exe")
^k::Send "{Esc}" ;[ctrl] + [k] で取消
;=============================
; Ztext.exe
;=============================
;***** メイン窓 *****
#HotIf WinActive("ahk_class TTxtViewForm")
+Space:: ;[Shift] + [Space] と
Left:: ;[←] と
p:: ;[p] は
{
Send "{PgUp}" ;ページアップ
}
Space:: ;[Space] と
Right:: ;[→] と
n:: ;[n] は
{
Send "{PgDn}" ;ページダウン
}
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] でファイラーへ
q::Send "{Enter}" ;[q] は [Enter] で閉じる
;***** 文字列検索、行番号入力 *****
#HotIf WinActive("ahk_class TInputStrForm")
^k::Send "{Esc}" ;[Ctrl] + [k] は [Esc] で入力中止
;=============================
; エクセル以外
;=============================
#HotIf not WinActive("ahk_group jogai")
^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] は [←]
Key.json の設定。
「i」はデフォルトで「Incsearch」だが「@」を利用。
画面リフレッシュの Ctrl + R は、「send, ^R」で反応が悪いので「F5」に割り当て。
また、「^k::Controlclick, キャンセル」も反応悪いので「send,{Esc}」にしている。
Ctrl + J は Enter の動きをする(隠しコマンド?)ので無効化。
[
{"Key": "i", "Cmd": "nextzero"},
{"Key": "o", "Cmd": "Wwin"},
{"Key": "w", "Cmd": "allfilemark"},
{"Key": "Shift+w", "Cmd": "Allmark"},
{"Key": "¥/", "Cmd": "launcher"},
{"Key": "f5", "Cmd": "Refresh"},
{"Key": "Ctrl+j", "Cmd": ""},
]
上記の設定により、下記の既定のショートカットは無効になります。
q : 終了メニュー
w : 2画面表示
F5 : 名前順
Ctrl + e : 新規ファイル編集
Ctrl + h : カレントフォルダーを履歴に追加
Ctrl + k :ワイルドカードでマーク
Ctrl + x : 切り取り – エクスプローラー
Shift + Enter :フォルダー選択決定