mfiler2 manual

## コマンドライン操作

キー | コマンド内容
--- | ---
上, CTRL-P | 一つ上の履歴に移動
下, CTRL-N | 一つ下の履歴に移動
左, CTRL-B | カーソル左移動
右, CTRL-F | カーソル右移動
HOME, CTRL-A | カーソルを先頭に移動
END, CTRL-E | カーソルを最後尾に移動
BACKSPACE, CTRL-H | 一つ前の文字を削除
CTRL-D, DELETE | 一つ後の文字を削除, 文字が無い場合はコマンドラインを閉じる
CTRL-K | カーソルから行末まで削除
CTRL-C, CTRL-G | コマンドラインモード終了
CRTL-J, CTRL-M, ENTER | コマンド実行
TAB, CTRL-I | 入力補完
CTRL-L | 再描写
CTRL-W | 一語前方削除
CTRL-U | コマンドラインクリア
Meta-d | 一語後方削除
Meta-b | 一語戻る
Meta-f | 一語進む
Meta-h | 現在入力中のコマンドのman pageを見る
CTRL-R | ヒストリメニュー選択。何か文字列を打っていれば、その文字列で検索。
Meta-z | X端末機能で実行

## マクロ

マクロ文字列 | 展開内容
--- | ---
%f | カーソル下のファイルの名前に展開される。
%F | カーソル下のファイルのフルパス名に展開される
%x | カーソル下のファイルの拡張子に展開される
%X | カーソル下のファイルの拡張子を除いたファイル名に展開される
%d | アクティブな（カーソルがある方の）ディレクトリ名に展開される
%d2 | 非アクティブな（カーソルが無い方の）ディレクトリ名に展開される
%D | アクティブなディレクトリのフルパス名に展開される
%D2 | 非アクティブなディレクトリのフルパス名に展開される
%m | アクティブなディレクトリでマークされているファイル名の羅列に展開される。マークされたファイルが無い場合はカーソル下のファイル名に展開される
%m2 | 非アクティブなディレクトリでマークされているファイル名の羅列に展開される。
%M | アクティブなディレクトリでマークされているファイル名の羅列に展開される。マークされたファイルが無い場合はカーソル下のファイル名に展開される。(フルパス)
%M2 | 非アクティブなディレクトリでマークされているファイル名の羅列に展開される。(フルパス)
%r | コマンドがshellではなくrubyに渡されて実行される
%R | コマンドがshellではなくrubyに渡されて実行される(返り値を表示しない)
%s | 新しく仮想端末. X端末を作らずにmfiler2内蔵のシェルで実行される。
%S | mfiler2内蔵のシェルではなくsystem関数で実行される。
%t | X端末上でコマンドを実行する。
%q | コマンド実行後待たない。
%Q | コマンド実行後待たない。コマンド実行前画面を消去しない(cursesを終了せずにコマンドを実行する）。新しく仮想端末を作らずコマンドを実行する。ただしコマンドが標準入力を要求する場合画面が固まる。またcursesのrawモード中なのでCTRL-Cなどのシグナルを受け付けない。(すぐにコマンドが実行を終えるような手軽なコマンドを実行する場合につければ画面の再描写をしないのでいいです。)
%% | %に展開される
%o | コマンドを実行してもマークをクリアしない

## 状態問い合わせコマンド

cursor_name, cursor_name_convert | カーソル下にあるファイル名を返す。cursor_name_convertはファイルシステムのエンコードから端末のエンコードに変換したファイル名。
--- | ---
cursor_path, cursor_path_convert | カーソル下にあるファイルのパス名を返す
cursor_ext, cursor_ext_convert | カーソル下にあるファイルの拡張子名を返す
cursor_noext, cursor_noext_convert | カーソル下にあるファイルの拡張子を取り除いた名前を返す
active_dir, active_dir_convert | アクティブなディレクトリの名前を返す
sleep_dir, sleep_dir_convert | 非アクティブなディレクトリの名前を返す
adir_path, adir_path_convert | アクティブなディレクトリのパス名を返す
sdir_path, sdir_path_convert | 非アクティブなディレクトリのパス名を返す
left_dir, left_dir_convert | 左側のディレクトリの名前を返す
right_dir, right_dir_convert | 右側のディレクトリの名前を返す
ldir_path, ldir_path_convert | 左側のディレクトリのパス名を返す
rdir_path, rdir_path_convert | 右側のディレクトリのパス名を返す
adir_mark, adir_mark_convert | マーク中なら、アクティブなディレクトリのマークされたファイルの名前が入ったArrayを返す。マーク中でないなら、カーソル下のファイル名(String)が入ったArrayを返す
sdir_mark, sdir_mark_convert | 非アクティブなディレクトリのマークされたファイル名(String)が入ったArrayを返す
adir_mark_fullpath, adir_mark_fullpath_convert | マーク中なら、アクティブなディレクトリのマークされたファイルの名前が入ったArrayを返す。マーク中でないなら、カーソル下のファイル名(String)が入ったArrayを返す(フルパス)
sdir_mark_fullpath, sdir_mark_fullpath_convert | 非アクティブなディレクトリのマークされたファイル名(String)が入ったArrayを返す(フルパス)
ldir_mark, ldir_mark_convert | マーク中なら、左のディレクトリのマークされたファイルの名前が入ったArrayを返す。マーク中でないなら、カーソル下のファイル名(String)が入ったArrayを返す
rdir_mark, rdir_mark_convert | 右のディレクトリのマークされたファイル名(String)が入ったArrayを返す
ldir_mark_fullpath, ldir_mark_fullpath_convert | マーク中なら、左のディレクトリのマークされたファイルの名前が入ったArrayを返す。マーク中でないなら、カーソル下のファイル名(String)が入ったArrayを返す(フルパス)
rdir_mark_fullpath, rdir_mark_fullpath_convert | 右のディレクトリのマークされたファイル名(String)が入ったArrayを返す(フルパス)
is_adir_left | アクティブなディレクトリが左ならtrueを右ならfalseを返す
is_adir_right | アクティブなディレクトリが右ならtrueを左ならfalseを返す
kanjicode() | 端末のエンコードの設定を返す。"eucjp","sjis","utf8"のいずれか
kanjicode_filename() | ファイルシステムのエンコードの設定を返す。"eucjp","sjis","utf8", "utf8-mac", "unknown"のいずれか

## オプション

$option_afu_copy | trueなら２画面表示時あふ風のコピー(マークしてワンキー操作)falseならコマンドラインで対象ディレクトリ指定
--- | ---
$option_left_right_dir_up | 左ディレクトリがアクティブで左キーを押せば親ディレクトリに上がるかどうか。（右のときも）
$option_enter_cursor_down | ENTERキーによる拡張子別実行で実行後カーソルを一つ下げるかどうか
option_color(true or false) | カラー表示するかどうかの設定
option_individual_cursor(true or false) | 左右のディレクトリ個別にカーソルを動かすかどうか設定
option_isearch_decision_way(String way) | 廃止しました。無意味なオプションです。
option_check_delete_file(true or false) | ファイル削除時に確認をするかどうかの設定
option_check_copy_file(true or false) | ファイルコピー、移動時に確認をするかどうかの設定
option_check_exit(true or false) | アプリケーション終了時に確認するかどうかの設定
option_shift_isearch(true or false) | Shift+英字でインクリメンタルサーチをするかどうかの設定→廃止しました
option_trashbox_path(String path),option_trashbox_name(String path) | ゴミ箱のパスを設定
option_gnu_screen(true or false) | コマンドラインの実行をGNU screen上の別端末で実行するか
option_pty(true or false) | trueならコマンドラインの実行を仮想端末で実行する→廃止しました。
option_bold_exe(true or false) | falseなら実行ファイルを強調表示しない
option_bold_dir(true or false) | falseならディレクトリファイルを強調表示しない
option_color_mark(FixNum color) | マークファイルのカラー。値はMA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_REDのどれか。
option_color_exe(FixNum color) | 実行ファイルのカラー。値はMA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_REDのどれか。
option_color_dir(FixNum color) | ディレクトリのカラー。値はMA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_REDのどれか。
option_color_link(FixNum color) | リンクファイルのカラー。値はMA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_REDのどれか。
option_kanjicode(String kanji) | 端末のエンコードの設定。"eucjp"ならEUCJPとして処理、"sjis"ならShiftJISとして処理、"utf8"ならUTF8として処理
option_kanjicode_filename(String kanji) | ファイル名のエンコーディング。"eucjp"ならEUCとして処理、"sjis"ならShiftJISとして処理、"utf8"ならUTFとして処理、unkownなら自動判別。
option_remain_cursor(true of false) | trueならディレクトリのカーソル位置を保存する。
option_select(true or false) | 無意味なオプションになりました。
option_refresh(true or false) | X端末や仮想端末上でコマンドを実行した後ファイラ画面をリフレッシュするかどうか。cygwinではUNIX DOMAIN ソケットを使うと重くなるようなのでfalseにするといいです。
option_auto_rehash(true or false) | コマンドライン開始時に自動的にPATHを再検索するかどうか
option_read_dir_history(true or false) | 起動時に前回のディレクトリ位置を復帰するか
option_xterm(true or false) | コマンドをx端末上で実行するか
option_remain_marks(true or false) | コマンド実行後や画面の再描写後もマークを残すかどうか。
option_extension_icase(true or false) | key_commandで指定する拡張子やファイル名で大文字と小文字を区別するかどうか(ただし小文字で指定する）
option_visible_fname_execute(true or false) | 実行ファイルの名前に*をつけるかどうか
keymap(FixNum keycode, FixNum p1, FixNum p2,..., FixNum p10) | キーマップを変更する。
set_xterm(String name, String opt_title, String opt_eval, String opt_extra, FixNum xterm_type) | mfilerが使うx端末の名前(name), タイトルを付けるためのオプション名(opt_title), コマンドを実行するためのオプション名(opt_eval), その他のオプション(opt_extra), xterm_type(gnome_terminalはオプションの処理が他と違うので1にする)
set_shell(String name, String path, String opt_eval) | コマンドラインでコマンドを渡すシェルを指定する。nameはシェルの名前、pathはシェルのフルパス、opt_evalはコマンドを渡すオプション
history_size(FixNum size) | ヒストリのサイズを設定する
set_iconv_kanji_code_name(String encode_name, String name) | iconvで使うエンコーディング名を設定する（環境によって名前が違うらしいので必要）。encode_nameは"eucjp", "utf8", "sjis"のどれか。nameは設定するエンコーディング名。

## 画面操作関連コマンド

コマンド | 内容
--- | ---
mclear | 描写の内部メモリをクリアする
mclear_immediately | 直接画面をクリアする
mclear_online(y) | 描写の内部メモリを一行だけクリアする
mmove(y, x) | 内部メモリ上のカーソルを移動する
mmove_immediately(y, x) | 画面上のカーソルを移動する
mprintw(str) | 現在のカーソル位置に文字列を描写(内部のメモリに書かれるだけでmrefreshが呼ばれるまで実際の描写はしない)
mmvprintw(y,x,str) | カーソルを移動して文字列を描写。(内部のメモリに書かれるだけでmrefreshが呼ばれるまで実際には描写はしない）
mrefresh | メモリ上の描写を画面に反映する
mattron(attr) | 描写文字列の属性を設定する。attrはMA_REVERSE(反転), MA_BOLD(強調), MA_UNDRELINE(アンダーライン）MA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_REDのどれか
mattroff | 描写文字列の属性を解除する
mgetmaxx | 画面の最大文字列数(x方向)を返す
mgetmaxy | 画面の最大文字列数(y方向)を返す
mbox(y, x, width, height) | ボックスを描写する
mfiler_view | ファイラ画面を描写する
mis_curses | 現在Minnu's Cursesが起動されているかを返す
minitscr | Minnu's Cursesを始める。コマンドラインから%Qをつけずに起動した時以外はcursesは起動されているので,その場合以外は必要ない。
mgetch | キー入力。配列を返す。一つ目の配列要素はmetaキーが押されているか(1)押されていないか(0)。二つ目の配列要素はキーコード。
mgetch_nonblock | 入力待ちをしないキー入力。配列を返す。一つ目の配列要素はmetaキーが押されているか(1)押されていないか(0)。二つ目の配列要素はキーコード。入力が無い場合は-1を返す
mendwin | Minnu's Cursesを終了する。
wstrcut(RSTRING str, FIXNUM termsize) | strを端末上の文字数分(termsize)でカットしてカットした文字列を返す

## ユーザーインターフェース

message(String mesage, ...) | コマンドライン上にメッセージを描写。messageはフォーマット文字列。cursesが起動されている必要があるので、コマンドラインから起動する場合は%Qが必要
--- | ---
message_nonstop(String mesage, ...) | messageのキー入力待ちをしない版
select_menu(String title, Array(String) select_str) | select_strから文字列を選択して選択された文字列の番号を返す(0から)キャンセルされた場合は-1を返す。cursesが起動されている必要があるのでコマンドラインから起動する場合は%Qが必要。
select_menu_mfiler(String title, Array(String) select_str) | select_strから文字列を選択して選択された文字列の番号を返す(0から)キャンセルされた場合は-1を返す。cursesが起動されている必要があるのでコマンドラインから起動する場合は%Qが必要。mfiler2のファイラ画面が描写時に再描写されます
input_box(String msg, String def_input, FixNum def_cursor | コマンドライン上での文字列入力。msgは質問文。def_inputは入力文字列の初期値。def_cursorはカーソルの初期値。戻り値はArray。第一要素が0なら正常入力。1ならキャンセル。第二要素は入力された文字列。cursesが起動されている必要があるのでコマンドラインから起動する場合は%Qが必要
select_string(String mesage, Array strings, FixNum cancel) | コマンドライン上で文字列の選択。stringsは文字列の配列。cancelはCTRL-C, G, Escapeが押されたときに選択される文字列の番号。返り値は選ばれた文字列の番号。(0からスタート)。cursesが起動されている必要があるのでコマンドラインから起動する場合は%Qが必要

## その他コマンド

mf_exit | プログラムの終了
--- | ---
keycommand(FixNum meta, FixNum keycode, String extension, String command) | カーソル下のファイルの拡張子がextensionの時に(拡張子は小文字と大文字を区別しない)キー(meta, keycode)が押された場合の処理(command)を設定。metaはNOMETA(0)とMETA(1)の二つの値のどちらか、extensionの".execute"は実行ファイル、".dir"はディレクトリ、".link"はリンク、".mark"はファイルがマークされているときを表す。".mark-拡張子"はその拡張子のファイルだけがマークされているときを表す。また"makefile"などドットが無い場合はそのファイル名がカーソル下にある場合実行。
cmdline(String command, FixNum position) | カーソルをpositionの位置にしてコマンドラインにcommandを挿入して移る。positionは1以上なら先頭から0以下なら後方から数える位置に移動。カーソル下のファイルのエンコードに変換されてコマンドが実行される。
cmdline2(String command, FixNum position, String command2) | カーソルをpositionの位置にしてコマンドラインにcommandを挿入して移る。positionは1以上なら先頭から0以下なら後方から数える位置に移動。カーソル下のファイルのエンコードに変換されてコマンドが実行される。command2をコマンド実行後実行する。
cmdline_noconvert(String command, FixNum position, String command2) | カーソルをpositionの位置にしてコマンドラインにcommandを挿入して移る。positionは1以上なら先頭から0以下なら後方から数える位置に移動。command2をコマンド実行後実行する。
cmdline_convert(String command, FixNum position, String encode, String command2) | カーソルをpositionの位置にしてコマンドラインにcommandを挿入して移る。positionは1以上なら先頭から0以下なら後方から数える位置に移動。実行前にencodeのエンコードに変換されて実行される。command2をコマンド実行後実行する。
shell(String command, String title) | コマンドを実行。titleはコマンドのタイトル。
menu(String name) | メニューを開く
defmenu(String menu-name, String menu-item-name, FixNum menu-item-key, String command, ...) | メニューを定義。メニュー名、キー、コマンドの順で引数に渡す
malias(String alias, FixNum arg_num, String command) | aliasをcommandにエイリアスとして設定する。arg_numは引数の数。引数名は#0から#9
refresh | ディレクトリの再読み込みをした後、画面を消去
clear | 画面を消去
reread, reread_adir, reread_sdir, reread_ldir, reread_rdir | ディレクトリの再読み込み
rehash | コマンドライン補完のコマンドを再読み込み
help | ヘルプを表示する
hostname | 現在のホスト名を返す
username | プロセスの所有者名を返す
is_kanji(Fixnum char) | UTFならアルファベットかどうか、EUC,SJISなら漢字の一バイト目かどうか
encode_type(String str) | "eucjp", "utf8", "utf8-mac", "sjis", "unknown"のどれか
set_signal_mfiler2() | シグナルをmfiler2のデフォルトに設定
set_signal_clear() | シグナルを全部デフォルトに設定

## ディレクトリ関連コマンド

dir_move(String path), sdir_move(String path), dir_move_ldir(String path), dir_move_rdir(String path) | パスに移動
--- | ---
dir_back, sdir_back | 一つ前のディレクトリに戻る
dir_exchange | 左右のディレクトリ位置を交換
dir_copy | カーソルのあるディレクトリの位置をカーソルが無いディレクトリに変更

## カーソル関連・ファイル番号関連コマンド

cursor_move(FixNum file_num), cursor_move_sdir(FixNum file_num), cursor_move_ldir(FixNum file_num), cursor_move_rdir(FixNum file_num) | カーソルの移動
--- | ---
set_scrolltop(FixNum file_num), set_scrolltop_sdir(FixNum file_num), set_scrolltop_ldir(FixNum file_num), set_scrolltop_rdir(FixNum file_num) | スクロールトップの位置を設定
FixNum scrolltop.FixNum scrolltop_sdir, FixNum scrolltop_ldir, FixNum scrolltop_rdir | スクロールトップの位置
FixNum cursor. FixNum cursor_sdir. FixNum cursor_ldir. FixNum cursor_rdir | カーソル位置(ファイル番号)
FixNum file_num_max, FixNum cursor_max, FixNum file_num_max_sdir, FixNum cursor_max_sdir, FixNum file_num_max_ldir, FixNum file_num_max_rdir | ファイル数
file_name(FixNum file_num), file_name_sdir(FixNum file_num), file_name_ldir(FixNum file_num), file_name_rdir(FixNum file_num) | ファイル番号のファイル名を返す
file_kind(FixNum file_num), file_kind_sdir(FixNum file_num), file_kind_ldir(FixNum file_num), file_kind_rdir(FixNum file_num) | ファイル番号の種類を返す(0:ファイル1:ディレクトリ2:リンク3:キャラクターデバイス4:ブロックデバイス5:FIFO6:ソケット)
file_linkto(FixNum file_num), file_linkto_sdir(FixNum file_num), file_linkto_ldir(FixNum file_num), file_linkto_rdir(FixNum file_num) | ファイル番号のリンク先を返す
file_user(FixNum file_num), file_user_sdir(FixNum file_num), file_user_ldir(FixNum file_num), file_user_rdir(FixNum file_num) | ファイル番号のユーザー名を返す
file_group(FixNum file_num), file_group_sdir(FixNum file_num), file_group_ldir(FixNum file_num), file_group_rdir(FixNum file_num) | ファイル番号のグループ名を返す
file_permission(FixNum file_num), file_permission_sdir(FixNum file_num), file_permission_ldir(FixNum file_num), file_permission_rdir(FixNum file_num) | ファイル番号のパーミッションを返す
file_mtime(FixNum file_num), file_mtime_sdir(FixNum file_num), file_mtime_ldir(FixNum file_num), file_mtime_rdir(FixNum file_num) | ファイル番号の更新時間を返す
file_num(String file_name), file_num_sdir(String file_name), file_num_rdir(String file_name), file_num_ldir(String file_name) | 引数のファイル名のファイル番号を返す
cursor_left | カーソルを左ウィンドウに移動
cursor_right | カーソルを右ウィンドウに移動
cursor_other | カーソルをもう一方のディレクトリに移動
FixNum cursor_x | ディレクトリのX方向のカーソル位置
FixNum cursor_y | ディレクトリのY方向のカーソル位置
FixNum cursor_maxx | ディレクトリのX方向の最大カーソル位置
FixNum cursor_maxy | ディレクトリのY方向に最大カーソル位置

## マーク関連コマンド

marking,marking_sdir | ファイルがひとつでもマークされていればtrueを返す
--- | ---
is_marked(FixNum file_num), is_marked_sdir(FixNum file_num) | ファイル番号のファイルがマークされていればtrueを返す
mark2(FixNum file_num), mark2_sdir(FixNum file_num) | ファイル番号のファイルをマーク(トグル)する
mark_on(FixNum file_num), mark_on_sdir(FixNum file_num) | ファイル番号のファイルをマークする
mark_off(FixNum file_num), mark_off_sdir(FixNum file_num) | ファイル番号のファイルをマーク解除する
mark_all, mark_all_sdir | マークの反転
mark_all_files, mark_all_files_sdir | マークの反転(ディレクトリを除く)
mark_clear, mark_claer_sdir | マークをクリア
mark | カーソル下のファイルをマーク(トグル)して下に移動
is_remain_marks | option_remain_marksがtrueならtrueを返す
mark_num, mark_num_sdir | マークされたファイルの数

## ソート関連コマンド

sort_kind | 現在のソートの種類を文字列で返す。"name", "name_rev", "extension", "extension_rev", "size", "size_rev", "time", "time_rev", "user", "user_rev", "group", "group_rev", "permission", "permission_rev"のうちのどれか。
--- | ---
sort_name | 名前順にソートするように設定
sort_name_reverse | 名前順(逆順)にソートするように設定
sort_time | 更新時間順にソートするように設定
sort_time_reverse | 更新時間順(逆順)にソートするように設定
sort_user | 所有者順にソートするように設定
sort_user_reverse | 所有者順(逆順)にソートするように設定
sort_group | グループ順にソートするように設定
sort_group_reverse | グループ順(逆順)にソートするように設定
sort_size | サイズ順にソートするように設定
sort_size_reverse | サイズ順(逆順)にソートするように設定
sort_ext | 拡張子順にソートするように設定
sort_ext_reverse | 拡張子順(逆順)にソートするように設定
sort_permission | パーミッション順にソートするように設定
sort_permission_reverse | パーミッション順(逆順)にソートするように設定
set_sort_toggle_dir_up(true or false) | ディレクトリを優先的にソートするか否かを設定する
(true or false)sort_toggle_dir_up | ディレクトリを優先的にソートするか否かの設定を返す

## 表示関連コマンド

view_all | ファイラー画面でファイル名以外の情報も表示する様に設定
--- | ---
view_one_dir | ファイラー画面で1画面表示にするように設定
view_one_dir2 | ファイラー画面で1画面表示(２列)にするように設定
view_one_dir3 | ファイラー画面で1画面表示(3列)にするように設定
view_one_dir5 | ファイラー画面で1画面表示(5列)にするように設定
set_view_nameonly(true or false) | ファイラー画面でファイル名だけ表示する様に設定
(true or false)view_nameonly() | ファイラー画面でファイル名だけ表示するように設定するかどうかの設定を返す
(true or false)view_color | カラー表示するかどうかの設定を返す
set_view_color(true or false) | カラー表示するかどうかの設定。
view_option | 現在の表示オプションを文字列で返す。"all", "one_dir", "one_dir2", "one_dir3", "one_dir5"のどれか。
set_mask(String mask), set_mask_sdir(String mask), set_mask_ldir(String mask), set_mask_rdir(String mask) | マスクを設定する。画面に反映させるためにはディスクの再読み込みが必要(reread, reread_adir,reread_sdir)
String ldir_mask, String rdir_mask | 左右のディレクトリの設定されたマスク文字列を返す
String adir_mask, String sdir_mask | 設定されたマスク文字列を返す
is_screen_terminal | GNU screen上でmfilerが実行されているならtrueを返す
set_dot_dir_mask(true or false) | ドットで始まるディレクトリを表示するかどうかを設定。画面に反映させるためにはディスクの再読み込みが必要(reread, reread_adir,reread_sdir)
(true or false)dot_dir_mask | ドットで始まるディレクトリを表示するかどうかの設定を返す
$view_path_ldir, $view_path_rdir | 描写されるパス名

## ファイル操作

copy(String source_path, Array<String> mark_files, String distination_dir, true or false sdir_is_adir) | source_pathのディレクトリにあるmark_filesをdestination_dirにコピー。sdir_is_adirはソースディレクトリがアクティブディレクトリの場合trueにする
--- | ---
copy_p(String source_path, Array<String> mark_files, String distination_dir, true or false sdir_is_adir) | source_pathのディレクトリにあるmark_filesをdestination_dirにコピー(更新日・オーナー・グループもコピーする)sdir_is_adirはソースディレクトリがアクティブディレクトリの場合trueにする
move(String source_path, Array<String> mark_files, String distination_dir, true or false sdir_is_adir) | source_pathのディレクトリにあるmark_filesをdestination_dirに移動。sdir_is_adirはソースディレクトリがアクティブディレクトリの場合trueにする
remove(String source_path, Array<String> mark_files, true or false sdir_is_adir) | source_pathディレクトリにあるmark_filesを削除。sdir_is_adirはソースディレクトリがアクティブディレクトリの場合trueにする
trashbox(String source_path, Array<String> mark_files, true or false sdir_is_adir) | ファイルをゴミ箱へ移動($HOME/mtrash)。sdir_is_adirはソースディレクトリがアクティブディレクトリの場合trueにする
cut | 現在のカーソル下のファイルかマークされたファイルをカットする
copy2 | 現在のカーソル下のファイルかマークされたファイルをコピーする
past | コピーされたかカットファイルをペーストする
Array get_mclip | クリップボードの内容を返す (Arrayが帰ってくる。０の要素が数値。0がカットされた時,1がコピーされたとき。１の要素が文字列でコピーかカットされたディレクトリ。２の要素が配列でカットかコピーされたファイルのファイル名の配列。
remove_mclip | クリップボードを削除

## X端末機能関連コマンド

xterm_next_toggle | 次回のコマンドをX端末で実行する。
--- | ---
xterm_toggle | コマンドをX端末で実行するオプションのon/off。
xterm(true of false) | コマンドラインをX端末で実行する
xterm_next(true or false) | コマンドを次回X端末で実行する。
is_xterm_on | コマンドをX端末で実行しているかどうか
is_xterm_next_on | コマンドを次回X端末で実行するかどうか

## インクリメンタルサーチ関連コマンド

isearch | イクリメンタルサーチのOn/Offのトグル
--- | ---
isearch_off | インクリメンタルサーチをoffにする
isearch_on | インクリメンタルサーチをonにする
isearch_partmatch | イクリメンタルサーチ(部分一致)のOn/Offのトグル
isearch_part_match_on | インクリメンタルサーチの部分マッチをオンにする
isearch_part_match_off | インクリメンタルサーチの部分マッチをオフにする
is_isearch_on | インクリメンタルサーチがonならtrueをoffならfalseを返す
is_isearch_explore_on | エキスプローラー風インクリメンタルサーチがonならtrueをoffならfalseを返す
isearch_explore(true or false) | エキスプローラー風インクリメンタルサーチをonかoffにする
is_isearch_explore | エキスプローラー風インクリメンタルサーチがonかoffか
isearch_partmach2(true or false) | 部分一致をonかoffにする
is_isearch_partmach2(true or false) | 部分一致がonかoffか

## ディレクトリスタック関連コマンド

tab_new(FixNum tab_num, String path, FixNum scroll_top, FixNum cursor) | タブを作成する。tab_numがタブ位置、pathが作成するタブのパス、scroll_topがスクロールトップ位置、cursorがカーソル位置
--- | ---
tab_close(FixNum tab_num) | タブを閉じる
String tab_path(FixNum tab_num) | タブのパスを返す
FixNum tab_scrolltop(FixNum tab_num) | タブのスクロールトップ位置を返す
FixNum tab_cursor(FixNum tab_num) | タブのカーソル位置を返す
tab_up(FixNum tab_num) | タブを前面に出す
tab_max | タブの数を返す
tab_select | タブを一覧から選択して前に出す

## ジョブ関係コマンド

forground_job(FixNum num) | バックグラウンドジョブを前面にだす
--- | ---
job_num() | 現在のジョブ数
kill_job(FIXNUM num) | ジョブを消す
job_title(FIXNUM num) | ジョブのタイトル

## フック

atexit_hook | the Minnu's Filer2の終了時に呼ばれる
--- | ---
mloop_hook | メインループの開始時に呼ばれる
view_hook | ファイラ・コマンドライン画面の描写後に呼ばれる
view_hook_filer | ファイラ画面の下に描写する場合に使う。返り値の数値分だけファイラ画面が縦方向に縮む。詳しくはmfiler.rbの使用例を見てください
mask_hook_ldir(String fname), mask_hook_rdir(String fname) | ldirは左のディレクトリ、rdirは右のディレクトリ。ディレクトリ読み込みの時に呼ばれる。fnameはファイル名。fnameのファイルを表示したいならtrueを返し表示しないならfalseを返す。デフォルトのマスクを使用したいときはnilを返してください。
cursor_move_hook | カーソル位置が変更された後に呼ばれる
completion_hook(String editing, String editing_dir, String editing_file, String editing_before, Array earray, String cmd, Fixnum editing_position) | デフォルトの補完がなされる前に呼ばれる。editingは現在編集している文字列。editing_dirは現在編集している文字列のディレクトリ部分、editing_fileは現在編集している文字列のディレクトリ部分を省いた部分、editing_beforeは一つ前の文字列、earrayは現在編集しているコマンドライン全ての文字列を空白で区切った文字列の配列、cmdは現在編集しているコマンド名、editing_positionは現在編集している文字列が先頭から何番目か(-から始まる文字列はカウントしない)。

## 補完カスタマイズ関連コマンド

completion(Array array, String editing, add_space) | 補完を開始する。arrayは候補、editingは編集中の文字列、add_spaceは補完後スペースを加えるか
--- | ---
completion2(Array array, String editing, add_space, completion_len) | 補完を開始する。arrayは[候補,説明]の配列の配列、editingは編集中の文字列、add_spaceは補完後スペースを加えるか、completion_lenは候補の最大文字列数
completion_clear() | 補完候補のクリア。補完候補が何も無い時に呼び出してください。
completion_program(String editin_dir, String editing_file, String editing, FIXNUM editing_position) | プログラム名の補完を呼び出す
completion_file(String editin_dir, String editing_file, String editing, FIXNUM editing_position) | ファイル名の補完を呼び出す
completion_mask(String editin_dir, String editing_file, String editing, true or false add_space, String regex) | regexの正規表現に一致するファイルのみを補完候補にだすファイル名の補完

## キーコード定数

定数 | キー
--- | ---
KEY_UP | カーソルキー上
KEY_RIGHT | カーソルキー右
KEY_DOWN | カーソルキー下
KEY_LEFT | カーソルキー左
KEY_INSERT | INSERTキー
KEY_DELETE | DELETEキー
KEY_HOME | HOMEキー
KEY_END | ENDキー
KEY_PAGEUP | PAGEUPキー
KEY_PAGEDOWN | PAGEDOWNキー
KEY_ENTER | ENTERキー
KEY_BACKSPACE | BACKSPACEキー
KEY_SPACE | SPACEキー
KEY_ESCAPE | Escapeキー
KEY_F1 〜 KEY_F12 | ファンクションキー
KEY_a 〜 KEY_z KEY_A 〜 KEY_Z | 英字キー
KEY_CTRL_A 〜 KEY_CTRL_Z | CTRL + 英字キー
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_EQUOL | =キー
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 | _キー