View on GitHub

AFXW

AFXWの演習

あふw拡張用のメモ

研究室では,ほぼファイルをコピーするだけです.
以下では,この環境を構築した時のメモ書きを残しています.
なお,x64のあふは使いたいdllが一部対応できていなかったりするため,x86で設定したほうがいい場合もありますが,ここではx64で環境を設定しています.

表示カラーの変更

まず,あふを起動すると黒いバックに,白い文字等でファイルが表示されています.
視認性が悪いため,設定で色を付けましょう.

zでコンフィグ設定を起動して,何も設定せずに決定を押せば,AFXW.DEFファイルができます.
このファイルは,さまざまな設定を記述できるファイルです.
ここに下記のカラーの設定を追記します.
するとエグゼや圧縮ファイルなどの拡張子に色が付きます.

[REG_COL]
COL_00=255
EXT_00=exe bat lnk
COL_01=65535
EXT_01=zip 7z lzh cab rar tar gz tgz bz2 xz lzma msi
COL_02=16711935
EXT_02=bmp ppm pgm pbm jpg jpeg jpe png gif tif tiff webp jp2 jls ico svg wmf emf eps
COL_03=8388863
EXT_03=avi mov wmv mp4 avc 264 hevc 265 flv mpg mpeg m1v m1a mp2 m2p m2a m2v m4a divx mkv webm
COL_04=8454016
EXT_04=mp3 wav aac m3u
COL_05=16749350
EXT_05=doc docx
COL_06=65280
EXT_06=xls xlsx csv
COL_07=33023
EXT_07=ppt pptx
COL_08=7171437
EXT_08=c cpp
COL_09=12632256
EXT_09=txt hlp h hpp md tex
COL_10=8421376
EXT_10=pdf xmind
COL_11=16711680
EXT_11=htm html url css
COL_12=12615808
EXT_12=ini cfg dat bkp def key mnu his
COL_13=8388736
EXT_13=dll sys reg inf spi sph
COL_14=128
EXT_14=bak old tmp
COL_15=8421631
EXT_15=img iso

次に,afxw.iniの色の設定関連も以下に変更します.
[COL]で区切られているセクションを丸っと上書きします.
するとフォルダが緑で表示されるようになり視認性が上がりました.

[COL]
NORMAL=16777215
SYSFILE=16711935
HIDDEN=16776960
READONLY=255
DIR=65280
SELECT=32768
BAR=16711680
WAKU=16711680
BGFL=0
PT=16777215
BGPT=0
MB=16777215
BGMB=0
VW=16777215
BGVW=0
STS_BAR=0
STS_BAR2=65535
LNVW=65280
TBVW=8421376
CRVW=65535

あふwの設定

zキーを押すと,あふの細かな設定ができます.
以下に推奨の設定を書いておきます.
詳細は,AFXWCFG.TXTを参照のこと.

各種設定(1)

一部抜粋.何も書いてないのはおそらくデフォルトになっている.

各種設定(2)

1.マークなしファイル操作→即操作する【非推奨】を選択.

チェックしない場合はSpaceキーで選択してからでないとコピーなどができません.
チェックしてある場合はカーソルのあるファイルを即操作できます.
非推奨な理由は,間違って操作するのを抑制するためですが,慣れたら即操作のほうが操作が早いです.

2.CTRL+左右キーをファイル窓大きさ変更に割り当て.

CTRL+左右キーがデフォルトではドライブの順次変更だが,ドライブ変更を頻繁に呼び出すことは少ないです.
しかもLキーでドライブ変更は可能です.
キー設定がALTの場合と被っていますが,キーバインドの設定で,Altの左右キーをつぶして過去の履歴に戻る・戻るに上書きして割り当てるため(ブライザやエクスプローラーのデフォルトショートカット),問題ありません.

各種設定(3)

特になし.

フォント(4)

文字の大きさが小さい場合やフォントを変えたい場合はここで設定する.
文字の大きさはショートカットでも可能.ただし,左右の窓それぞれに設定するので注意.

表示色(5)

表示カラーの変更で既に終わっています.
さらに変えたい場合はここを編集してください.

プログラム(6)

なお,ダウンロードしたファイルは,以下のところの設定で,エディタがsublime_textになっています.

[PROGRAM]
`EDITOR="%afxw%\..\sublimetext\sublime_text.exe"`

デフォルトは下記のようにメモ帳が指定されています.
各個人で好きなものを設定してください.
GUIから設定したければzキーを打って,プログラム(6)のタブから変更してください.

[PROGRAM]
EDITOR="notepad.exe"
ED_V="$P\$F"
VIEWER=""
SUSIEPATH="%afxw%\susie"
VARCPATH=""
NXCMD=""
SXCMD=""

拡張子判別実行(7)

画像の閲覧の設定やキーカスタマイズの設定のところでより詳細に述べます.

あふのメニューファイル

あふのメニューファイルであるmnuを登録しておくと,メニューキーの開発時に楽ができる.

拡張子=mnuを追加し,enter(E)に下記を登録

&MENU "$P\$F"

こうすることで作ったmnuファイルをenterでメニューが開きます.

DIRの時だけshift+enterが反対の窓を開く

拡張子判別実行(7)タブにおいて, <DIR>を作ってShift+enterに以下を定義

&EXCD -O"$P\$F\"

これを定義しておくとディレクトリの時だけ反対側の窓で開けるようになります.

キー定義(8)

ファンクションキーと数字の0~9までをキーカスタマイズするために使います.
ただし,afwx.keyで機能が上書きされているので,ここで登録せず,afwx.keyを直接編集すること. アルファベットや記号など,より詳細な拡張はキーカスタマイズのセクションで述べます.

各種登録(9)

お気に入りのフォルダや,ファイルマスク,拡張子の色が定義できる.
ファイルマスクや,拡張子の色はすでに定義済み.

頭文字にj:, h:, k:, u:などとついているのは,キー連打のツーストロークでディレククトリ移動するため.

圧縮ファイルのための拡張

デフォルトでは圧縮ファイルをうまく操作することができません.
そのため,いくつかの圧縮ファイルのためのdllを使います.

まず,7z.dllでほぼすべての拡張子に対応可能です.
まず,7zipの公式からダウンロードしてきて,中にある7z.dllをコピーします.
なお,コマンドライン用の7za.dllと7zax.dllは違うものなので注意すること.

また,以下のDLLを使うことで,様々な圧縮形式に対応できます.
7-zip dll, tar64.dll

現在の設定で圧縮・展開可能なのは以下のものです.

画像表示関連の設定

あふはデフォルトでもいくつかの画像(bmp, jpeg, png, gif, tiff, ico)を閲覧することが可能です(内部的にはGDI+を使用).

以下では拡張することで,より高速に,より多様なファイルを閲覧可能にします.

対応画像と使用プラグイン

susie Plug-inの設定

zキーで設定画面をだして,プログラム(6)のタブで,Susie Plug-inの存在するフォルダに
%afxw%\susie
を追記.spiファイルはsusieに入れる. なお,x64のsusieプラグインは拡張子がsphとなっている.

各種プラグインの設定

jpg png gif

まず,主要圧縮フォーマット3つに対応し,より高速化するために,下記のプラグインを導入しました.
ifjpegt.sph“,”ifPngTr.sph“,”ifGifTr.sph

WIC Susie Plug-in

また,その他もろもろのフォーマットに対応するためにWIC Susie Plug-inを導入しました.
デフォルトではBMP,PNG,ICO,JPG(JPEG),GIF,TIFF,HDP(HD Photo) に対応.
コーデックが追加可能で,Windows 10 ではHEIFも表示可能

webp hief jp2(新しい圧縮フォーマット)

WebpとHEIFとJPEG2000.あっても使うことはまれだが,一応設定した. wicでは,Windows 10 では拡張(HEVC, HEIF)をインストールすればHEIF/HEVCも表示可能 HEIF

gdi+プラグイン

EMF, WMF, GIF,ICO,JPEG,PNG,TIFF,BMPに対応 特にwmfとemfが重要.

対応する拡張子を,拡張子判別実行に追加して,(ここではEMF)下記をenterに追記.

&SUSIE iftwic.sph

WMFはなぜかレンダリングが汚いため,下記のZBYPASSI.SPHを利用.

32bit のspiを無理やり拡張して使う

以下のフォーマットに対応する.

これは,ZBYPASSI.SPHを経由して32ビット版をSPIをブリッジして使う. ZBYPASSI.SPH一式(”UNBYPASS.DLL” “UNBYPASS.EXE” “ZBYPASSA.SPH” “ZBYPASSI.SPH”)をsusieディレクトリに入れ, 拡張子判別実行(7)で pbm pgm ppm wmf epsを登録し,ENTER(E)に

&SUSIE ZBYPASSI.SPH

を追記する.

また,”ifepsgs.spi” “ghostscript.dll” “ifpnm.spi” “ifwmf.spi”もsusieのフォルダに入れる. すると,拡張子に応じて自動的に32bitのspiが選ばれる.

epsは,ifepsgs.spiがghostscriptが入っていれば動く. C:\bin\afxw64\susie\ghostscript.dllここにあるものとして,設定されている.

pdf表示関連の設定

pdfファイルは,axpdfを使って,複数のbmpファイルとしてレンダリングして,書庫として展開します.
pdfファイルが見ずらい場合は下記ショートカットを使うこと.

また,xdoc2txtを使ってpdfファイルやオフィスのファイルをテキストファイルとして展開します.
書庫として展開をshift+enterに割付,テキストとして表示をenterに割り振っています.

拡張子判別実行(7)で pdfを登録し,ENTER(E) ,SHIFT+ENTER(E) にそれぞれに下記を設定します.

$~\afxexec.exe cmd /c $~\pdfhead.bat "$P\$F" 7
&S_ARC ZBYPASSA.SPH

上は,あふのメッセージ窓に標準出力を投げるライブラリで,pdfhead.batは,xdoc2txtをラップした自作のbatファイルです.
デフォルトのメッセージコマンドの大きさに合わせて,最後の引数7で先頭から7行だけ表示するようにしています.
下は,ZBYPASSA.SPHの書庫版を内部命令&S_ARCで呼び出します.

xdoc2txtの出力結果のフルサイズのファイルは,”,”キーで参照できます.
ただし,別pdfファイル(その他officファイル)を見込んだら上書きします.

その他pdf展開spi

以下の物もpdfを画像の書庫として展開できるが,挙動が重たかったため使用していない.

動画を書庫として展開する

axffmpeg.spiを使って,動画をffmpegにより画像として展開し,一定間隔の画像として書庫として展開します.
なお,設定としてFFMEPGがC:\bin\ffmpeg\ffmpeg.exeに存在するものとして設定してあります.
もし,この設定を変えるには,susieフォルダ内にあるsusie.exeを起動し(起動したかどうかが非常に見づらい),一番下の矢印アイコン(これも当たり判定が厳しい)→ファイル→設定→axffmpeg.spiの設定で絶対パスや,インターバルを定義してください.

拡張子判別実行(7)でavi mov wmv mp4 avc 264 hevc 265 flv mpg mpeg m1v m1a mp2 m2p m2a m2v m4a divx mkv webmを追加. ENTER(E)に下記を追加

&S_ARC ZBYPASSA.SPH

pdfによる展開に類似.

MS office

pdfと同様に,xdoc2txtで先頭7行を表示をEnterに設定,shift+Enterで書庫として開くを設定(officeのファイルはxmlのzipファイルとして作成されているため).

doc docx xls xlsx ppt pptx

$~\afxexec.exe cmd /c $~\pdfhead.bat "$P\$F" 7
&V_ARC

exe

exeファイルも書庫として開けるように設定する.インストーラしか提供されていない場合,レジストリ等を汚さないで設定できる可能性がある. shift+Enterに

&V_ARC

外部ツールを導入する

高速な画像コピー

大きなファイルをコピーするとあふがしばらく固まっていて操作を受け付けない. その場合は,高速にファイルコピーするソフトを別スレッドで立ち上げると便利. なお,alt+zで固まっていたとしても新規にあふを立ち上げることができるので,覚えておくこと.

xdoc2txt

バイナリファイルを強制的にテキストに展開して閲覧するツール. pdfのところでも述べている.

以下をダウンロードして展開orインストール.
for xdoc2txtは32ビット版を使う. xdoc2txt afx4v Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)

展開してできた afx4v.exe を実行すると afx4v.ini ができる afx4v.ini  Ctrl + F12 に割り当て

gnuplot

gnuplotを起動するディレクトリを指定して立ち上げることができると非常に便利.

diff(winmerge)

pdfcrop

コマンドライン(cmd)

touch

マークファイルのタイムスタンプを、カーソルのあるファイルのタイムスタンプに合わせる ークファイルのタイムスタンプを、カーソルのあるファイルのタイムスタンプに合わせるには外部ツールtouchを利用します。

NT版UNIX-like tools http://www.piedey.co.jp/softs/ntuxtl.html のアーカイブを取ってきて、その中に入ってるtouch.exeをパスの通った所に置きます。 ファンクションキー(キーボードでもメニューでも可)に以下を登録します。

touch.exe -r $MS $MO (F10にバインド)

Tips

migemo

日本語ファイルはほとんど使わないけどどうする?

環境変数を登録するための処理

L キーによるドライブ選択メニュー表示して, My Doc.にカーソルを合わせたのちに _ キーを押おし,プロパティを選ぶと選択可能な画面がでる.

もしくは,c-InsでPCアイコンのプロパティを出す相当 c-s-/にも割り当ててある.

c-Delはゴミ箱のプロパティ

mnuファイルの保存形式

SJISで保存すること.デフォルトのUTF-8だと文字化けする. F11にnkfコマンドを割り当てているので,作ったら押すといい.

設定したメニューファイル

環境変数の取得方法

サンプル $V”USERPROFILE”

その他

コマンド出力をあふ直下のstdout.txt(コマンドだと$~\stdout.txt)に書き込むようにすると,”,”キーで中身が内部ビューアで閲覧できます.

その他拡張情報リンク

ユーザー用Wiki お気に入りのツールを気ままに拡張するブログ