アットウィキロゴ

mfiler4の使い方

mfiler4とは何か?

昔なつかしファイラをUNIXの端末上で再現したソフトウェアです。
ファイラはNECのPC-98(MS-DOS),Sharp x68k,Fujitsu FM-TOWNS上で盛んに作られたソフトウェアで
MS-DOSのcommand.comが使いにくい理由から、当時盛んに作られました。代表作はFD, mintあたりです。
現在でもWindows上でいくつか開発されています。
UNIXの端末上でFDを再現したFDCloneというソフトウェアもあります。
僕の場合は昔使っていたthe Mirin's FilerやWindows上のあふを参考にして作りました。

ファイラを使うことの利点ですが、そんなにあるわけではありません。
UNIX上ではシェルが良く出来ているので、端末上でもファイラを使わなくても大丈夫な場合が多いためです。
ただ、ファイルの整理のしやすさではファイラの方が便利なので
ファイルを整理したい時だけ立ち上げたりしても、良いかもしれません。
(初心者のうちはcp,mv,rmでファイル操作して失敗して取り返しがつかなくなることを必ず経験すると思います)

配布元


コンパイル

mfiler4はパッケージになっていないディストリビューションが多いです。例外はFedoraで、Fedoraではyum install mfiler4でインストールできるはずです。
手動でコンパイルするには以下のパッケージの依存関係を解決します。
gcc, GNU make, libc, libm, libncurses(w), libreadline, libxyzsh, liboniguruma, (libcmigemo)
です。
xyzshもパッケージになっていないので、先にxyzshをコンパイルしなければいけません。
あとのパッケージはyumやapt, portなどでインストールできるでしょう。バージョンは新しめの物が必要です。
ncursesはncurseswの方を入れないと日本語が表示できません。(というかUTF-8文字が)
libcmigemoは任意です。あった方が便利ですが、migemoが使うメモリの量は凄まじく、migemoをリンクすると
GUIのファイラと同じくらいメモリを消費します。(migemo無しで7M程度のメモリ消費、migemo有りで30M程度のメモリ消費)
しかし、migemoでのインクリメンタルサーチがmfiler4を使う理由の1つにはなると思います。

パッケージの依存関係が解決できたら、以下のコマンドを入力します。
./configure --with-optimize --with-migemo --with-system-migemodir=/usr/local/share/migemo
make
sudo make install

/usr/local/share/migemoはmigemoの辞書ファイルがある場所です。
このときutf-8の辞書も必要です。作り方はnkf -w 辞書ファイル名 > /usr/local/share/migemo/utf-8/辞書ファイル名とすればいいです。

migemo無しの場合だと

./configure --with-optimize
make
sudo make install

でいけるはずです。

コンパイルエラーが出たら、[email protected]までご連絡ください。サポートします。

カーソル操作

矢印キーでカーソルを移動させます。C-p,C-n,C-f,C-bなどのemacs風のカーソル移動もサポートしています。
残念ながら、vim風には移動できません。
C-a, C-eでカーソルトップやカーソルボトムにも移動します。
vim使いの僕はたまにggなどとやってしまい混乱してしまいます(w;
スクロールはPageUp,PageDownやM-v,C-vなどemacs風、またvimのようにC-d,-C-uもサポートしています。

mfiler4の終了

qかCTRL-Cで終了できます。qは2画面時は1画面になってしまいますが、もう一度押せば終了できます。

ディレクトリ移動

Backspace,C-Hで親ディレクトリに移動します。ディレクトリにカーソルをあわせてENTERキーで、そのディレクトリに移動できます。
¥でルートディレクトリに移動します。
~でホームディレクトリに移動します。
jは登録したディレクトリに移動できます。お気に入りのようなものです。
(Add current directory to jump mmenuで登録、Clear jump mmenuで登録のクリアです。~/.mfiler4/jumpをテキストエディッタで直接編集する手もあります。この場合1行に1ディレクトリを書いていけば良いです。)
Hでそれまで移動したディレクトリの一覧がでます。
Jでコマンドラインで移動することができます。このとき覚えておいたら良いのはC-wでの後方単語削除です。ディレクトリ1つだけ削除できます。
meta + l, meta + rでディレクトリを戻る、進むが使えます。

ファイル操作

さて、肝心のファイル操作です。操作はWindowsのあふに似ていてファイルをマークしてから、c,mなどを押してファイルをコピーしたり移動したりさせます。
マークは
SPACE カーソルの下のファイルをマーク反転。
[,] で範囲マーク。[が始点の設定で]が終点の設定です。マークを反転させます。反転するのがミソで先にマークしたくないファイルをマークしておけば、この範囲マークでそのファイルだけ外すことができます。
HOME, meta + a ディレクトリ以外のファイルをマーク反転。
END, meta + e ディレクトリも含んだ全ファイルをマーク反転。
です。

マークをしたら、cを押せば、2画面時なら反対側のディレクトリにコピーします。
mで移動します。
1画面時は、コピー先をコマンドラインで指定します。このときC-wの単語削除を覚えておくとディレクトリを1つだけ消せて便利に指定できます。もちろんこの時もコマンドライン補完が効きます。
CやMはcpやmvを使ったコピーや移動です。なぜ、このようなものをわざわざ用意してあるかというと&を付けるとバックグラウンドでコピーや移動ができるためです。

dでマークしているファイルをゴミ箱に移動します。ゴミ箱は(~/.mfiler4/trashbox)にあります。
Dでマークしているファイルを完全に削除します。

rでファイルの改名です。コマンドラインに移動します。このとき覚えておくと良いのはやっぱりC-wでの後方単語削除です。
マークしてからrで正規表現の改名です。*.cファイルを*.hに変えたい場合は*.cをマークして
regex_rename '¥.c$' '.h'
とすれば良いです。

lでリンクを作成できます。操作はc,mと似ています。ただし作れるのは絶対パスのリンクです。相対パスの場合はコマンドラインで直にln -sを使ってください。(man ln)

nで新規ファイルを作れます(空ファイル)
kで新規ディレクトリが作れます。bak/vim/pluginなどと深くしてもちゃんと作成されます。

bでバックアップファイルを作成します。

aで属性操作メニューから属性を操作します。

uで圧縮ファイルを解凍します。Uの場合は自身のディレクトリで解凍、uの場合は反対側のディレクトリで解凍です(2画面のとき)
p,Pで圧縮ファイルを作ります。Pの場合は自身のディレクトリで圧縮、pの場合は反対側のディレクトリで圧縮です。

ファイルの編集、実行

eでvimでファイルを編集します。emacsの場合は、現在開いているemacsプロセス上で開きたい場合はemacsclientを使えば実現可能だったはずです。そのように設定ファイルを編集してみてください。
alias vim ( sys::emacsclient )だけでOKだと思います。
このときC-zを押したら、どうなるかというとmfiler4上でjobが作られて、サスペンドされます。
タイトルの上に[1]vim note.txt [2]vim note2.txt
などと書かれるはずです。このときジョブ番号に対応する数字キーを押すと、そのジョブをまたフォアグランドに持ってくることができます。(編集の再開)

vでlessでファイルを閲覧します。lvにしたい場合は
alias less ( sys::lv )
などと設定ファイルに書いておけば、lvで開かれます。

ENTERキーでそのファイルにコマンドを指定して実行することが出来ます。例えばOSXなら
ENTER --> sys::open とタイプしてENTERを押せば、ファイルを開くことができるはずです。
sys::をタイプするのが面倒な場合は
~/.xyzsh/xyzsh.xyzshに
install_all_external_program_to_root_object
と書いておけばsys::を省略できます。

xでカーソル以下のファイルを実行できます。主に./configureくらいかな?使うのって。

コマンドライン

hでコマンドラインに移動することが出来ます。
僕の使い方ですけれども、僕は主にコマンドラインで操作しているので、mfiler4を立ち上げて作業ディレクトリまで
移動したら、hを押して、あとはコマンドラインで色々と作業をします。
で、作業ディレクトリを変えたくなったら、C-dでコマンドラインを閉じて、mfiler4でディレクトリを移動して、またhを押して作業をします。
ファイルの操作はコマンドラインではやりにくいので、ファイル操作をしたい場合は、C-dでmfiler4の画面でファイル操作をします。
このような使い方でもmfiler4は便利です。
hでのコマンドラインでのジョブはmfiler4上でもシームレスで、作ったジョブはどちらでも保持されます。
あ、そういえば、exitした場合はジョブが残っているとファイラ画面に戻れませんが、C-dの場合はファイラ画面に戻れます。
(exitはジョブの存在をチェックするため)

":"でbashを起動できます。たまにチェック用に使ってます。

!でファイルマネージャーを開きます。主に画像ファイルの整理用に使ってます。そうなんです、mfiler4は画像ファイルの整理には使えないんですよ、、、。

メニュー

sでソートメニューを表示します。ソートの種類は豊富です。このとき、仮想ディレクトリ下でもソートが出来るのでFを押して、現在のディレクトリ以下の全てのファイルを表示 --> sでパーミッションでソート --> 実行ファイルだけ見つけ出す
などということも出来ます。
(M)askは正規表現にマッチするファイルしか表示できないようにします。
例えば'^.+¥.c$'だとCソースファイルしか表示できないようにします。これはディレクトリを移動しても、マスクは続きます。
マスクを辞めたくなったら.を押せばいいです。

Vは表示オプションの操作です。パーミッションを表示したり、タイムスタンプを表示したりします。
普通は、ファイルサイズとタイムスタンプを表示するんじゃないでしょうか。
あとはtoggle fname (d)vide extensionというのは拡張子をわけて表示するかどうかです。多分分けておいた方が見やすいです。
file size view wayというのはHumanでk,M,G表示します。NormalはMだけ表示します。
toggle (c)olorもカラー表示しておく方がいいでしょう。
あとは1画面表示、2画面表示を設定できます。
この設定はmfiler4が終了する時に保存されます。保存先は~/.mfiler4/statです。
保存処理はmfiler4.xyzshの中で行なっているので、読めば分かるかもしれません。
(すみませんが、xyzshは慣れていないと読みにくいかもしれません)

.でドットファイルの表示をトグルします。

タブ

C-t, C-w タブを作成します。タブはスタックのようなもので、退避していたディレクトリはC-wで戻ります。
一時的にワーキングディレクトリで操作したい場合はC-tを押すと便利です。
meta + 1-9でタブ化したディレクトリを前に持って来れます。この場合はスタックを無視してランダムアクセスになります。

2画面でのディレクトリパス操作

wで2画面のディレクトリのパスをそれぞれ交換します。
oでディレクトリのパスをコピー。
Oで非アクティブ側のディレクトリのパスをアクティブ側のパスにコピー。

qとtabキー。

tabで1画面時、2画面にすることができます。
qで2画面時、1画面にすることが出来ます。

こういう使い方ができます。主に1画面で作業をして、ファイルのコピー先などを指定したい場合、tabで2画面にしてコピー先に移動、コピーをする、終わったら、qで1画面に戻して、作業をする。などです。
2画面より1画面の方がファイルの視認性が良いので、そのようなスタイルでも便利に使えます。
もちろん、常に2画面で作業することもできます。

画面が乱れた時は

C-lを押してください。再描写します。このときディレクトリを再読み込みするので、リフレッシュしたい時もC-lです。

仮想ディレクトリ

vdという内部コマンドにファイルのリストを読み込ませることによって仮想ディレクトリを作ります。
find . | scan './(.+)' | mfiler4::vd
だと現在のディレクトリ以下の全てのファイルの一覧を得ることができます。
(findのオプションで好きに仮想ディレクトリを作れます。詳しくはman findしてください)
このときもcでのファイルコピーやeでのエディットなどファイル操作をすることができます。
仮想ディレクトリを終わらせるにはBackspaceなどディレクトリを移動してください。

Gである文字列を含むファイルの仮想ディレクトリを作成します。-Rを付ければ、その下のディレクトリも検索します。

インクリメンタルサーチ

f,/ でインクリメンタルサーチです。マッチする名前のファイルにカーソルが移動します。migemo付きでコンパイルした場合、migemoでマッチングを行ないます。(日本語ファイル名にローマ字入力の英字でマッチング可能)
マッチさせた状態で下キーを押すとさらにマッチングを行ないます。上キーで上に戻ります。
このときSPACEでマークもできます。

高度なマーク

"*"でグロブマークです。*.cとすれば、全てのCソースをマークします。このときマークは反転なのであらかじめ、除外するファイルをマークしていれば、除外できます。
"+"で正規表現マークです。正規表現にマッチするファイルをマークします。

mgrep

文字列を検索して、その結果のリストからファイルと行番号を選択して、vimを立ち上げます。
最終更新:2014年01月26日 23:54