あふ入門
このドキュメントは,Windowsユーザー向け,特に画像処理エンジニアへの2画面ファイラの導入を勧めるための情報です. 特にに2画面ファイラのあふ(afxw)について説明します. このあふは,FDライクなテキストベースの2画面ファイラです.
2画面ファイラと聞いてピンとこない人は5分ほど2画面ファイラやFD,あふなどの検索ワードでWebを検索して雰囲気をつかんでください. (イントロを自前で作るのを省略)
この文書は,独習シリーズっぽく,一人で学べる独習あふを目指した文書です. あふの正式名称はあふwだが,ここではあふと書く.文章の視認性的にひらがなのあふは埋もれて見づらいため,だいたいAFXWと書かく. ___
目次
Todo
- 文章が体言止めで終わってたり,ですます調だったりであるだったり適当なので,違和感があったら要修正
- TBDと書いてある演習等は,より詳細な演習があったほうがいいと思ったやつ.書いてなくても適当な時(後半とか)は要修正
- 時間の関係で詳しく書けなかったので,やってみて思いついた演習を追加するといい
- sandboxみたいな感じで,自分の環境じゃなくて,実験用の環境があるといい
- マークダウンのリンクなどリンク切れなどは厳重に確認していないのでリンクに失敗していたら修正
はじめに
画像処理をやっている人の主な作業は主に以下のような作業です.
- ファイル整理をする,圧縮・展開する.
- ドキュメント(docx, pptx, xlsx, tex, pdf,text,md, html)を書く・開く.
- 画像を確認,編集する.
- コードを編集する.
- csvファイルなどを確認,プロットする.
- ネットで調べものをする.
通常,このような作業をするときには,Windowsネイティブのエクスプローラ(インターネットエクスプローラーではなくて普通のフォルダアイコンを押すと出てくるウィンドウのことをエクスプローラーと呼ぶ)で行うと,以下のような作業を行うことになります.
ファイル編集する場合
- エクスプローラーの起動
- ドキュメントなどをクリック
- ファイルを探しながら目的のフォルダまで移動
- 目的のファイルを見つけてダブルクリックして実行
ファイル整理する場合
- エクスプローラーの起動
- ドキュメントなどをクリック
- ファイルを探しながら目的のフォルダまで移動
- 目的のファイルを探してダブルクリックして実行し中身を確認
- 必要なファイルを目的のフォルダにコピーや移動や削除
- もし目的のフォルダ位置が探したファイルと違う位置にある場合は,もう一つエクスプローラーを起動して移動先まで同上
そのほか,コマンドプロンプトの立ち上げ時にカレントディレクトリが違って毎回cdしないといけないとか,gnuplotのカレントディレクトリが同様に違ったりと,いろいろなわずらわしさがあります. (エクスプローラのファイルパス入力欄でcmdと打つとそこをカレントディレクトリにしてコマンドプロンプトが起動するっていう小技を知っていると楽)
これらの動作は,非常に工程数が多く,たくさんのマウス操作とダブルクリックが必要になります. また,無数のファイルの中から適切なファイルを見つけることは大変です.
あふではこのような操作をすべてキーボードショートカットかつ,できるだけ1画面で納めることで高速化し,普段の作業効率を劇的に改善します.
ダブルクリックする時間やファイル名で目的のものを見つける時間はたかがしれていると思うかもしれません. 実際に,おそらくその時間の短縮は対して作業効率の向上には寄与しないでしょう. しかし,人間の短期記憶は複雑な作業を記憶しておくことができず,これをこっちのウィンドウにコピーして,一回リネームしておいて,このファイルを...といった作業をやろうとするとすぐにやろうとしていた作業を忘れてしまうため意外とファイル整理には時間がかかります. しかも,中身を確認するためにダブルクリックして,テキストエディタ,pdfビューアやら画像ビューア,ワードやエクセル,パワーポイントや圧縮ソフトなど様々なソフトウェアが起動して画面が散らかりさらに混乱します.
これらが改善することで,効率化が進みます.
あふでできること
あふで出来ることはたくさんありますが,通常のダブルクリックによるファイル実行に相当する作業は当然として,代表的なものを列挙すると下記のようなことが出来ます.
- ファイル整理(ファイルのソート・マスク,ディレクトリ作成,コピー,移動,削除,リネーム)
- テキストファイルの閲覧
- 画像の閲覧,pdfを画像として閲覧
- ワード,エクセル,パワーポイントをテキストファイルとして閲覧
- 外部ツールの呼び出し(gnuplot, コマンドプロンプト,imagemagick, ffmpeg,diffコマンドの呼び出しなど)
- ファイルの圧縮,展開
演習の目的
この演習は,あふw(AFXW)の操作方法をほぼすべて学習することが目的である. 「ほぼ」とは,AFXWの拡張方法についてはそれほど多くは言及していないという意味である.
この演習中に,迷ったらF1
でヘルプ表示,もしくはCTRL+ALT+SHIFT+任意キーの同時押しで該当キーのヘルプ表示の機能があることを覚えておくこと.
また,ヘルプをEnter
で選択したら,該当する命令が発行可能である.
ただし,画像モード,閲覧モードはF1
ヘルプ表示のみであり,加えて,そのヘルプから命令実行はできない(誰かが作ってくれてもいい).
また,SHIFT+F1
で現在登録しているファンクションキーのヘルプを出す(コマンド割り当てなし).
文中のs-A
の意味は,SHIFT+Aの同時押しの意味である.
下記に,同時押しの一覧を示す.
s-A
: SHIFT+Ac-A
: CTRL+Ac-s-A
: CTRL+SHIFT+Aa-A
: ALT+Ac-a-A
: CTRL+ALT+Ac-s-a-A
: CTRL+SHIFT+ALT+A
c-[a-z0-9]
などの,CTRLキーだけの同時押しは特殊な割り当てであり,各キーを先頭文字として持つファイルへのジャンプ命令である.
s-a-A
などのSHIFT+ALT+任意のキーには,今のところコマンドを一つもアサインしていない.
使ってはいけない決まりがあるわけではないため,カスタマイズする時に使って問題はない.
なお,【応用】と書かれた課題は,あふを拡張するところまで学習したい人以外は実施しなくてよい.
プログレスについて
演習の残りがどれくらいか確認するために,各演習で使ったキーを削除していくことで進捗を可視化する. 配布したAFXWに割り当てられているショートカットキーは以下である.
ABCDEFGHIJKLMNOPQRSTUVWXYZ-^\@[;:],./_0-9F1-12INSDELTabBSPgUpPgDn
なお,演習で使ったのに該当キーが残っている場合は,後からさらに詳細が述べられるキーである. また,この文字列の後半は特定なキーを指しており,キーボードによっては以下のように記載されている可能性もある.
- Ins: Insert
- Del: Delete
- Tab: Tab←→,Qの左.
- BS : Back Space,Enterの上
- PgUP: Page UP
- PgDown: Page Down
この説明は,自分のキーボードの位置はこれとは違うっていう,こだわりがある人に対する説明ではない. なお,101キーボードやHHKを使ったときに,この演習のキーバインドはかなり都合悪いのため,頑張って拡張すること.
注意書き
特に研究室の学生向け
afxw内にあるこの二つは,検索ワードの履歴やコマンド出力結果の履歴が保存されている.
- AFXW.HIS
- stdout.txt
また, \fastcopyの中のFastCopy2.iniや.logにも注意.
そのため,afxw自体を演習課題でアップするようなことがあれば,その時は必ず注意すること. パスワードや,外部に機密にする内容が履歴などが入っているとも限らない. ___
インストール
- githubからcloneしたら以下に展開.
C:\bin\afxw64 C:\bin\ffmpeg C:\bin\winmerge C:\bin\gnuplot
- ffmpegはafxw64/installにある.
- winmerge, gnuplotは適宜ダウンロードすること
- 内部の参照関係で,winmerge,gnuplotの呼び出しの場所がそれぞれ1か所だけ相対パス指定してあるので,この構造である必要がある.(ファンクションキーによる演習以外では必要ない.)
- 慣れた人は,自分の環境に合わせて設定を変えてもよい.
-
VC2013の再配布パッケージをインストール.
afxw64/installフォルダにあるvcredist_x64.exeをインストール.もし,pdfの出力回りで動作しなかったらこれじゃないかも.x86が正しい気もする.(afxexecに必要)
-
まずはダブルクリックして起動.そして,
z
キーを押して,そのタブのaboutでオートメーションサーバを登録をクリック.(afxexecに必要で登録と解除がトグル) -
そのタブのプログラム(6)におけるエディタを自分のエディタに変更.
デフォルトは下記のsublimetextかVisual Studio Codeになっているが同梱していないため,notepad.exeか自分の使っているエディタにする.
%afxw%\..\sublimetext\sublime_text.exe
参照を押して,自分の普段使っているエディタ(atom,visual studio code, 秀丸,サクラエディタなど)に変更すればよい.
- その他インストール
- pnuplotのインストール(インストーラではなくzipをbin/gnuplotに展開)
- winmergeのインストール(インストーラではなくzipをbin/winmergeに展開)
- image magickのインストール(画像からpdfへの変換ができません.)
- tex環境のインストール(pdfcropが動きません).
-
キーの入れ替え
【重要】 キー配置の押しやすさは.Caps LockとCtrlは入れ替わっている前提である.入れ替えをすることを推奨する. 例えばkeyswapなどを使うとよい.
導入
ディレクトリの移動
まず,基本となるディレクトリの移動について覚える. ディレクトリ移動コマンドは下記である.
Enter
: ディレクトリの中に入るs-Enter
: ディレクトリを逆窓で開く- 対象がディレクトリではなくファイルの場合は,中身を閲覧するモードに切り替わる.
BS
: 上の階層に移動↑
,↓
: カーソルを上下に移動PgUP
,PgDn
: 大きくカーソルを上下に移動→
,←
:逆窓に移動や上の階層に移動a-→
,a-←
:履歴を進む・戻る(窓それぞれに履歴は記憶)Tab
:逆窓に移動(普段はあまり使わない)
また,以下の終了コマンドも覚えること.
Q
: あふの終了.s-Q
: で設定ファイルを保存せずにあふを終了- このコマンドは,使ったことがないかもしれない.いろいろ設定を試してみて,やめたりするときに使うもの.
課題
sandbox0の中に入り,移動を覚えよ.
- このフォルダのどこかにあるreadme.txtを見つけよ
s-F
で検索がかけられるのでそれで見つかるが,そういう目的ではないs-Enter
で逆窓に開いていくと見つけやすいかも
a-→
,a-←
で履歴をたどれ- あふを終了せよ.
プログレス
ABCDEFGHIJKLMNOPRSTUVWXYZ-^\@[;:],./_0-9F1-12INSDEL
ヘルプの閲覧
F1
でヘルプが閲覧可能である.
迷ったときはヘルプを見よ.
課題
F1
キーを押して,どんなことができるのか確認してみよ.- 各キーを
c-a-s-任意のキー
の同時押しでそのキーのヘルプが出る. また,出たメニューを選択してEnter
で命令が発行される. この動作を確認せよ.- ただし,特に
D
の削除キーの命令の発行には注意すること. 選択したファイルが削除される.
- ただし,特に
プログレス
ABCDEFGHIJKLMNOPRSTUVWXYZ-^\@[;:],./_0-9F2-12INSDEL
表示サイズの変更
InsertキーIns
,DeleteキーDel
で文字サイズを変更できる.
デフォルト設定が大きすぎると思ったら変更せよ.
ただし,左右で文字の大きさの設定が独立なので注意すること.
なお,Z
の設定フォント(4)で,表示のフォントを変えるなど,より詳細な設定ができる.
課題
文字サイズの大きさを調整せよ.
プログレス
ABCDEFGHIJKLMNOPRSTUVWXYZ-^\@[;:],./_0-9F2-12
フルスクリーン表示・透過
以下のコマンドで画面の最大化と通常の状態がトグルする
[
:画面の最大化で連打で状態がトグル
また,半透過のコマンドが以下に割り当てられており,最大化時に隠れている後ろの画面が見える.
s-[
:透過c-s-[
:透過を戻すa-[
:透過を濃くc-a-[
:透過を薄く
なお,透過設定はあふを再起動すると消える.
課題
- 最大化,もとに戻すを
[
連打でトグルせよ. - 透過をさせることで,後ろの画面を見よ.
プログレス
ABCDEFGHIJKLMNOPRSTUVWXYZ-^\@;:],./_0-9F2-12
コメント
現在F12
はgnuplotに割り振っているが最大化トグルを割り振ってもよいかも.いろんなソフトがF12
が最大化のショートカットだったりする.
表示がおかしい・固まったときには?
Z
による設定画面が起動したままになっていないか?これが起動すると本体がロックされる.- 数字の
1
キーを押してみる.おそらく,分割表示になっていて,数字の1,2,3,1と押してみて,もとに戻ったらそれ.(下記,分割表示を参照).
ひとまず使えるようになるために
【そのうち詳しく書く】 この文章全体は詳しすぎなので,覚えるのが大変. もっと抜粋して,優先順位をつけて短く書けると,導入としてうまくワークする.
下のリストぐらいが,とりあえず覚えればいいもの(要検証).
==絶対に必要==
矢印
:カーソル移動Enter
:内部で実行(AFXWによる実行)c-Enter
:関連付け実行(ダブルクリックによる実行)SPACE
:ファイルをマークK
:ディレクトリ作成(mKdir)C
:コピー(Copy)M
:移動(Move)R
:リネーム(rename)D
:削除(Delete)J
:よく使うディレクトリにジャンプ(Jump)L
:ドライブジャンプ(drive Letter jump)E
:編集(Edit)Q
: 終了(Quit)
==知らなくても,とりあえず使える==
A
:全選択(All)F
:検索(Find)S
:ソート(Sort)O
:逆窓を同期P
:圧縮(Pack)U
:展開(Unpack)
==知っているともっと効率的==
- その他のキーやCTRL,ALT,SHIFTとの組み合わせ
___
ファイルの閲覧
Enter
キーを押したときに,カーソルの対象がディレクトリではなくファイルだった場合には,その対象の拡張子に応じて動作が切り替わる. 主に以下のファイルで動作が切り替わる. - 画像ファイル
- 圧縮ファイル
- オフィスファイル
- pdfファイル
- 動画ファイル
- exeファイル
- mnuファイル
- その他すべて(テキストとして開く)
またエンターキーは三つの押し方があり,それぞれで動作が異なる.
Enter
: 通常実行s-Enter
: 実行モード2c-Enter
: 関連付け実行
Enter
がデフォルト動作であり,s-Enter
が少しマイナーな動作である(マイナーな動作は定義していないこともある).
c-Enter
はエクスプローラーでファイルをダブルクリックしたときと同じ動作であり,「関連付け実行」 と呼ぶ.
つまり,exeを実行したり,フォルダをエクスプローラーで開いたり,ワードやエクセルファイルを開いたりする動作であり,起動するとあふから離れることになる実行である.
以下ではそれぞれのファイルについての挙動を詳しく述べる.
なお,挙動を確認するためのファイルを用意できないときには,以下のサイトなど,Webのコンバータサービスを使ってファイルが開けるかどうかのサンプルファイルを作るのもよい.
テキストファイルの閲覧
特定の拡張子ではない場合のすべてでテキストビューとして開かれる. つまり,txt, md, html, tex, ini, cpp, hやその他様々な拡張子のファイルはすべてテキストとして開かれる.
また,このテキストビューモードでは,通常のファイルマネージャーのモードとは異なるショートカットが割り当てられている.
それもF1
でキーが割り当ててあるため一読すること.
なお,通常のファイルマネージャーモードと違って,実行コマンドまで実装していないため,閲覧専用である.
ショートカットとして,vimのようにH, J, K, L
でカーソルが動く.
G
,s-G
で文頭,文末,V
で終了など(あとで述べるがVV
の2キーストロークで開いて閉じることができる).
そのほか,c-Space
でカーソルが出る.その際,H, J, K, L
での移動の動作も変わり,上下左右の移動ができるようになる.
また,テキストビュー中でTab
キーを押すと16進数のバイナリファイルとして閲覧することもできる.
このようにバイナリ・テキストを切り替えられるとたまに便利である.
V
キー(View)で,すべてのファイルをテキストだと思って開くこともできる.
その場合は,V
キーでファイルを閲覧すると,jpgだろうがzipだろうが,設定を無視してテキストとして閲覧しようとしてバイナリファイルが見える.
拡張子が間違っていて,うまくファイルが開けないときに,バイナリモードとして開いて先頭ヘッダを見れば中のファイルがどのような物なのか分かったりする.
E
キー(Edit)でテキスト編集ソフトでファイルを開くことができる.
これは,関連付け実行とは違ってあふの中で設定されたソフトが開く.
開かれるエディタは,Z
による設定のプログラムのエディタに記述されたソフトである.
なお,テキスト編集については次に演習がある.
課題
- テキストを閲覧し,カーソルを移動させよ.
- テキストファイルを
c-Enter
で関連付け実行してファイル閲覧せよ. - テキストファイルを
E
キーでテキスト編集ソフトで開け. - テキストビュー中に
F1
でヘルプを開き,通常のときのヘルプと異なることを確認せよ. H, J, K, L
でカーソル移動せよ.- テキストがコピペできることを確認せよ.
V
キーで,JPEGのファイルを閲覧しヘッダの先頭のほうにJFIFという文字があることを確認せよ.V
キーで,GIFのファイルを閲覧しヘッダの先頭にGIFという文字があることを確認せよ.- 閲覧中に
Tab
を打って16進数表示と通常の表示を切り替えよ.もう一度Tab
でトグルする.
プログレス
ABCDEFGHIJKLMNOPRSTUWXYZ-^\@;:],./_0-9F2-12
テキストファイルの編集
テキストファイルは,ビューアだけでは編集できないため,notepadなどのテキストエディタで開く必要がある.
c-Enter
の関連付けで開いてもよいが,拡張子が.txtでないとうまく開かないことが多く,cppなどではVisual Studioが起動してしばらく固まってしまう.
そのため,以下のショートカットキーE
(Edit)が設定されている.
E
:テキストエディタの起動s-E
:新規にファイルを作成してテキストエディタの起動c-s-E
:notepadを起動
なお,テキストエディタは,インストールのところで設定したものが起動する.
また,新規にファイルを作る場合は,ボタンを押した窓にファイルが作成される.
さらに,テキストビューモード中もE
でエディタが起動できる.
後に詳細を述べるが,B
キーのランチャの先頭にエディタが設定してあるため,エディタが開きたいだけならそのキーでも良い.
ただし,デフォルトはSublime TextかVisual Studio Codeになっているので各自編集が必要である.
ここでは,ひとまずnotepadに書き換えておく.
B
を押して,一番下のeditから,テキストが開いて,2行目に以下のものが書いてある.
;"notepad" notepad.exe
これは,notepadのショートカットの記述をセミコロンでコメントアウトしている. セミコロンを消せばnotepadが有効になる. なお,このようなメニューファイルの編集はあふを再起動しなくても編集して保存次第機能が有効になる.
課題
- テキストエディタを起動せよ
- テキストを新規に開いて保存せよ
- notepad(メモ帳)で開け.
- テキストビューモード中にエディタで開け
- もし,テキストエディタとしてnotepadを使っている人がいれば,Sublime Text, Atom, Visual Stdio Code, emacs, xyzzy, vim, サクラエディタ,秀丸エディタなんでもよいのでエディタを設定せよ.
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:],./_0-9F2-12
圧縮ファイルの閲覧
圧縮ファイルを閲覧するとき,通常のディレクトリと同じように中に入ることができる. 対応する拡張子は以下であり,おおむね現在流通している圧縮ファイルのほぼすべてのファイルを開くことができる.
zip cab lzh rar 7z tar gz tgz bz2 lzma xz jar
圧縮ファイルの中でもテキストの閲覧や画像の閲覧,ファイルのコピーなど通常通りにできる. また,圧縮ファイルの書庫へコピーすると,圧縮ファイルへファイルを追加することができる(これは,後の演習で行う).
圧縮ファイルの深い階層に入っているときから,元のディレクトリに戻るときは,いちいち矢印を押して戻らずとも以下のショートカットで簡単に抜けられる.
s-BS
: 一気に仮想ディレクトリを抜ける\
: 仮想ディレクトリのルートにジャンプ- 通常のファイルなら,ドライブのルートにジャンプするが,これは圧縮ファイルのルートにジャンプする.
s-BS
の一個手前 - なお
\
はBS
の左のYenマークである.
- 通常のファイルなら,ドライブのルートにジャンプするが,これは圧縮ファイルのルートにジャンプする.
なお,圧縮ファイルの中で,pdfや動画を圧縮ファイルとして開こうとすると,AFXWが固まり,ZBYPASSA.SPHのプロセスがゾンビ化するので注意.
課題
- 様々な圧縮ファイルを閲覧せよ.
- zipファイルを関連付け実行し,エクスプローラーが起動することを確認せよ
- 環境によっては展開のソフトが起動する人もいるはず.
- Todo: 事前にいろいろなファイルを誰かが用意しておくと良い.
- 圧縮ファイルの深いところから一気に抜けよ.
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:],./_0-9F2-12
画像ファイルの閲覧
画像モードによる閲覧
画像は,画像モードとしてファイルを開くことができ,以下の拡張子に対応している.
jpg png gif bmp ppm pgm pbm jpeg jpe tif tiff webp jp2 ico wmf emf eps
モードには通常のファイルマネージャーモードと,テキストモード(テキストビューモード)とこの画像モード(画像ビューモード)の三つがある.
テキストモードと同様に,画像モードもショートカットがファイルマネージャーモードと異なるのでF1
で確認すること.
主要なショートカットは以下のキーである.
+,-,[(END),],(HOME),A,M,O,c-S,c-C
詳細は演習で述べている(TBD:演習からここに記述を編集してここに書く).
s-G
で画像モードのキー操作をスライドショーモードとスクロールモードに切り替えることができる.
スライドショーモードでは矢印キーで次の画像に送ることができ,スクロールモードでは画像ないの閲覧位置を矢印で操作できる.
言い換えれば,スライドショーモードになっていないと,矢印で次の画像に送れない.
あふの一番下の情報窓で,SLIDと書いてあったら,スライドショーモードSCRLと書いてあったらスクロールモード.
スライドショーモードであっても,SHIFT+矢印で移動はできるので原則スライドショーモードを使っていればいい.
このモードは,あふを終了しても引き継いでいるので,なぜかページが遅れなくなったらこの設定が変わったと思っておくこと.
画像モードで次のページに送れなくなったらs-G
.
なお,少し拡張したら,HEIFも閲覧可能にできる.必要であれば,afxw_extention.mdを参照のこと.
サムネイル表示
画像モードではなく,ファイルマネージャーモード時で表示形式を切り替えるショートカットに以下がある.
s-.
: サムネイル表示.
: アイコンの表示
特にサムネイル表示は画像を閲覧しているときに有効に使うことができる.s-.
でのサムネイル表示は,もういちど押すことで,テキスト表示とのトグルができる.
SHIFT無しの.
はアイコン表示のトグルであるが,普段は必要ないため非表示推奨する.なお,.
はおそらく,拡張子のセパレータである.記号を意味している.
画像ビューア
画像を閲覧するときにWindowsネイティブのソフトウェアや,ペイントを使っている人がいたら,画像閲覧ソフトとしてirfanview をインストールすることを推奨する.
これは,軽い,対応画像フォーマットが多いなど,画像処理をサポートするのに十分な機能を持っている. ただし,特にあふの内部設定ではirfanviewを使っていることはないため,なくても問題なく動作する.
以下,簡単なインストール手順である.
- 最新のirfanviewの本体とpluginをダウンロードしてインストールすると下記にインストールされるはず(プラグインがないと,対応する拡張子が少なくなる.).
C:\Program Files\IrfanView\i_view64.exe
- irfanview,日本語化などで検索して,Japanese.dllを探してくる. 対応バージョンが古いが無視.一部英語のままになるが問題ないはず.
- Japanese.dllをLanguagesフォルダにコピーし,irfanviewの画面上でpを押してlanguageを選択してjapaneseを選択.
課題
- 様々な画像ファイルを画像モード閲覧せよ.
- 関連付け実行(
s-Enter
)で,画像を開け +
/-
で画像を拡大縮小せよHOME
,END
もしくは[
,]
,で原寸表示,画面フィット表示を切り替えよ.なお,解像度の大きい画像を閲覧せよ.(小さいと意味がない) (Todo事前にいろいろなファイルを用意しておくと良い.)- 3の縮小表示時に
A
キーを押し,アンチエイリアスの有無を確認せよ.(文字が表示されている画像だと分かりやすい.) M
キーで画像表示のモードを切り替えよ.(連打でトグル)O
(もしくはI
)で,画像モード中でも関連付けされた実行ファイルで開くことができるのを確認せよ.- ファイルマネージャーモード自に,
s-.
でサムネイル表示ができることを確認せよ.(連打でトグル) c-C
で画像をクリップボードにコピーし,画像編集ソフト(irfanview, paint, pptなど)に張り付けよc-S
で「逆窓に」画像を保存できる(bmp, jpg, png, gif, tif).保存できることを確認せよ.- スライドショーモードとスクロールモードを切り替えて動作を確認せよ.
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:],/_0-9F2-12
オフィスのファイルの閲覧
ワード,エクセル,パワーポイントなどのMS Officeのファイル(doc, docx, xls, xlsx, ppt, pptx)の簡易的な閲覧もあふ内で完結して実行可能である.
基本はc-Enter
の関連付け実行でファイルを開くが,このような操作は処理が重たい.
中身を少し確認したいだけなら,単純にEnterを押すと先頭7行がメッセージ窓(分割された2画面の下の狭いウィンドウ)に表示されるように拡張済みである.
中身を確認するには,先頭のタイトル情報だけで十分なことが多いため,非常に便利になる.
なお,複数AFXWが起動している場合,一つ目のAFXWにメッセージが出力されている可能性が高い.
メッセージが出ない場合は,その点に注意すること.また,ファイルの形式によってはうまく出力されないこともある.
なお,全文は,先頭だけ閲覧したのちに,
でテキストモードで見ることができる.
内部的には,stdout.txtを参照しているだけであり,標準出力結果がここに上書きされるため,最も直近のテキストファイルしか閲覧できない.
詳細は,下記の拡張の方法を参照のこと.
また,オフィスファイルは,xmlをzip圧縮しただけであり,.docxの拡張子を.zipにリネームすると展開することができ,内部の画像ファイルなどを取り出すことができる. このような動作を再現するためにshift+enterでオフィスファイルを書庫として開くように設定してある.
課題
- オフィスファイルを
Enter
で開け. ,
キーで全文を確認せよ- オフィスファイルを
c-Enter
で関連付けで開け - オフィスファイルを
s-Enter
で開き,内部の画像を取り出せ- 画像の入ったワードやパワーポイントファイルを準備する必要
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:]/_0-9F2-12
オフィスのテキスト閲覧の拡張の方法
- afxtoolsのafxexecを使って,コマンドラインの標準出力をあふのメッセージ窓で受け取れるようにする(要オートメーションサーバ)
- xdoc2txtでオフィスファイルをtxtに変換する(リダイレクトでstdout.txtに出力している).
- stdout.txtをheadコマンド(バッチファイルで作った)で先頭n(n=7)行表示する.
pdfファイルの閲覧
pdfファイルも基本は関連付け実行で閲覧する.
しかし,オフィスファイルと同様に,Enter
キーで先頭7だけテキスト表示することができ,全文は同様に,
で参照可能である.
また,s-Enter
には,pdfを画像(bmp)として展開し,書庫として開く機能に割り当ててある.
このようすることで,論文等,大量にダウンロードされたpdfファイルをいちいち開いて中身を確認しなくてもよくなるため,ファイルの整理が楽になる.
テキスト閲覧と画像閲覧,どちらを優先したいかは人によると思うので,優先順位が逆だと思う人は,
Z
キー設定の拡張子判別実行(7)のpdfでEnterとShift+Enterに書いてあるコマンドを上下入れ替えること.
(スワップするボタンはないので手動で.)
なお,pdfを画像で表示すると解像度が足りないと感じる.
そのため,原寸表示の]
と画像全体表示の[
による切り替えや,アンチエイリアスの有無のA
キー,拡大縮小の+
-
キーなど,画像モードのショートカットを体得しておくと便利である.
また,zipファイルの中のpdfを画像で見ようとすると固まることがあるので注意.
重要
Adobeのpdfビューアは重たいので,SumatraPDFやFoxit Readerなどの別途高速なビューアをインストールしておくとよい. texインストール済みならSumatraPDFはインストール済みのはず. またpdfの編集は,本学だと,PDF-XChange Editorがライセンス済み. なお,正しく表示するためにAcrobat Readerのインストール自体は必須.
課題
- pdfオフィスファイルをEnterで開け.
,
キーで全文を確認せよ- pdfを
c-Enter
で関連付けで開け - pdfを
s-Enter
で画像として開け. - 表示した画像の表示を
[
,]
,+
,-
,A
,M
などで切り替えよ.
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:]/_0-9F2-12
動画ファイルの閲覧
動画ファイルは,基本は関連付け実行で開くと思うが,動画ファイルも画像として展開してbmpとして開くことができる.
s-Enter
に加えてEnter
キーにその機能が割り当てられている.
この動作はpdfと非常に近い.
要FFMPEGかつ,FFMPEGが規定のディレクトリ指定に存在しないといけない. 設定の詳細はafxw_extention.mdのpdf表示関連の設定を参照のこと.
課題
動画を画像ビューアで開け.
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:]/_0-9F2-12
exeファイルの閲覧
インストーラ等がexeファイルで配布されている場合,インストール等はせず,exeファイルだけ取り出して試したい時がある.
小さなソフトはexeはただの書庫&移動+アルファであるため,書庫して開けば十分である可能生が高い.
exeもEnter
,s-Enter
の両方とも書庫として開けるように設定してある.
なお,デフォルトでは,exeは,X
キーが押されたときと同じ挙動をするが,そのような動作を求めることがほとんどない.
似た動作がしたいとき(自作のexeを開くなど)は関連付け実行をするか,X
キーを押すこと.
もしくはこの設定をつぶすために,拡張子判別実行のexeの項目を削除すればよい.
課題
exeを書庫として開け
プログレス
ABCDFGHIJKLMNOPRSTUWXYZ-^\@;:]/_0-9F2-12
【応用】 mnuファイルの閲覧
mnuファイルとはあふのポップアップメニューを記述したものであり,F1
のヘルプなどはそれを記述したものである.
例えば以下のディレクトリには大量のmnuファイルが定義してある.
C:\bin\afxw64\key_menu
これの拡張子判別実行をEnter
キーに割り当ててある.
そのためEnter
だけでメニューが出せる.
これは,中身はただのテキストファイルであるため,テキストを閲覧する場合はs-Enter
もしくは強制的にテキストモードで開くV
を押すこと.
詳細は,一番下の演習の【応用】カスタマイズ発展にある.
課題
- mnuファイルを開け
- mnuファイルをビューモードで開け
- mnuファイルをテキストビューアで開け(
E
キーかテキストモード中にs-Enter
,テキストモード中にE
でも可)
ファイル操作
ここでは,以下のファイルに対する操作や窓に対する操作を学習する.
- ジャンプ
- ファイルマーク
- 逆窓操作
- ディレクトリ作成
- コピーと移動
- 削除
- リネーム
- ソート
- 全選択,ファイルマスク,マーク
- ファイル圧縮
- ファイル展開
- シングル窓操作
ジャンプ
よく使うディレクトリに,カーソルを操作して,いちいち移動するのは手間が大きい.
特に,デスクトップ,ダウンロード,ドキュメントのディレクトリには頻繁に移動する.
そのような頻繁に移動するディレクトリはJ
, G
, L
, H
キーでジャンプできる.
J
によるジャンプ
まずJ
によるジャンプ(Jump)について述べる.
これはデフォルトでついている機能であり,Z
キー設定の各種登録(9)ーフォルダに登録してあるフォルダにジャンプできる.
ここで設定を追加すればジャンプできるディレクトリが増える.
なお,よく使わると思われるディレクトリであるswap, desctop, download, documentには先頭にhjklが付与してある.
これは,JJ
,JK
,JH
などの2キーストロークのキーの連打で飛びやすくするためである.
(各種登録(1)でメニューは頭文字のキーで即決定するにチェックが必要.配布したものはこれはチェック済み)
また,決定時にSHIFTを押しながらEnterを押せば逆窓で開く.
もしくはSHIFTを押しながらHJKLなどでも該当文字のディレクトリが開く.
なお逆窓関連は次のセクションにまとめてある.
s-J
では,ジャンプ先が直接入力できる.
特定のディレクトリがコピー済みであったり,よく知っているディレクトリやネットワークドライブ先(うちの研究室のNASドライブである\fukushima-nas)などを入力するときに使う.
また,s-J
を押した後で↓を押したりTabを押すことで,補間がかかり,移動先をカーソルで選択するよりも速く決定できるときもある.
c-s-J
は上記の逆窓指定の動作をしたかったものだが,うまく拡張できずに,補間機能が実現できていない.
a-J
は逆窓に入るときに,メニューが足りなくなる可能性を考えて作ったメニューファイルによるジャンプである.
G
によるジャンプ
それぞれ,G
, s-G
, c-s-G
にデスクトップ,ダウンロード,ドキュメントのショートカットが割り当てている.
1キー入力のため素早く入力できる(Goto のG).
J
キーの2ストロークジャンプは,JJ
にダウンロードを割り当てることで,G
とJ
を使い分けられるようにしている.
設定はAFXW.keyに記述されており(該当箇所;Jで検索),設定を変えた場合はあふの再起動後に反映される.
なお,a-G
はa-J
と同じ動作である.
また,Fキーがc-a-s-F
によるショートカットが何かと競合してヘルプ機能が死んでいるため,G
キーからF
のヘルプを参照できるように設定している.
(どれと競合している?c-a-s-Z
も同じ.)
L
によるドライブジャンプ
L
キーはCドライブ,DドライブやUSBドライブ,ネットワークドライブなどのドライブジャンプするためのキーである.
これは,おそらく,Drive LtterのL.
それに加えて,デスクトップとドキュメントのフォルダが追加されている.
これは,Z
キー設定の各種設定(1)のドライブ選択のこころでデスクトップとドキュメントを表示するにチェックが入っているためできる.
なお,SHIFT+LはGoogle検索機能でありドライブジャンプとは機能が異なる(後述).
H
による履歴へジャンプ
H
キー(History)は,各左右の窓で訪問した履歴へジャンプすることができる.
なお,この履歴は,ファイルコピーや移動でも使うことができる.
また,s-Enter
で逆窓で開くことができる.
その他のジャンプ
a-T
キーにより,ツリー(Tree)を表示してジャンプができる.
もともとはAltのないT
キーに割り当てられているが,あまり使うことがないためつぶしてこちらに再割り当てしている.
もし多用するようであれば,設定を変える必要があるかもしれない.
また,下記のその他機能で詳細が述べられているブックマークによるジャンプも可能である.
;
キーに,ブックマークを登録してそこにジャンプする機能がある.
これは,各種登録(9)ーフォルダではなく,独自のファイルとしてブックマークが保存されており,現在のディレクトリがadd/delを押すことで追加,もし追加済みなら削除ができるように作られている.
一時的によく使うようになっている作業ディレクトリなどを追加するとよい.
\
キー(BS
の左)によりドライブのルートに(例えばC:\)にジャンプできる.
なお,_
(右SHIFTの左)とは異なるので注意すること(日本語キーボードの文字の出力的には同じ).
課題
TBDより詳細に:
J
でジャンプしろG
でジャンプしろL
でジャンプしろH
でジャンプしろa-T
でジャンプしろ;
でジャンプしろ\
でルートにジャンプしろ プログレスABCDFIKMNOPRSTUWXYZ-^@;:]_0-9F2-12
逆窓操作
逆窓は,ファイルの出力先として使うため,頻繁に操作される.
カーソルで逆窓に移動して,出力先を設定して,自窓に戻るという操作でももちろん良いが,それは手数が増える.
この逆窓はデフォルト設定ではO
とs-O
に割り当てられており,自窓から逆窓を同期するキーである(逆:Opposite).
なお,デフォルト設定は,現在の設定と逆であり,O
で自窓を逆窓に同期である.
これだと使いにくいため逆にして設定してある.
さらに,いくつかの操作方法があるため,以下のコマンドに慣れて,自窓から逆窓を操作できるようになっておくとよい.
- 逆窓を同期
O
- 自窓を逆窓で同期
s-O
s+Enter
で逆窓で開くJ
キーをs-Enter
決定で逆窓で開くH
キーの履歴をs-Enter
決定で逆窓で開くa-G
/a-J
の逆窓操作のメニューc-s-J
の直接入力逆窓ジャンプ(履歴使えない)
** コメント **
a-G
は押しづらいかつa-F
と間違えるのでa-J
にもキー割り当てした.
課題
TBDより詳細に: 逆窓の操作を覚えよ.
プログレス
ABCDFIKMNPRSTUWXYZ-^@;:]/0-9F2-12
ディレクトリ作成
ディレクトリを作成するショートカットは以下である.
K
: ディレクトリを作成するs-K
: マークファイルを作成したディレクトリに入れる
なお,各種設定(1)ーファイル窓動作のフォルダ作成後そのフォルダ内に移動するをチェックすると,ディレクトリ作成後にそのディレクトリの中に入る. この動作が約二たつ場面が少ないのでチェックを外している(デフォルトはON)
また,s-K
は実は,ディレクトリを作る命令ではなく,ファイルを移動する命令であり,移動先のディレクトリが存在しないときに,そのディレクトリを作成することを応用した方法である.
確認画面が煩わしい人は,mkdirとmoveによるバッチファイルを書いてもよい.
課題
K
でディレクトリを作成せよ- いくつかのファイルをマークして,
s-K
でそのファイルを格納するディレクトリに移動させよ.
プログレス
ABCDFIMNPRSTUWXYZ-^@;:]/_0-9F2-12
ファイルのマーク
これから複数のファイルに対して移動,コピー,削除などの命令を出す. この時は,カレントのカーソルだけでなく,複数のファイルをマークしてそのマークに対して命令が発行したい. そのようなときは以下の命令が使える
SPACE
: マークしてカーソルを下へs-SPACE
: マークしてカーソルを上へ課題
ファイルをマークせよ
コピーと移動
ファイルのコピー(Copy)がC
,移動(Move)がM
キーである.
ここでは,コピーは,移動元のファイルが残り,移動は残らないファイル操作のことを指す.
出力先は逆窓に行われ,対象となるファイルは,SPACE
キーなどでマークされたファイル,マークがない場合は,カレントのカーソル位置のファイルである.
マークされているかどうかは,緑で反転するためすぐわかる.
もちろん,ディレクトリもマーク可能である.
なお,同一ドライブ内での移動命令は先頭ポイインタの付け替えだけなので,コピー命令よりも非常に速い.
このコピー・移動命令は基本操作であり様々な拡張がなされており以下で様々なコピーを使い分けられる.
コピー
C
: 基本のコピー.対象は逆窓.
s-C
: 登録フォルダ(J
で移動できるフォルダ)にコピー
c-s-C
: 外部ツール(FastCopy)を使った非同期コピー
a-C
: 履歴にコピー
c-a-C
: マークファイルをフォルダを指定してコピー
非同期コピーは数GB越えの巨大なファイルや,多くのファイルを一度にコピーするときにあふが固まるのを防ぐために使う.
なお,固まっている最中にa-Z
でもう一つあふを起動することで,作業の中断を防ぐこともできる.
c-a-C
はs-K
の移動ではなくコピー版である.
なお,T
キーに,1画面で操作するための下記のコピーコマンドが用意されている.詳細は,後で述べる.
- マークファイルを移動先を指定してコピー
- 一階層上にコピー
- マークファイルをカーソル上にコピー
移動
マークファイルをカーソル上に移動 マークファイルを移動先を指定して移動 一階層上に移動(これはよく使う)
移動もコピーと割り当てはほぼ同じである.
M
: 基本の移動.対象は逆窓.
s-M
: 登録フォルダ(J
で移動できるフォルダ)に移動
c-s-M
: 外部ツール(FastCopy)を使った非同期移動
a-M
: 履歴に移動
c-a-M
: フォルダを指定して移動
c-s-M
: 外部ツール(FastCopy)を使った非同期移動は,同一ドライブ内の移動は高速なため,コピーに比べて出番は少ない.
c-a-M
はs-K
まったく同じ挙動である.
なお,Y
キーに,1画面で操作するための下記の移動コマンドが用意されている.詳細は,後で述べる.
課題
TBDなんか適当な題を作る
- コピー・移動せよ.
プログレス
ABDFINPRSTUWXYZ-^@;:]/_0-9F2-12
削除
削除に関連するショートカットは以下である.
D
: 削除s-D
: ごみ箱を経由せずに完全に削除a-D
:ごみ箱のプロパティを表示
s-D
は確認が出るが,完全に削除できる.
Z
による各種設定(1)ーファイル操作のごみ箱はシステムの確認を利用するのチェックを外すと確認が出ないようにできる.
また,その上の通常の削除はごみ箱を利用するのチェックを外すとSHIFT付か否かの動作を反転できる.
なお,慣れるまでshift+Dの操作はしないこと(削除してすぐならファイル復元ソフトなどで復元可能だが). ごみ箱はシステムの確認を利用するにチェックを入れているはずので大丈夫だとは思うが,もし設定を変えたらごみ箱を経由せずに即削除になる. 昔は,HDDのアクセスが遅く,ごみ箱を経由すると挙動が遅かったが,HDDがSSDになって反応が良くなったため,ごみ箱経由して削除のほうが安心できる.
a-D
でごみ箱のプロパティを表示でき,これはごみ箱を完全に削除するときに使う.
c-s-D
にしていないのは,誤動作防止のため.
課題
- ファイルの削除せよ
- ファイルのごみ箱を経由せずに削除せよ.
- ごみ箱のプロパティを確認せよ.
プログレス
ABFINPRSTUWXYZ-^@;:]/_0-9F2-12
リネーム
ファイル名のリネームついて述べる.
エクスプローラーではF2
を押すかアイコンをゆっくりダブルクリックして行っている,ファイル名を変える処理のことである.
基本的なキーバインドは以下である.
R
: 基本のリネームs-R
:リネームしてコピー(a.txtをa_ver2.txtなどにして元のファイルは維持してリネーム)ができる.c-s-R
:複数のマークファイルを拡張リネーム(バッチ処理)
R
はそのままリネーム機能である.
また,↓を押せば拡張子の大文字小文字変換を使えたり,ALT+接頭文字で隠しファイルやリードオンリーファイル設定などのパーミション設定などができる.
s-R
は,リネームしてコピーするもので,Ver1,Ver2といった前の状態ほ保存したい時に使う.(コードなど,頻繁に更新されるものはバージョン管理を絶対に使うこと.)
c-s-R
はリネームのバッチ処理であり,↓
で入力欄を切り替えられる.
モードは二つある.
一つ目は,上三つの行を使う,は,名前を規則に従って置換する処理である.
例えば,key_menuフォルダをすべて選択して(ショートカットはA
,これは後述),置換元をmenu置換後をメニューにすると文字列「menu」が文字列「メニュー」にすべて置き換わる.
これは決定がEnter
ではなくs-Enter
でありEnter
は結果テストが表示される.
二つ目は,下三つの行を使うファイルを連番でリネームする処理である.
ここでは,文字名,後半.拡張子と連番で出す数字のルールを決められる.
【ここもう少し詳しく書いて】
課題
R
でリネームせよs-R
で適当なファイルをファイル名ver1,ファイル名ver2とリネームしてコピーしろ.c-s-R
で拡張改名(上の機能)せよ.c-s-R
で拡張改名の連番をつけるものを(下の機能)せよ.(画像ファイルを番号で割り振るなど)
プログレス
ABFINPSTUWXYZ-^@;:]/_0-9F2-12
ソート
各ディレクトリの中身をソートすることは,目標のファイルを発見する上で重要である.
ファイルのソートは,S
で,ソートのメニューが起動しEnter
でソート可能である..
また,メニューにあるソートの属性を選べば2ストロークでソート可能である.
SS
: サイズSE
: 拡張子ST
: 時間SF
: ファイル名SA
: 属性ファイル名SX
: ファイル名(番号) なお,降順,昇順は,マウスを使わなくても→
,←
で選択可能であり,またソートの状態は前回使ったものを保持しているため,毎回同じようなキーでソートしている場合はS Enter
でもよい.
またショートカットで以下のものもが割り振っている. 基本は2ストロークソートでよいが慣れたらこちらを覚えるとよい.
s-S
:時間昇順c-s-X
:ファイル名昇順(xでソート)a-S
: 拡張子で昇順c-a-S
:時間降順 ファイル名はF
よりもX
のほうが都合がいいことが多かったためショートカットはX
を割り振っている.
課題
- いろいろな属性で2ストロークでソートせよ
- 1キーのショートカットでソートせよ
- ファイル名(連番)とファイル名のソートの違いが判るファイルを用意してソートせよ.
1.txt, 2.txt, 3.txt, 4.txt,5 .txt, 6.txt, 7.txt, 8.txt, 9.txt, 10.txt ,11.txt, 12.txt, 13.txt
となっているファイルをソートしたら結果を見れば違いがよくわかる(TBD:用意する).
プログレス
ABFINPTUWXYZ-^@;:]/_0-9F2-12
全選択,ワイルドカードマーク,ファイルマスク
ファイルをマーク,全選択するときに,ひとつづつ選択するのはコストが高い. ここでは,効率的なマーク方法である以下6つ述べる.
A
: ファイルをすべて選択s-A
: ディレクトリを含めてすべて選択@
: ワイルドカードマークマークs-@
: ワイルドカードマークマークを直接入力:
: ファイルマスクs-:
: ファイルマスクを直接入力
A
による全選択
A
(All)により,ファイルのみを全選択できる.
実際の命令は,マークの反転命令であり,おおむねマークしていない状態であるため全選択に見える.
そのため,マークファイルが存在すれば,そのマークファイルを除いたファイルがマークされる.
また,反転命令ということは,もう一度A
を押せばマークをクリアできる.
なお,A
は反転命令であって,クリア命令ではないため,一つでもマークがあればクリアにはならない.
本当のクリアの命令はEnd
キーに割り当たっているが,A
で事足りるため,押すことはほぼない.
s-A
は,ファイルに加えディレクトリを含めた両方をに対してA
と同じ操作をする.
これと反転であることをうまく使うと,s-A
→A
のキーを入力することでディレクトリだけマークすることができる.
これは,SHIFT押しながらAA
の二回押しではないことに注意すること.
@
によるワイルドカードマークマーク
Z
設定ー各種登録(9)ーファイルマスクに登録したキーワードによってファイルをマークすることができる.
登録済みのものとして,圧縮ファイル(compress)や画像ファイル(image),オフィス,pdfなど,大体のものが登録されており,DownlodやDesktop等散らかりやすいディレクトリを整理にするのに便利である.
なお,*.*
はすべての意味である.
また,もし用意された拡張子がない場合は,s-*
でマスクを直接入力できる.
:
によるファイルマスク
:
は上記に置いてマークではなく,該当拡張子だけを表示するためのファイルマスクである.
設定した自窓のファイルマスクが設定変更され,常時該当の拡張子のファイルしか表示しなくなる.例えば,pdfに設定したら,pdfファイル以外は非表示になるため,該当のファイルを視認しやすくなる.
なお,デフォルトは*.*
ですべて表示であり,ファイルマスクをもとに戻したい場合もそれを選べばよい.
課題
- 全選択せよ
- ディレクトリだけ全選択せよ
- ワイルドカードマークを使え
- sandbox4においてファイルマスクを設定し,pdfファイルだけ閲覧せよ.その後.に戻して,すべてのファイルが表示できるように戻せ
プログレス
BFINPTUWXYZ-^;]/_0-9F2-12
分割表示(自窓)
大量にファイルがある場合,自窓にすべてのファイルが表示されず,↓
等で移動しなければすべてを確認することができない.
この時,下記ショートカットで表示を分割し,多数のファイルを表示できる.
1
: 1分割表示(もとに戻すの意味)2
: 2分割表示3
: 3分割表示
ファイルが少ない場合,ファイル名が短くなって末尾にただ¥が付いただけになっている.これは,ファイル数が多い場合にはじめて真価がわかる.
なお,多分割表示の時は,←
,→
で逆窓に移動できないため,Tab
で逆窓に移動すること.
なお,デフォルト設定では,9分割まで可能だが,不必要であると思い4~9には別のキーをアサインしている.
課題
- sandbox3のディレクトリを分割表示せよ.
- 表示表示された状態でファイル操作し,逆窓に何かを移動せせ,またその移動したファイルをもとに戻せ.
プログレス
BFINPTUWXYZ-^;]/_4-9F2-12
ファイル圧縮
ファイル圧縮について述べる. ファイル圧縮のショートカットは以下である.
P
: 圧縮して逆窓にファイルを作るs-P
: 個別圧縮c-s-P
: 圧縮して自窓にファイルを作るa-P
: 圧縮メソッドを選んで7zipで圧縮(自窓)
P
(Pack)を押した後,圧縮拡張子を自分で入力して決めることができる(zip, 7z, tarなど).
P
の後メニューで↓
を押せば,リストが一覧で表示できるため,楽に入力できる.
なお,初期選択は,前回の指定したものが履歴として選ばれている.
また,P
を押した後で出るメニューでは,CTRLを押しながら0-9で圧縮率や圧縮のモードが選択できる.
zipの0は,圧縮のないファイルでtarと同じ機能で,処理速度が速いというメリットがある.
7-zipは圧縮のアルゴリズムの選択となる.(アルゴリズムの簡単な説明は福嶋の講義映像メディア通信特論である.)
さらに,書庫を開いた状態で,そこにファイルをコピーするとzipファイルを再圧縮しなくても書庫にファイルを追加できる.
なお,x86のモードではさらにzip圧縮をa-Z
でzip.dllと7.zipのdll選択できる.
しかし,64bitのものは7-zip.dllで7z以外に,zip圧縮を扱っているので,7-zip.dllで圧縮されるようになっている.
選択肢はないので気にしなくてよいが,間違ってキーを押してしまっている場合は,7-zip:5ではなく,zip:5などと表示されてており,圧縮しようとするとzip64j.dllが見つかりませんのエラーが出るので注意.
また,s-Z
のファイルサイズ表示切替でKB,MB表示を数字による表示に切り替えられる.
より詳細なサイズが知りたい場合は切り替えること.
あふを終了した場合は戻る.
なお,Z
キーによる設定で,各種設定(1)ファイル窓とステータスバー表示のファイルサイズをKBMBGBTB表示するのチェックを外すとデフォルトの設定が入れ替わる.
s-P
はすべてのファイルを1つのzipにするわけではなく,1つづつ圧縮する.あまり活躍する場面はない.
c-s-P
は自窓に圧縮ファイルを送るコマンドである.
これは,7-zipを外部ツールとして使っているため,非同期実行となる.圧縮時間が長い場合などに使えるが,コマンドが非同期であることに注意が必要で,圧縮中であってもAFXWの操作が可能になっている.
また,P
コマンドとは圧縮のオプションが異なるため圧縮率が異なる.
a-P
も7-zipを外部ツールとして使うためのオプションであるが編集可能なようにしている.基本はzip,→
,←
で7-zipの各オプションが選べるようになっている.
課題
- zipの圧縮率を選択せよ.
- 7zの圧縮モードを選べ.
- いろんな圧縮でファイル圧縮して,サイズを確認せよ.
- 圧縮済みのファイルに任意のファイルを追加せよ.
- sandbox1\key_menuのファイルを
s-P
で個別圧縮せよ. - 【応用】 7zipのコマンドライン引数を調べ,
a-P
の圧縮メニューに選択肢を追記せよ.
プログレス
BFINTUWXYZ-^;]/_4-9F2-12
コメント
選択肢の中で圧縮速度が最速なのがzip,テキスト圧縮で最も小さくなりやすいのがzipのPPMd,非圧縮の画像ファイルや音声ファイルなどのマルチメディアファイルで最も小さくなりやすいのが,bz2.画面のスクリーンショットの画像などはLZMAが小さくなりやすい.もちろん専用の画像の圧縮を使ったほうが効果は大きい.
なお,32ビット版を使えば,lzhの圧縮やcabによる圧縮が使えますが,必要ないでしょう. zipはzip圧縮を選択したメニューでalt+zを押すと,7z.dllによるzipとzip32.dllによるzipを切り替えられますが,64ビット版のzip64.dllが存在しないため切り替えられません.(deflateの実装が違うため圧縮率に多少の差がありますが,どうしてもzip32.dllで圧縮したいことはまれなので問題ない.)
Zstandardなどで使われるエントロピー符号化のANSが枯れてきたら,zipよりも速くてサイズも小さくなるので,きっとデファクトが置き換わる可能性がある.
コメント2
P
の圧縮と7-zipによるzipの圧縮で7zipのほうが性能が悪い.なんで?オリジナルDeflate実装のせい?32bitで要検証.
ファイル展開
展開(Unpack)のショートカットは以下である
U
:通常の展開で逆窓にファイル名のディレクトリを作成してそこに展開s-U
:自窓にディレクトリを作成してそこに展開c-s-U
:ディレクトリを作成せずに逆窓に展開
Enter
で入れる圧縮ファイルすべて展開できる.
なお,展開時に,ディレクトリ名と拡張子を含めて完全に一致するファイル名が存在すると展開に失敗する.
例えば,hoge.tarのファイルがあるディレクトリでhoge.tar.gzを展開するとエラーが出る.
課題
- 逆窓に展開せよ
- 自窓に展開せよ
c-s-U
の挙動を確認せよ
プログレス
BFINTWXYZ-^;]/_4-9F2-12
コメント
圧縮に対する対義語は,現在は展開が多数派だが,解凍や伸長と呼ぶ人もいる. おそらくWindowsにzipが搭載され,右クリックメニューで展開という日本語訳が付いたからだと思われる. それまでは解凍が多数派だった. しかも,論文的には伸長が一番正しいのでいろいろややこしい.
ここでは,用語を展開に統一した. 英語ならdecodeとdecompressでencodeとcompressで対応をとるだけなので悩む必要がないのに.
シングル窓操作(相対移動)
反対の窓を必要としないコピー・移動命令で特に相対移動するためのコマンドは以下である.ここで相対移動は,一個上の階層への移動や,同階層の別ディレクトリに移動などを指す.
コピー
T
:マークファイルをカーソル上にコピーs-T
:一階層上にコピーc-s-T
:マークファイルをコピー先を指定してコピー
移動
Y
:マークファイルをカーソル上に移動s-Y
:一階層上に移動c-s-Y
:マークファイルをコピー先を指定して移動
そのほか,C
,M
のお気に入りにコピーや,履歴にコピーも活用すると逆窓を同期しなくてもかなりコピーができるようになる.
c-s-
による移動はTab
で補間が聞くため,キーアサインは見直したほうがいいかも.
課題
マークしたファイルを一つ上の階層へ移動させよ.
プログレス
BFINWXZ-^;]/_4-9F2-12
コメント
もともとY
キーが空きキーで,T
のツリー移動もあまり使わないのでつぶした.
YキーはGmailのショートカットのアーカイブがY
なので挙動が似ているので移動にアサイン.
本当は,一階層上をSHIFT無しの挙動にしたほうがよさそうだが,マークファイルをカーソルに移動する操作が複雑なのでそちらの操作を簡単にするようにこの配置にした.
ファイル検索
ファイル検索は*
によるワイルドカードが効く.
例)test*
でtest.txtもtest111.mdも検索にかかる.
検索には以下の4つがある.
c-[a-z0-9]
アルファベットと数字+Ctrlキーで,先頭ファイルに一致したところにジャンプ.連打で次のファイルに移動する.F
で現在開いているディレクトリでファイルをインクリメンタルサーチ.検索中に↓↑で該当ファイルにカーソルが移る.s-F
で現在開いているディレクトリ以下のディレクトリから該当ファイル名を検索.c-s-F
で,現在開いているディレクトリ以下のディレクトリからファイルの中の記述を含めて検索(grep).
なお,Z
設定各種設定(1)ー「一般のファイルの検索は常に部分一致を適用する」と「インクリメンタルサーチは常に部分一致を適用する」を適用すると,文字列の部分的な一致でファイルを探すことができるようになるため使用感が上がる.
チェックがない場合,test111.mdを検索するときにst11というワードでは見つからない.
実際にチェックを外してみて挙動を確認するとわかりやすい.
課題
TBD: 適切な大量のファイルを用意して一つのディレクトリに入れて検索する.
c-[a-z0-9]
で検索・移動せよF
でインクリメンタルサーチせよs-F
でファイルを見つけよ.c-s-F
でgrepの動作を確認せよ.
プログレス
BINWXZ-^;]/_4-9F2-12
google検索
s-L
を押すとGoogle検索が可能である.
これは,Google検索ではc-L
で検索窓に移動するショートカットがあるためで,それを模倣したキーバインドである・
ただしChromeがインストール済みである必要がある. afxw.key内のこれを書き換えれば任意のブラウザでこの機能は使用可能である.
K0031="1076C:\Program Files (x86)\Google\Chrome\Application\chrome.exe https://www.google.com/search?q=$I4"Google"
また,下記はGoogleの検索エンジンの検索クエリの記述方法なので,検索エンジンが変わるとここの書き方も変える必要がある.
search?q=$I4"Google
課題
適当なワードをAFXWからGoogle検索してみよ.
プログレス
BINWXZ-^;]/_4-9F2-12
GUIによる操作
AFXWは基本キーボードによる操作が主体だがマウスによる操作もある程度できる.
ここではマウスによる操作を学ぶ.
GUIによる内部操作
自窓から逆窓にドラッグアンドドロップ(D&D)すると,コピー,移動,圧縮,展開のメニューが出る.
マークがあればマークされたファイルのすべて,なければカーソルで選んだファイルのみ,その命令が発行される.
また,マウスクリックによる動作は下記である.
- クリック(文字の中央らへん):カーソル移動
- クリック(文字の先頭らへん):ファイルマーク
- ダブルクリック:ファイルを
Enter
したのと同じ動作 - 右クリック:ファイルを右クリックしたのを同じメニューが表示(コンテキストメニュ)
課題
マウスによる操作を確認せよ.
プログレス
BINWXZ-^;]_4-9F2-12
GUIによる外部との連携
D&Dを逆窓ではなく,デスクトップやエクスプローラーに対して行うと,エクスプローラーでD&Dをしたのと同じ動作ができる.
- AFXWから外のエクスプローラーにD&D:ファイルの移動
- 外のエクスプローラーからAFXWにD&D:ファイルの移動
- CTRL+AFXWから外のエクスプローラーにD&D:ファイルのコピー
- CTRL+外のエクスプローラーからAFXWにD&D:ファイルのコピー
また,D&D対象がアプリケーション(例えばワードやエクセル)であったら該当のアプリケーションが立ち上がる.
またよく使うのは,ブラウザに対してpdfやマークダウンをD&Dすることをよく使う.
課題
マウスによる操作を確認せよ.
プログレス
BINWXZ-^;]_4-9F2-12
キーボードによるGUI動作のシミュレーション
GUIによる操作はある程度マウスでもシミュレーションできる. いかにマウス操作に相当するキーボードショートカットを示す
_
(右shiftのすぐ左)でファイルを右クリクリックした場合と同じ動作(コンテキストメニューを開く)をする.s-_
: 逆窓にD&Dに近い動作.移動とコピーとショートカット作成のメニューが出る.-
キーでそのファイルをマウスでドラッグアンドドロップした場合と同じ操作となる擬似D&Dができる
擬似D&Dは,mdファイルやpdfファイルをブラウザにD&Dすると挙動がよくわかる.ただし,仮想デスクトップや複数のChromeが起動していたりすると失敗しやすい.
課題
- コンテキストメニューを表示せよ
- 擬似D&Dの挙動を確認せよ
プログレス
BINWXZ^;]/4-9F2-12
その他機能
ここまでで述べた以外の,残る機能について述べる.
ファイルサイズの確認
ディスク上のサイズとサイズの確認,およびディレクトリを右クリックでプロパティを選択するのと同じ動作をする機能がある.
I
:ファイルのディスク上のサイズの確認.s-I
:ファイルのサイズの確認ができる.c-s-I
:コンテキストメニュのプロパティで詳細が確認できる.
ディスク上のサイズは,HDD等のドライブで占有しているサイズ,サイズは,中身を占める実際のサイズである. 実際のサイズよりも大きく占有することで,ファイルのアクセス単位をそろえて読み込み,書き込みを高速化するため,ディスク上のサイズは大きくなる. 詳しくは,サイズとディスク上のサイズで検索.
HDDの容量を削減したいときは,I
で確認,メールで送るときのファイルサイズを見たいときはs-I
確認でよい.
なお,ディレクトリはマーク不要だが,ファイルはマーク必須なので,カーソルを合わせてI
を押すだけではだめでマークが必要.
I
を押さなくても,単体のファイルサイズは見えているので,1つだけのファイルサイズを見たいことはない.
c-s-I
はサイズ以外にもプロパティを設定できるため,サイズ確認以外でも使うことがある.
例えばJPEGファイルなどではExifなどの撮影時の情報が得られたりする.
なお,この機能はマーク不要であるが,一つのファイル,一つのフォルダにしか機能せず,複数ファイルに対しては対応していない.
課題
- 複数のファイルをマークして,ディスク上のサイズとサイズの確認をせよ
2.ディレクトリをマークせず,
I
を押して,そのディレクトリがもつファイルサイズの合計を確認せよ. - ファイルとディレクトリを混合してマークして,同じようにサイズを確認せよ.
c-s-I
でプロパティを確認せよ.
プログレス
BNWXZ^;]/4-9F2-12
ファイルパスコピー
コード編集をしていたり,説明文を書いていたりする時には,ファイルのパスをコピー&ペーストしたい場合が多々ある. 例)以下のファイルのパスをコピーしたい時.
C:\bin\afxw64\7z.dll
その場合は,以下のショートカットが使える.
N
: フルパスをクリップボードにコピーs-N
: ディレクトリだけをクリップボードにコピーc-s-N
: ファイル名だけをクリップボードにコピー
このコマンド発行の後に,c-V
などでテキストエディタなどに張り付ければ利用できる.
また,複数ファイルをマークしていると,以下のように複数ファイルを改行してコピーに入れられる.
C:\bin\afxw64\7z.dll
C:\bin\afxw64\afxgrep64.dll
C:\bin\afxw64\msvcr71.dll
7-zip64.dll
7z.dll
afxgrep64.dll
他にもa-_
で詳細なメニュー付きで同じような動作+α(改行ではなく,区切りなど)ができる.
こちらはあふのデフォルト設定であり,拡張をしなくても元から使える.
メニューをの選択が1ステップ増えるため,ショートカットを割り当てている.
課題
ファイルパスをコピーせよ.
プログレス
BWXZ^;]/4-9F2-12
コマンドライン実行
X
キーでカレントフォルダを窓に入れて,コマンドライン実行s-X
はブランクで同上c-s-X
は出力をあふのメッセージ窓で受ける.なお,cmd /cオプションは削除しないこと.あふが固まる.
課題
- treeコマンド
s-X
キー,c-s-X
キーで試してみよ. - 適当なテキストファイルを
X
キーで起動して,notepadを指定して実行せよ 例)notepad readme.txt
プログレス
BWZ^;]/4-9F2-12
タスクマネージャー関連
/
により各種情報の取得ができる
/
: あふのDLL読み込み状況を表示.ネイティブ動作.s-/
: コンピュータのプロパティc-s-/
: タスクマネージャーを開くa-/
: コントロールパネルメニューを開く
課題
/
によるショートカットメニューの動作を確認せよ
コメント
/
のネイティブ動作は,拡張しない人はほとんど使わないため,ショートカットの割り当てを変えて,もっとマイナーなキーに割り当ててもよいかも.
プログレス
BWZ^;]4-9F2-12
比較マーク・小物ツール
W
:同名ファイル比較マークs-W
:ファイル分割・結合・集中複写,コピー
同名ファイル比較マークは,左右のディレクトリにほぼ同じディレクトリ,例えばtestver1, testver2などの,リネームしてコピーで複写されたディレクトリにおいて,左右の状態のdiffをマークで確認するコマンドである.
これを使えば更新されたファイルがどれかがわかる.
また,s-W
で大きなファイルを分割することでUSBメモリに入りきらかなったファイルを分割して保存して,移動先で結合することで,データを持ち運ぶことができる.
集中複写,移動についてはAFXWCFG.txtを参照のこと.
課題
機能を確認せよ
プログレス
BZ^;]4-9F2-12
画面分割位置の移動
課題
以下は,2画面ファイラの分割セパレータの移動コマンドである.
画面分割は,c-a-→,←,↓,↑
でセパレータを移動できる.
また,極端な状態移動は]
キーに割り振ってある.
]
: 自窓を最大化s-]
: 半々に戻すc-]
:メッセージ窓を最大化c-s-]
:メッセージ窓を元に戻す
なお,c-]
という,CTRL+記号にショートカットが割り当たっていることに注意.先頭へのジャンプは,c-[a-z0-9]
しか効かないため.
CTRLがついたのが,メッセージ窓分割,つかないのが窓の分割の最大化ともとに戻すという挙動に設定している.
なお,メッセージ窓のカーソルを動かすにはs-矢印
である.
上下で1行づつ移動,左右で大きく移動.
課題
c-a-矢印
でセパレータを移動させよ.]
でセパレータを移動させよ.- メッセージ窓を
s-矢印
でスクロールせよ.
プログレス
BZ^;4-9F2-12
窓の状態の保存
自窓のプッシュとポップ
ディレクトリの状態を記憶するためにプッシュとポップが使える.
^
:プッシュs-^
:ポップ 誤動作でディレクトリ移動しないために,s-^
にポップを割り当てている.
逆窓をプッシュとポップのほうが役立つ場面が多そうだが,内部コマンドがない. 次のSET命令で代用可能.
両窓の状態の保存
両窓の状態を,ソートをした状態を含めて保存することができる. ショートカットキーは以下である.
- [4-9] : 状態を保存
- s-[4-9] : 保存した状態に復帰
- 0: 保存した状態を一覧表示 プッシュポップと同様に,誤操作でジャンプしないようにSHIFTをつけたほうがジャンプで,つけないのが保存になっている. 0で一覧表示である.(なお,ジャンプはできない.できる方法がほしい)
この機能は以下の場合で使える.
- 作業をしていて,両窓の状態を保持したいが,一時的に移動したい場合
- コーディングや実験をしている状態など,よく使う作業状態を保存したい場合
なお,現在を保持して,一時的に他の作業をしたい場合は,a-Z
でもう一つAFXWを起動して,作業が終わったらQ
で終了で戻ってくるでも代用可能である.
課題
- プッシュとポップの挙動を確認せよ.
- 両窓を4-9に保存・復帰せよ.
a-Z
で別AFXWを立ち上げて,何か作業をしてQ
で終了させて戻ってくる動作をせよ
プログレス
BZ;F2-12
カスタマイズ入門
よく使うアプリケーションやディレクトリの登録
よく使うアプリケーションやディレクトリを登録しておくことで,普段の作業を効率化できる. 以下では,mnuファイルを活用してこれらの機能を実現したファイルのショートカットを述べる. mnuファイルの編集の仕方は,【応用】に記述してある.
B
: よく使うアプリケーションを起動(ランチャを起動)s-B
: cmdを起動c-s-B
: よく使うコマンドラインツール群を起動a-B
: よく使うディレクトリを起動(ブックマーク);
:上と同じ機能c-a-B
: メニューファイルのテスト用のを行うためのショートカット.普段は使わない(自由に編集してよい).
なお,これらのメニューは→
,←
で循環している(cmdを起動を除く).
よく使うアプリケーションのリストを表示して選択させるような機能のことをランチャーと呼ぶ. 専用のソフトもいくつかあるので試してみるとよい. CraftLaunch が割とおすすめ.
コマンドラインを起動のB
はbashのB.設定した当時はBashを使っていたため.また,bookmarkのBと覚えてもいい.
このキーに割り当てている理由は,両キーともデフォルトが空きキーだから.
また,このメニューはカーソルが当たっているディレクトリやアプリケーションをadd/delで追加削除できる.登録がなったら登録,登録済みなら,削除をトグルする. ランチャもブックマーク登録も文法的な違いはないため,混合して登録もできる(分けたほうが分かりやすい)
なお,Editでファイルの編集ができる.
AFXWのmnuファイルは,SJISでないと文字化けするため,エディタによっては,デフォルトがSJISでないため編集時に文字化けする.
編集後AFXWの表示が文字化けするようになったら該当するmnuファイルにカーソルを当てて,s-F11
でnkfコマンドにより強制的にSJISに変換できるようにショートカットが割り当ててある.(c-s-B
にもnkfある)
課題
- ショートカットのランチャを起動せよ
- ブックマークを起動せよ
- ブックマークの登録・解除をせよ.
- アプリケーションの登録・解除をせよ.
- 起動して→←でメニューが切り替わるのを確認せよ.
プログレス
ZF2-12
外部ツール連携
キー定義(8)にファンクションキーによるキーアサインが記述してある. AFXW.keyに書くこともできるが,こちらのほうが編集しやすい&記述ルールを統一するため,ファンクションキーのショートカットはすべてここに記述してる.(画像モードテキストモードは除く)
現在アサインされているのは以下である.
F1
: ヘルプF4
: メモ帳を起動F5
: 左右窓リロードF7
: image magickによる画像のpdf変換F8
: pdfcropによるpdfのトリミングF9
: winmergeによるDIFFF10
:touchs-F11
:nkfF12
:gnuplot
メモ帳を起動
最も簡単なファンクションキーの拡張方法のサンプルとして. win+Rのファイルを指定して実行で動く,パスの通ったコマンドなら,ただここにコマンドを書いておけば,ショートカットになる.
Image Magick
Image Magickがインストール済みである必要がある.
として,下記コマンドで任意の画像ファイルをpdfに変換する.
magick input output.pdf
これを内部命令のEACHを使ってマークファイルすべてに適用する. 出力は自窓に設定. texで文章を書く時に,画像を事前にpdfでラップしておくとコンパイルが速くなる. なお,jpegファイルなら,jpegファイルをpdfでラップした出力であり,bmpをpdfに変換するよりもファイルサイズは小さい.
pdfcrop
Tex環境がインストール済みである必要がある.
パワーポイント等からpdfを生成したときに,余白を削除するためのコマンド. texで書くなら必須.
以下のコマンドを内部命令EACHによってマークファイルすべてに適用する.
pdfcrop input.pdf
nkf
カーソルファイル,マークファイルをSJISに変換するオプションをアサインしている.誤動作防止のためSHIFT+F11.
nkfはインストール不要.
GNUPLOT
GNUPLOTがインストール済みである必要がある. (相対パス指定されており,で,C:\bin\gnuplotにある必要あり.)
なお,gnuplotは引数取らないので,解除してランチャから呼び出せば十分かもしれない.ただ,AFXWから起動すると,起動されたディレクトリをカレントディレクトリとしてgnuplotが起動するので,cdコマンドを打たなくてよい.(これを実現するためにファンクションキーに割り当てる必要もないのでなおさら消してもいいかも.)
課題
それぞれ試せ.
プログレス
Z
各種設定
何度も出てきたがZ
は各種設定を行える.
拡張を始めた場合は,c-s-Z
をよく押すはず.
Z
: 設定s-Z
: 設定2c-s-Z
: テキストによる設定のメニュー表示a-Z
: 新規にAFXWを立ち上げるc-a-Z
: 新規に管理者モードでAFXWを立ち上げる
課題
各種設定を変更してみよ.
プログレス
おわりに
基本の演習はここまでです. あとは,一週間,エクスプローラを使わない縛りで生活すると,エクスプローラを捨てることができます.
研究室向け 次に演習をする人のために課題を,sandboxを充実したり記述を詳しくしたりしなさい(一人2つ).
【応用】 カスタマイズ発展
そのうち更新する.
置換マクロと内部命令を覚えれば,大体のことができるようになる. これらの命令は,以下で使用できる.
- ファンクションキーへの割り当て(
Z
の設定) - AFXW.keyでのキーカスタマイズ
- mnuファイルによる拡張
ファンクションキーへの割り当て
Z
の設定では,以下に命令を割り振ることができる.
- ファンクションキー
- SHIFT+ファンクションキー
- CTRL+ファンクションキー
- テンキー
その他複合キーにキーアサインしたい場合は,AFXW.keyに直接記述する必要がある.
もっとも簡単命令は,上記のメモ帳を起動のようにパスの通ったアプリケーション名を書くだけである.
より複雑な命令として,置換マクロによって,自窓や逆窓の状態を取得してコマンドライン引数としてとることができる. 例えば,以下のコマンドでは,カレントカーソルのファイルをjpgファイルに変換する命令をimage magickを使ってコマンドラインから呼び出せる.(cmd /cが必要かも)
magick $F $W.jpg
また,複数のマークファイルに対応するには,内部命令のEACHを使うことで,1行づつ命令を発行するようなことができる.
&EACH magick $F $W.jpg
よく使う置換マクロ
AFXWCFG.TXTより抜粋
ファイル名
$F ..... カーソル位置のファイル名。
$W ..... カーソル位置の拡張子を除いたファイル名。
$E ..... カーソル位置のファイル名の拡張子。
パス名
$P ..... 自ファイル窓のパス名。(末尾に \ は付きません)
$O ..... 他ファイル窓 〃 。( 〃 )
$L ..... 左ファイル窓 〃 。( 〃 )
$R ..... 右ファイル窓 〃 。( 〃 )
マークしたファイル
$MS ..... マークされたファイル名を並べます。(ファイル名のみ)
$MF ..... マークされたファイル名を並べます。 (フルパス)
上記2つはマークがない場合、カーソル位置のファイル
1つを対象とします。
$MO ..... 他方のマークされたファイル名を並べます。(フルパス)
他方にマークがない場合…
・$ の次の M を大文字で記述した時($MO)は
コマンド自体がキャンセルになります。
・$ の次の m を小文字で記述した時($mO)は
ヌル文字に置き換わります。
内部命令EACH
&EACH (switch) [command]
..... マークされたそれぞれのファイル上に
カーソルがあるものとして順次 [command] を
実行します。
1つ1つ実行終了を待ちます。
[command] に内部命令は使えません。
&EACHNW (switch) [command]
..... &EACH の終了待ち無し版です。
&EACH系のスイッチは - から開始して LRPO の4つを指定出来ます。
スイッチとコマンドの間は1バイトスペースを1つ入れてください。
スイッチ無指定の場合、明示的に更新は行われません。
P ... &EACH(NW)実行後、自ファイル窓を更新します。
O ... 〃 他ファイル窓を 〃 。
L ... 〃 左ファイル窓を 〃 。
R ... 〃 右ファイル窓を 〃 。
例)
&EACH -O cmd.exe /c copy "$P\$F" "$O\"
→ &EACHコマンド終了後、必ず他ファイル窓を更新します。
&EACH -LR converter.exe "$P\$F"
→ &EACHコマンド終了後、必ず両ファイル窓を更新します。
mnuファイル
mnuファイルの文法
例:
afx mnuのサンプル
"C 逆窓にコピー" ©TO "$O"
"s-C 登録フォルダにコピー" &SENDKEY 1067
========デフォルト設定==========
"========デフォルト設定NOP 版======" &NOP
"c-s-C 逆窓にFastCopyで非同期コピー" $~\fastcopy\fastcopy.exe /cmd=update /auto_close $MF /to="$O\"
"a-C 履歴にコピー" ©HIS
"c-a-C フォルダを指定してコピー"©TO !
"a-s-C これは実際は作ってないけどテスト用に作成したcmdによるコピーをafxexecで閲覧" $~\afxexec.exe cmd.exe /c copy $MF $O
;コピーのヘルプ
1行目:冒頭にafxでメニューファイルであることを示し,スペースを開けて窓のタイトル (AFXWでもいいし,スペースがなくてもいいがwで始まる文字などがぶつかるのでスペース開けたほうがいい.)
2行目以降が命令で,1行単位で命令が書かける. “” でくくった範囲が窓に表示される文字,それ以降は窓を選択したときに実行される命令である. 命令は,&で始まるAFXWに対する専用の内部命令やコマンドラインの命令を書くことができる. また引数の環境変数展開もできる.例)$O:逆窓のディレクトリ,$MF:マークしたファイルのパス. 各種コマンドのヘルプはここを確認(AFXWCFG.TXTより抜粋). さらに,afxexecを使えば出力結果をメッセージ窓で受け取ることもできる.
"”でくくらずにただの文字列を書いてメニューのセパレータ代わりに使うこともできる. ただし,選択もできてしまうので,選択するとコマンド失敗になる.(&NOPでNOP命令でも書いてあげたほうが新設?) なお,2行目以降はセミコロンでコメントがかける. エディタにlispモードなど;がコメントの言語に設定してあげるとコメントが色付けされるはず.
また,下記を定義することでメニューの切り替えも可能である.
afxw.exeがあるディレクトリのlauncher.mnu
(B
で呼び出しているメニュー)ではそれを使っており,→←でメニューが切り替えられる.
;L="←キーで開くメニューファイル名"
;R="→キーで開くメニューファイル名"
それを参考に使うとよい.
呼び出し方
ファンクションキーや,その他キー(あまりのキーはないので,s-c-a-などの組み合わせで開いているキーや,いらないキーをつぶして)に以下の内部命令&MENUを割り当てる.
&MENU C:\xxxx\xxx\test.mnu
afxw.exeの直下ディレクトリにある場合は,以下でよい.
&MENU $~\test.mnu
$~
は,あふ直下を表す環境パス展開である,なお,階層を表す\
を忘れずに.
環境変数の展開はそのほかOSに記載されているんのも対応している.
$V”環境変数” Ex) $V”USERPROFILE”
なおmnuファイルはSJISで保存すること. デフォルトのUTF-8だと文字化けする. F11にnkfコマンドを割り当てており,強制的にSJISに変換するコマンドが割り当ててあるため,文字化けしたら押すといい.
また,mnuファイルから&MENUコマンドで別のmnuを呼び出すこともできる.
課題
mnuファイルを編集していろいろ設定せよ.
なお,c-a-B
にテスト用のコマンドショートカットも用意している.
コマンドテストはmnuファイルをEnter
でできる.
これは,.mnuに拡張子判別じっこうで,&MENU命令の呼び出しをアサインしているため.
ただし,命令にマークしたファイルを引数としてとるようなものは検証がむつかしいかも.
キーカスタマイズ
AFXW.keyを編集することで,キーカスタマイズができる.
c-s-Z
でテキストで編集するファイルを呼び出すメニューや各種ドキュメントへのリンクを呼び出せる.
なお,今空いているキーはない. 厳密にいえばテンキーとかその他特殊キーなどが開いている. おそらくFunctionキーもいくつか開いていある. また,s-c-aの組み合わせを考えればどれかは開いているし,c-[a-z0-9]のショートカットジャンプをつぶせばキーが一気に開く.
現在のAFXW.keyの冒頭を使って記述方法説明する.
;altの←→で履歴を移動.もともとはc-s-矢印
K0000="4037:3037"
K0001="4039:3039"
;a 全選択
K0002="7065&MENU $~\key_menu\menu-a.mnu"
;b 実行ファイルのショートカットを起動,shift+bでコマンドラインを起動
K0003="0066&MENU "$~\launcher.mnu""
K0004="1066cmd.exe "$P""
K0005="4066&MENU "$~\bookmark.mnu""
K0006="7066&MENU $~\key_menu\menu-b.mnu"
K0007="3066&MENU "$~\command.mnu""
K0008="6066&MENU $~\afxtest.mnu"
;c コピーの設定
K0009="3067fastcopy\fastcopy.exe /cmd=update /auto_close $MF /to="$O\""
K0010="4067©HIS"
K0011="6067©TO !"
K0012="7067&MENU $~\key_menu\menu-c.mnu"
K00xx=がキーのインデックス番号であり,命令毎に固有の数値を持つ. きれいに機能ごとにソートして記述するにはこの番号を自力で打ち直すorコードで生成する必要があるので注意.
=以降の”“でくくったものが命令であり,冒頭が仮想キーコードである.
例えば,B
: 0066,s-B
: 1066, c-B
: 2066, c-s-B
: 3066, a-B
: 4066, c-a-s-B
: 7066などである.
詳細は下記の仮想キーコードを参照のこと.
そのあとは命令が書け,これはmnuファイルと同じである.
また,以下の命令でキーの内容の置き換えができる.
Kxxxx="(入力キーコード):(取替キーコード)"
課題
キーに任意の命令を割り当て,拡張せよ.
Appendix
拡張時のログ
さらに拡張する人以外は読む必要ありません.
- 設定
- キーバインド
- 仮想キーコード:afxw.key編集用
- 内部命令一覧 拡張時の指針を決めたときの考え方.これも読む必要はさらにないかも.リンク
類似ツール
Unix環境ではおとなしくZshを使いましょう.
いろいろなファイルの入手先
- afxw
- afxbkmk.exe
- touch.exe
- fastcopy
- afxkview.exe(現在の配布先不明)
- afx4v.exe
- 内部でテキストモードでファイルを見るためのもの.afxexecで代用したので今は使っていない.
- afxtools
- コントロールパネルの設定はここを参照した.
- xdoc2txt
- gnuplot
- WinMerge
- nkf
- ffmpeg
- UNBYPASS.dll,ifjpeg2k.sph,iftwebp.sph,iftwic.sph,ifjpegt.sph,iftgdip.sph
- ifGifTr.sph,ifPngTr.sph
- axpdf.spi
- axffmpeg.spi
- axpdf.spiと同名の物があるが,こっちじゃない.
- ifwmf.spi
- ifepsgs.spi