mfiler3 マニュアル

移動系

カーソル、CTRL-A,E,N,B,F,P
カーソル移動

PAGEUP,CTRL-U,Meta-v, PAGEDOWN,CTRL-D,CTRL-v
カーソル移動多め

BACKSPACE, CTRL-H
親ディレクトリに移動
\
ルートディレクトリに移動

~
ホームディレクトリに移動

ディレクトリの上にカーソルをあわせてENTER
ディレクトリの中に移動
j
ジャンプメニュー
Meta + Left, Meta + Right
戻る、進む

マーク

SPACE
カーソルのファイルをマーク

[,]
範囲マーク。[が開始。]で終了。

HOME
ディレクトリ以外を全マーク

END
全ファイルマーク

*
正規表現マーク。

ファイル操作

c,C
マークファイルをコピー

m,M
マークファイルを移動

d
ファイルをごみ箱(~/mtrashbox)に移動

D
ファイルを削除

e
ファイルを編集
v
ファイルをプレビュー
r
リネーム。マークしてrで正規表現リネーム。

a
属性変更
n
ファイルを作る
k
ディレクトリを作る
b
バックアップファイルを作成
l
マークファイルのシンボリックリンクを作る。
p,P
圧縮
u,U
解凍

ファイラ機能

s
ソート
V
表示モード変更
+
正規表現マスク
f,/
インクリメンタルサーチ
F
仮想ディレクトリ
g
文字列を含むファイルを表示。選択してエディット
G
文字列を含むファイルを表示
K
makeを実行して表示、選択してエディット
:
シェル起動
!
ファイルマネージャーを起動
CTRL + T
ディレクトリ作成
CTRL + W
ディレクトリを閉じる
Meta+0-9
ディレクトリをアクティベイト

コマンドライン

h
コマンドラインに移行
H
コマンドラインに移行。実行結果は別の端末上で表示される。
x
ファイルを実行
ENTER
ファイルにコマンドを実行
1-9
ジョブをフォワグランドジョブにする

その他

CTRL-C, Q
終了

CTRL-L
再描写、再読み込み

TAB
1画面時、2画面にする

q
2画面時、1画面にする

o,O
2画面時、ディレクトリを会わせる
w
2画面時、ディレクトリを交換

.index

.indexというファイルがディレクトリにあれば、そのディレクトリに移動すればcat .index | vdが自動的に実行されます。

フォーカス

最後にディレクトリ移動が行われたmfiler3にはフォーカスが与えられます。端末のタイトルバーが[mfiler3]になっているはずです。そのmfiler3にはmfiler3 -e でコマンドが送れます。mfiler3 -e 'ls'とすれば、lsが実行されます。すべてのmfiler3にコマンドを送りたければmfiler3 -E コマンド、で、pidの分かっているmfiler3にコマンドを送りたければmfiler3 -e pid コマンド、で送れます。

コマンドライン操作

スペシャルマクロ

コマンド全体に影響。コマンドのエントリ部でしか意味がない。
%q
キー入力待ちしない

%Q
キー入力待ちしない。カーシスを終了しない。カーシスを終了しないので出力のあるコマンドは表示がおかしくなります。画面をリフレッシュしないのでコマンド出力のないコマンドでは都合がいいです。

%o
マークをクリアしない
%i
端末のタイトルを変えない
%h
ヒストリに追加しない。
%s
screen -t title -c コマンドと一緒
%t
xterm -T title -e コマンドと一緒

%r
rubyに渡す

マクロ

%f
ファイル名
%F
ファイル名、フルパス
%x
ファイル名、拡張子
%X
ファイル名、拡張子以外
%m
マークファイルの羅列
%M
マークファイルの羅列(フルパス)
%a
全てのファイルの羅列
%A
全てのファイルの羅列(フルパス)
%d
ディレクトリ名

%d2
アクティブじゃない方のディレクトリのディレクトリ名
%D
ディレクトリ名(フルパス)
%D2
アクティブじゃない方のディレクトリのディレクトリ名(フルパス)

設定ファイルについて

~/.mfiler3はシェルスクリプトによるユーザーの設定ファイル
~/.mfiler3.rbはルビーによるユーザーの設定ファイル

シェルの内臓コマンド

全ての内臓シェルコマンドには別名があります。例えばcommandというコマンドにはmfiler3_commandという別名があります。
ユーザー定義の関数の方が内臓シェルコマンドよりも優先されるので、内臓コマンドを上書きすることができます。
上書きした場合はmfiler3_commandで内臓コマンドにアクセスしてください

keycommand meta keycode extension command (title)
metaは0か1, keycodeは
key_up 上キー
key_right 右キー
key_down 下キー
key_left 左キー
key_insert インサートキー
key_delete deleteキー
key_home homeキー
key_end endキー
key_pageup pageupキー
key_pagedown pagedownキー
key_meta_left meta+左キー
key_meta_right meta+右キー
key_meta_up meta+上キー
key_meta_down meta+下キー
key_enter ENTERキー
key_backspace BackSpaceキー
key_f1, key_f12 ファンクションキー
key_a,..., key_z 英字キーa,..z
key_A, ..., key_Z 英字キーA,...,Z
key_space スペースキー
key_ctrl_space CTRL+スペースキー
key_ctrl_a, key_ctrl_z CTRL+英字キー
key_escape escapeキー
key_tab tabキー
key_0,...,key_9 数字キー
key_exclam !キー
key_dquote "キー
key_sharp #キー
key_dollar $キー
key_percent %キー
key_and &
key_squote 'キー
key_lparen (キー
key_rparen )キー
key_tilda ~キー
key_equal =キー
key_minus -キー
key_cup ^キー
key_vbar |キー
key_backslash \キー
key_atmark @キー
key_bapostrophe `キー
key_lcurly {キー
key_lbrack [キー
key_plus +キー
key_semicolon ;キー
key_star *キー
key_colon :キー
key_rcurly }キー
key_rbrack ]キー
key_lss <キー
key_comma ,キー
key_gtr >キー
key_dot .キー
key_slash /キー
key_qmark ?キー
key_underbar _キー

extensionは
"*"で全てのファイル名
"makefile"でカーソルがmakefileにあるときの動作
".cpp"でカーソルが拡張子cppにある時の動作
".execute"は実行ファイル
".dir"はディレクトリ
".link"はリンク
".mark"はマークされているとき
".mark-拡張子"はその拡張子のファイルだけがマークされているとき
ファイル名は大文字と小文字を区別しない

commandは
内臓シェルで実行するコマンド
rubyのコマンドを実行したい場合は%rをつけてください。

titleは タイトル。コマンドにタイトルをつけたい場合にはつけてください

keycommandline meta keycode extension command cur_pos (なんでもよい)
そのキーを押せば、commandを初期値にしてコマンドラインに移行。
なんでもよいがあれば、マクロを展開する。

export var=value

環境変数の定義

[
テストコマンド。条件式です。詳しくはman testしてください。ただし、bashの全ての機能が実装されているわけではありません。
もし、実装されていれていない機能を使いたい場合は/usr/bin/[を使ってください。普通に使う機能は全て実装しています。

defmenu menu_name menu_item_name menu_item_key menu_item_command, ....
メニューの定義。定義したメニューはmenu menu_nameで開けます。
選んだメニューアイテムのmenu_item_commandが実行されます

keymap key_code, key1,..., key10

キーコードの定義。もしHOMEキーなどが効かない端末があれば、HOMEキーのキーコードを調べて定義する必要があります。mkeycodeを実行してキーコード を調べて、このコマンドで定義してください。普通のLinux上の端末やWindowsのPuttyなどは大体こちらで調べて定義してあるので普通は必要ありません。

cd [0-9] [-s] [-] [+] [ディレクトリ]
ディレクトリ移動。0-9で移動するディレクトリの指定。-sでアクティブじゃ方のディレクトリ。ディレクトリを指定しなかったらアクティブなディレクトリを移動させる。-でヒストリを戻る。+でヒストリを進む

rehash
コマンド補完でのコマンドを再読み込み。読み込むのはPATHの通っているコマンド。

menu メニュー名
メニューを開く。

mfiler3_view
画面を描写

mclear_immediately
画面を消去

isearch
インクリメンタルサーチを開始

cmdline [コマンド] [数字] [何でも良い]
コマンドラインに移行
コマンドは最初に描写しておくコマンド
数字は0が先頭、-1が最後
3つ引数があれば、マクロを展開する。なければ、マクロは展開されない。
get_mark [0-9] [-s] ファイル番号
0-9はディレクトリ指定。-sはアクティブでないディレクトリ。ファイル番号のファイルがマークされているかどうかを返す。マークされて入れば1が出力され、マークされていなければ0が出力される。

set_toggle_mark [0-9] [-s] [-a] ファイル番号
ファイル番号のファイルのマークをトグル(マークされて入れば、マークを外す。マークされていなければ、マークをする)

set_mark [0-9][-s][-a] ファイル番号 0 or 1
ファイル番号のファイルのマークを設定。0で外す。1でマークする。

mark_clear [数字][-a][-s]
マークをクリア

mark_all_files [数字][-a][-s]
全てのファイルをマークする。ディレクトリは除く

mark_all_files_and_directory [数字][-a][-s]
全てのファイルをマークする

mask [ディレクトリ番号]
カレントディレクトリのマスク文字列を出力する。ディレクトリ番号が指定された場合はそのディレクトリ。

set_mask [ディレクトリ番号][-a][-s] マスク文字列
マスクを設定

dotdir_mask [ディレクトリ番号]
ドットディレクトリをマスクしているかどうか返す

set_dotdir_mask [ディレクトリ番号][-a][-s] 0 or 1
ドットディレクトリをマスクするかどうかを設定する

sort_markup [ディレクトリ番号]
ソートでマークファイルを上にもってくるなら1を違うなら0を返す

set_sort_markup [ディレクトリ番号]
ソートでマークファイルを上にもってくるなら1を違うなら0を設定

sort_dirup [ディレクトリ番号]
ソートでディレクトリを上にもってくるなら1を違うなら0を返す

set_sort_dirup [ディレクトリ番号] 0 or 1
ソートでディレクトリを上にもってくるなら1を違うなら0を設定

redraw
画面を再描写

reread [ディレクトリ番号][all][-a][-s]
何も指定しなければディレクトリ0とディレクトリ1のディレクトリをハードディスクから再読み込み。(前面の2画面のディレクトリ)
allで全てのディレクトリ。-aでアクティブなディレクトリ。-sで2画面のうちでアクティブじゃない方のディレクトリ

index 文字列 数字
標準出力から読み込んだ文字列中の、引数の文字列を探し、見つかった場所の番号を出力する。数字は何個めの文字列を探すかどうか
echo abcdefg | index cd
> 2

rindex 文字列 数字
indexの右から探すバージョン

toggle 0 or 1
引数が0なら1を出力。1なら0を出力。

chomp
標準出力から読んだ文字列の最後の改行を削ったものをまた、出力する

set_sort_kind [ディレクトリ番号] ソートの種類
ディレクトリ番号が省略されればアクティブなディレクトリのソートの種類を設定する。

toggle_sort_markup [ディレクトリ番号]
ソート時、マークされたファイルを上に上げるかどうかを設定する。トグル

toggle_sort_dirup [ディレクトリ番号]
ソート時、ディレクトリを上に上げるかどうか設定する。トグル

sort
全てのディレクトリをソートする。

load ファイル
ファイルを読み込んでシェルで実行する

eval 文字列
文字列を実行する

vd
標準出力から改行区切りのファイル名のリストを受け取って、仮想ディレクトリを作成する。

vdfinish
仮想ディレクトリを終了する。

open fd fname
ファイルを開く。fdがファイルディスクリプタ。fnameがファイル名

close fd
ファイルを閉じる。fdはファイルディスクリプタ。

read 環境変数1 環境変数2 ,....
標準出力から読み取って、読み取った文字列を環境変数に設定する。読み取った文字列は改行区切りで2個め、3個めの環境変数に入る。

print 文字列
引数の文字列を表示
/bin/echoよりも速い

fg ジョブ番号
ジョブ番号のジョブをフォアグランドに出す

bg ジョブ番号
ジョブ番号のジョブにSIGCONTを送る

new_dir パス
新しくディレクトリを作る。

del_dir ディレクトリ番号
ディレクトリ番号のディレクトリを消す

dir_num
ディレクトリの数を出力する

path [ディレクトリ番号]
ディレクトリ番号のディレクトリのパスを出力する

cursor [ディレクトリ番号][-s]
ディレクトリ番号が指定されれば、そのディレクトリのカーソル位置を出力。-sはノンアクティブなディレクトリ。指定されなければ、アクティブなディレクトリ。

kanjicode
現在の漢字コードを出力

adir
アクティブなディレクトリの番号を出力
sdir
ノンアクティブなディレクトリの番号を出力

job_name ジョブ番号
ジョブ番号のジョブのタイトルを出力

job_num
ジョブの数を出力

mark_files [ディレクトリ番号] 環境変数名 環境変数名2
マークされたファイルを環境変数名[数字(0から)]に代入。マーク数は環境変数名2に入る。

file_name [-s][ディレクトリ番号] ファイル番号
ファイル番号のファイル名を出力。
file_ext [-s][ディレクトリ番号] ファイル番号
ファイル番号のファイルの拡張子を出力。

file_index [-s][ディレクトリ番号] ファイル名
ファイル名のファイル番号を出力。

file_user [ディレクトリ番号] ファイル番号
ファイル番号のファイルのユーザー名を出力。

file_group [ディレクトリ番号] ファイル番号
ファイル番号のファイルのグループ名を出力。

file_perm [ディレクトリ番号] ファイル番号
パーミッション。

file_num [ディレクトリ番号][-s]
ファイル数を出力

row
アクティブディレクトリのファイルのカーソルのある列数を出力

row_max
アクティブディレクトリのファイルの列数を出力

line
アクティブディレクトリのファイルのカーソルのある行数を出力

line_max
アクティブディレクトリのファイルの行数を出力

fcolor regex, red, green, blue
256色モードの時のファイルのカラーを定義。正規表現regexにマッチするファイル名の色。red, green, blueは0-5
init256
256色モードにする。

final256
256色モードをやめる

activate [-s][ディレクトリ番号]
ディレクトリ番号のディレクトリをアクティブにする

length 文字列
文字列の大きさを出力。

msg 文字列
文字列をファイラ画面下に表示

cursor_right
カーソルを右に移動

cursor_left
カーソルを左に移動

cursor_move [-s][ディレクトリ番号] +数字|-数字|/文字列|数字
カーソル移動。数字だけでそのファイル番号の位置にカーソルを移動。/文字列で、文字列のファイル名のカーソル位置に移動。+数字でカーソルを数字分下に移動。-数字でカーソルを数字分上に移動

exit
mfiler3を終了。

input msg default_input default_cursor
文字列入力。msgは出力するメッセージ。default_inputは初期文字列。default_cursorは初期カーソル位置

choice msg str1 str2 ,....
文字列選択。msgは表示するメッセージ。str1, str2,,...から選択。選択された文字列の番号が出力される。

selector ファイルのパス [スクロールトップ位置] [カーソル位置]
パスのファイルを改行区切りでユーザーが選択。選択した行を出力する。

mcp ファイル1, ファイル2, ..., ディレクトリ
ファイル1, ファイル2, ...をディレクトリにコピー。改名コピーはできない。

mmv ファイル1, ファイル2, ..., ディレクトリ
ファイル1, ファイル2, ...をディレクトリに移動。
mrm ファイル1, ファイル2, ...
削除
let 変数="式"
変数に式の結果を代入。
hadd コマンド
ヒストリに追加
hnumber コマンド
コマンドをヒストリから検索してヒットするヒストリの数を返す
related_prog 拡張子
関連付けされたプログラムを返す
related_prog_num
拡張子に関連付けられたプログラムの総数を返す
related_prog_prog 数字
拡張子に関連付けられたプログラムのプログラム名を返す
related_prog_ext 数字
拡張子に関連付けられたプログラムの拡張子名を返す
set_related_prog 拡張子 プログラム
拡張子にプログラムを関連付ける

rubyの内臓コマンド

keycommand(rmeta, rkeycode, rextension, rcommand) キーバインドの定義
rmetaは0か1。メタキーが押されているかどうか
rkeycodeはキーコード
rextenstionはファイルの名前
"makefile"でカーソルがmakefileにあるときの動作
".cpp"でカーソルが拡張子cppにある時の動作
"*"で全てのファイル名
".execute"は実行ファイル
".dir"はディレクトリ
".link"はリンク
".mark"はマークされているとき
".mark-拡張子"はその拡張子のファイルだけがマークされているとき
ファイル名は大文字と小文字を区別しない
keycommand2(rmeta, rkeycode, rextension, rcommand, rtitle) キーバインドの定義、タイトルあり

keycommandline(rmeta, rkeycode, rextension, rcommand, cursor_pos)
そのキーを押せばコマンドラインに移行。マクロを展開しない。

keycommandline2(rmeta, rkeycode, rextension, rcommand, cursor_pos)
そのキーを押せばコマンドラインに移行。マクロを展開する。
keymap(key, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) キーマップの定義。端末によって効かないキーがある場合があります。その場合はmkeycodeでキーコードを調べて設定してください。
fcolor(regex, red, green, blue) ファイルのカラーの定義
shell(command) コマンドの実行。
shell2(command, title)
shell3(command) 出力は文字列として返される
shell4(command, title) 出力は文字列として返される。
adir() 現在のアクティブディレクトリのディレクトリ番号
sdir() 現在のスリープディレクトリのディレクトリ番号
mfiles(dir) マークファイルの名前の配列。dirはディレクトリ番号
files(dir) 全てのファイルの名前の配列
cmdline(command, cursor) コマンドラインに移行。0が先頭cursorは-1が一番後ろ
cmdline2(command, cursor) コマンドラインに移行。0が先頭cursorは-1が一番後ろ。マクロを展開する
defmenu(int argc, * argv, self) メニューを定義
path(num) パス名。numはディレクトリ番号
add_history(cmdline) cmdlineをヒストリに追加
add_history2(cmdline) cmdllineをヒストリに追加。マクロを展開する