Meta + ?というのはESCAPEキーを押してすぐ?キーを押すという意味です。端末によってはAlt + ?でいける端末もあります。または設定でかえられる場合もあります。

使い方

カーソル移動

カーソルキーや, PAGE UP, PAGE DOWNキー、CTRL-P,N,B,F,A,E,D,U,V、Meta-vキーでカーソル移動(emacs風)

ディレクトリ移動

Enterキーでカーソル下のディレクトリに移動
BSキー、CTRL-Hキーで親ディレクトリに移動
'\'キーでルートディレクトリに移動
'~'キーでホームディレクトリに移動

マーク操作

Spaceでファイルマーク(反転)
HOMEで全ファイルマーク(反転)
ENDで全ファイルマーク(反転。ディレクトリ含む)

*でマークメニュー。

[で範囲選択マーク開始
]で範囲選択マーク終了

マークすると一括操作ができる

ファンクションキーを使った操作

F1で全てのファイル操作メニュー
F2で改名
F3で属性変更
F4でファイル編集(EDITOR)
F5でマークファイルをコピー
F6でマークファイルを移動
F7でマークファイルをリンク
F8でごみ箱
F9でディレクトリ作成
F10で新規ファイル
F11で実行
F12でコマンドラインへ移行

ファイル操作

cでマークファイルをコピー
Cでメニューからコピー方法を選んでコピー
mでマークファイルを移動
Mでメニューから移動方法を選んでファイル移動
dでゴミ箱($HOME/mtrashbox)へ移動
Dでメニューから削除方法を選んでファイルを削除
rで改名
Rで改名2
マークしてrで正規表現による改名。(例) gsub_rename /(.+)\.(c$|cc$)/, "\\1.cpp" でマークファイルの拡張子c,ccをcppに改名。
nで新規ファイル作成
Nでその他の新規ファイル作成
kで新規ディレクトリ作成
lでマークファイルのシンボリックリンクを作成
Lでシンボリックリンク作成2
eで編集
Eでファイル名を指定して編集
vでページャの起動
aでファイルの属性変更メニュー
pで圧縮
Pで圧縮2
uで解凍
Uで解凍2
gで文字列検索。行番号が書いてある行でEnterを押せば$EDITORがその行番号で起動する。
Gでメニューから文字列検索
Sで文字列置換
bで現在のディレクトリでコピーファイルの作成


#でsudoによるファイル操作

コマンドライン操作

hでコマンドライン
Hでコマンドラインメニュー
:でシェル起動
!でGUIファイルマネージャー起動
xで実行
Meta+xでrubyスクリプトの実行。マーク中のファイルの配列を得たい場合はadir_markを使ってください。
例)マークファイル全てのファイルの名前にaを加えたい。

adir_mark().each do |f|
File.rename(f, f+"a")
end

TABで補完。TABを2回押すと補完候補のメニュー選択。

ディレクトリ指定時はCTRL-Wの後方単語削除が便利というか必須です

CTRL-Rでヒストリ検索。cdplayCTRL-Rでcdplayを含むヒストリを検索。

meta-hで現在入力中のコマンドのman

先頭にスペースがあるとヒストリにコマンドを追加しない。

zshのように一部のコマンドに細やかな補完があります。ためしにkill [TAB]を押してください。
apt-get, dpkgのパッケージ名補完があります。Debian系のディストリビューションでは便利に使ってもらえると思います。

1,2,3,..,9でCTRL-Zでサスペンドしたバックグランドジョブを前面に出すことができます。(対応するジョブ番号のジョブが前面に出る)

インクリメンタルサーチ

f, /でファイル名のインクリメンタルサーチ(先頭一致)。F,Meta-/でインクリメンタルサーチ(部分一致)。Enterなどで決定。インクリメンタルサーチ中、下キー(CTRL-N)で前方一致を再検索。上キー(CTRL-P)で後方一致を再検索。Spaceでマークして前方一致を再検索。Tabでスペースの変わりに半角スペースを入力します。

migemoは単語の区切りを大文字で英字を入力することでマッチします。

例)
01ほげ
/01Hoge

千と千尋の神隠し
/SenToChihiroNoKamikakusi

漢字ファイル名エンコード変換

Vのfilename_kanjicodeでファイルシステムのエンコードが指定できます。

unknownの場合は端末のエンコードとファイルシステムのエンコードが同じだと仮定します。端末のエンコードと異なるファイル名の場合、エンコードを自動判別して端末のエンコードに変換して表示します。

filename_kanjicodeが指定された場合
指定されたファイルシステムのエンコードが端末のエンコードに変換されて表示されます。

ファイルシステムのエンコードが指定された場合、コマンドラインの実行前にコマンドラインがファイルシステムのエンコードに変換されてコマンドが実行されるので注意してください。(端末のエンコードがutf8でもファイルシステムのエンコードがeucjp ならecho "漢字">>fileのコマンドはfileにeucjpで漢字と入力される)

ファイル検索

findを利用してファイルを条件により検索し、その検索にマッチするファイルを表示する機能。Meta+fにより起動。allはカレントディレクトリ以下のすべてのファイル。nameはファイル名による検索。regexは正規表現による検索。検索対象はパスも含む。例えばカレントディレクトリの./abcというファイルは"abc"はマッチせず".*abc*"がマッチする。modified timeはX日以内に修正されたファイル、modified minはX分以内に修正されたファイル、userはそのファイルの所有者、groupはファイルのグループ、permisionは引数のパーミッションと同じファイル。例えば、755ならパーミッションが755のファイルにマッチ。-111なら実行権のあるファイルにマッチ。sizeは-1kで1Kバイト未満のファイル+1kで1Kバイトより大きいファイルにマッチ。-100cで100バイト未満のファイルにマッチ。typeはfでレギュラーファイル、dでディレクトリ、lでシンボリックリンク、sでソケット、pで名前つきパイプ、bでブロックファイル、cでキャラクタースペシャルファイルにマッチ。詳しくはfindのマニュアルを見てください

gr(e)pは文字列を含むファイルを検索して表示する。gr(E)p -Rはカレントディレクトリから再帰的に文字列を含むファイルを検索して表示。

(l)ocateはハードディスク内でマッチするすべてのファイルを表示。

ディレクトリを移動すれば仮想ディレクトリを終了する。
ESC, CTRL-Gを押せば仮想ディレクトリを終了する。

プレイリスト

好きなファイルで構成した仮想のディレクトリを作成する。
ファイルのフルパスが1行ごとに記述された.listという拡張子のファイルを作成してください。そのファイルを選択してEnterを押せばプレイリストが始まります。

mfiler2を利用してプレイリストファイル(.list)を作成することもできます。Nを押してplay (l)istを選択してください。好きなファイル名を指定してください。その後そのプレイリストに加えたいファイルに移動して$のその他メニューを選んでadd cursor file to making playlistを選択してください。そのカーソル下のファイルがプレイリストファイルに追加されます。

プレイリストには絶対パス表示のstart_playlist2と相対パス表示のstart_playlistがあります。

ディレクトリを移動すれば仮想ディレクトリを終了する。
ESC, CTRL-Gを押せば仮想ディレクトリを終了する。

ソート

sでソートの設定ができます。
nameは名前順でソート。extensionは拡張子順。sizeはファイルサイズ順。timeは更新時間順。permissionはパーミッション順。userはユーザー名順。groupはグループ名順。noneはソート無し。toggle dir upはソート時ディレクトリを上に上げるかどうか。reverseは逆順。

画面モード

Vで画面モードが設定できます。
2dir (a)llは2画面モード。1dir(1)は1画面1行表示。1dir(2)は1画面2行表示。1dir(3)は1画面3行表示。1dir(5)は一画面5行表示。

toggle focusbackはファイル名がはみだした場合、ファイル名の後半部分を表示。toggle removedirはファイル名にディレクトリ名が付く場合、ディレクトリ名を省く(仮想ディレクトリ用)。toggle colorはカラーモードにするかどうか。toggle mtimeは更新時間を表示するかどうか。toggle sizeはサイズを表示するかどうか。toggle userはユーザーを表示するかどうか。toggle groupはグループを表示するかどうか。toggle permissionはパーミッションを表示するかどうか。toggle nlinkはリンク数を表示するかどうか。toggle list modeは一覧表示にする。もう一度選ぶと元のモードに戻る。toggle nameonly modeは名前だけ表示する。もう一度選ぶと元のモードに戻る。

マスク

Vのglob mask, regex Maskでマスクを設定できます。
マスクを設定するとマスクと一致するファイルしか表示されません。glob maskはグロブ(ワイルドカード, *, a[cd]eなど)によってマスクを設定します。regex Maskは正規表現によるマスクです。

マスクを終了するにはもう一度マスクを設定するか.(ドット)を押せばいいです。

"."キーでドットファイルの表示・非表示

ディレクトリスタック

CTRL-Tで現在のディレクトリをタブ化
CTRL-Wで現在のディレクトリを削除
Meta+0-9でタブを前面にだす

ディレクトリウィンドウ操作

oで左右のディレクトリウィンドウのコピー。1画面時カーソル下のディレクトリを開く
Oで左右のディレクトリウィンドウのコピー2
wで左右のディレクトリウィンドウの交換
TABで1画面時2画面にする。2画面時反対側のディレクトリに移動する
qで2画面時1画面にする。1画面時mfiler2を終了する
Qでmfiler2を終了する

ファイルのコピペ

ファイルをマークしてください。その後$ cでコピーをして、好きなディレクトリに移動して$ vすればマークしたファイルがそのディレクトリにコピーされます。$ xの切り取りはファイルを移動します。

他のX端末でコマンド実行

コマンドを別のX端末上で実行する機能

zで次回のコマンド実行がそうなる
Zでもう一回Zを押すまでコマンドの実行がそうなる
コマンドラインではMeta-zを入力するか%tを付けて実行すればそうなります。

注意)この機能を使うためにはXの起動時に環境変数$EDITORにエディッタが, $PAGERにページャ, $SHELLにシェルが設定されている必要があります。設定されていないとeでのファイルの編集などが機能しません。

cygwinで使うにはckが$PATHの通ったディレクトリにある必要があります。

コマンドは$SHELLで指定されたシェル上で実行されることに注意してください。

GNU screenを使った仮想端末機能

疑似タブ付き端末。コマンドの同時並列実行が可能になる。

GNU screen上だとコマンド実行が仮想端末上で行われる。mfiler2はscreen上で実行されているかどうか$TERMを見て判断する。判別に失敗する場合は/usr/local/etc/mfiler.rb($HOME/.mfiler)のoption_gnu_screenをtrueにする必要あり。

注意)GNU screen上でmfiler2を使う場合はscreenを起動する前に環境変数$EDITORにエディッタが, $PAGERにページャが, $SHELLにシェルが設定されている必要があります。設定されていないとeでのファイルの編集などが機能しません。

全てのシェルコマンド実行がバックグランド実行になります。mfiler2上で実行したい場合はコマンドラインに%sをつけてください。

コマンドは$SHELLで指定されたシェル上で実行されることに注意してください。

その他

Meta-Leftキーで戻る

jでディレクトリの移動用メニューが開きます。add current path to jump menuでディレクトリを追加。一つめの引数はタイトル、二つ目の引数はバインドするキー。delete jump menuでディレクトリを選んで削除。clear jump menuでディレクトリのクリア。終了時に設定したディレクトリは保存されます。
Jでディレクトリ移動メニュー

"^"キーでマークファイルをカーソル位置に移動

Ctrl-Lで画面の再描写

iでファイルの情報表示。directoryならサイズ合計。それ以外はfileコマンドの実行。

$でその他のメニュー。

Kでコンパイル(make)ファイル名と行番号のある行でEnterキーを押せば$EDITORが起動します。

yでユーザーオリジナルコマンド
オリジナルのコマンドを追加するには/usr/local/etc/mfiler.rbを$HOME/.mfilerにコピーして$HOME/.mfilerを編集してください。

?でヘルプ

@でドロップ用ウィンドウを表示

CTRL-Cで終了

Counter