このプログラムについて
    Linuxで動くコンソールファイラです。
    ファイルのコピーや移動、削除、改名、検索、解凍などが行えます。
    うりはシェルスクリプト言語saphireを組み込んでいて簡単なプログラム(スクリプトと呼ぶ)を実行できることです。

使用上の注意
    このプログラムの実行は自己責任で行ってください。ファイル操作やプログラムの実行という重要な操作を行うプログラムであるという認識は作者にもあり、しっかりとデバッグを行っていますが、もし見過ごしている不具合があって、実行結果によって使用者が被害を被っても作者は責任は持てません。このことが承知できる方だけ使用してください。

コンパイルの仕方
    コンパイルするためにはまずmfiler3が使っている（依存している)ライブラリをインストールする必要があります。

    mfiler3が依存しているプログラム、ライブラリは

    gcc (コンパイラ)。
    Cライブラリ。
    ncurses (端末制御ライブラリ。画面に文字列を任意の場所に表示するためのライブラリ。このライブラリがないとmfiler3やvimのようなソフトは作れません)
    oniguruma (正規表現ライブラリ。正規表現という文字列を楽に操作するため文字列処理用のライブラリです)
    libm (数学ライブラリ。三角関数や指数計算などを行えるライブラリ)
    saphire (シェルスクリプト言語ライブラリ。mfiler3から使えるアプリケーション組み込み用のシェルスクリプト言語です)
    C/migemo (日本語が変換無しのローマ字入力で検索できるライブラリ。このライブラリは無くてもコンパイルできます)

    の７つです。

    gccはFedora, Debian, Ubuntuのいずれもgccという名前のパッケージになってます。インストールしてください。Ubuntuはgccはデフォルトで入ってます。

    Cライブラリは大抵のディストリビューションではデフォルトで入っています。Ubuntuでは2010年2月現在ではlibc6-devという名前になっています。インストールしてください。

    ncurseseは大抵のディストリビューションで最初からインストールされていますが、インストールされているのはユーザー用のパッケージである場合が多いです。コンパイルするためには開発用のパッケージをインストールする必要があります。Fedoraでは開発用のパッケージ名は-develと名づけられていることが多いです。ncursesの場合はncurses-develとなっています。Debian, Ubuntuでは-devというのが開発用のパッケージで、ncursesの場合はlibncurses-devとなっています。

    onigurumaも大抵のディストリビューションでパッケージになっていてFedoraではoniguruma-devel, Debian, Ubuntuではlibonig-devをインストールすれば良いです。

    libmは開発用のパッケージも大抵のディストリビューションでデフォルトでインストールされているはずです。

    saphireは僕が作ったものでパッケージになってないのでコンパイルする必要があります。以下のページで配布してあるのでコンパイルしてインストールしてください。

    シェルスクリプト言語 saphire http://ab25cq.sakura.ne.jp

    C/Migemoはパッケージになっているディストリビューションやなっていないディストリビューションがまちまちです。Fedoraではパッケージ名がcmigemo-develとなっています。Debian, Ubuntuではパッケージになっていないようなので以下のページでインストールしてください。

    Kaoriya.net http://www.kaoriya.net/#CMIGEMO

    ダウンロードするファイルはソースコード 1.3開発版 (MITラインセンス)がいいでしょう。コンパイル方法はダウンロードしたファイルの中のドキュメントに書いてあります。

注) 2010/03 KaoriyaのC/MigemoはUTF8の辞書ライブラリがありませんでした。/usr/share/cmigemo/{eucjp,sjis}か/usr/local/share/migemo/{eucjp,sjis}に置いてある辞書ファイル全てをnkf -w 辞書ファイル名 > /usr/local/share/migemo/utf-8/辞書ファイル名としてUTF-8の辞書を作ってください。

    あと以下のプログラムにも依存しています。

    多言語対応ページャ lv
    高機能エディッタ vim

    lvは大抵のディストリビューションでパッケージになっています。日本語でヘルプを読むために必要です。lessはディストリビューションによっては日本語が化ける場合があるようなのでページャはlvがおすすめです。
    vimは大抵のディストリビューションで入ってます。Linuxで使用するエディッタはvimがおすすめです。

    さて依存ライブラリ、依存プログラムが全てインストールできたら（C/Migemoの使用は任意です)

    mfiler3-version.tgzをダウンロードして作業用のディレクトリで解凍してください。

    tar xvfz mfiler3-version.tgz

    解凍したらできたディレクトリに移動して

    ./configure 
    make
    sudo make install

    もしくは
    ./configure
    make 
    su
    make install

    (make installの実行には管理者権限が必要です)

    実行すれば/usr/local/binにmfiler3コマンドが, /usr/local/etc/に設定ファイルがインストールされます。

    configureでは以下のオプションが使用できます。

    --with-debug デバッグ用の実行ファイルを作成する。メモリリークの検出やgdbでデバッグできる-gオプションをgcc(コンパイラ)に付与します。
    --with-socket プロセス間通信を使ってmfiler3を遠隔操作します。(mfiler3 -e, mfiler3 -Eで）ただしセキュリティ的には問題があるかもしれません。
    --prefix インストールするディレクトリを指定します。たとえば--prefix=$HOMEとすると$HOME/binに実行ファイルが$HOME/etcに設定ファイルが設定されます。デフォルトでは/usr/localです。
    --with-migemo C/Migemoを有効にします。C/Migemoはインストールしただけではmfiler3で使われません。このオプションを指定して有効にしてください。
    --with-optimize コードの最適化を有効にします。Linux以外では有効にしない方がいいと思います
    --with-migemo-dir C/Migemoが標準の場所にインストールされていない場合はインストールされたディレクトリを指定します。
    --with-onig-dir 鬼車が標準の場所にインストールされていない場合はインストールされたディレクトリを指定します。
    --with-saphire-dir saphireが標準の場所にインストールされていない場合はインストールされたディレクトリを指定します。
    --with-system-migemo-dir C/Migemoの辞書ファイルの位置を指定します。

使用するファイル
    /usr/local/bin/mfiler3 プログラム本体
    /usr/local/etc/mfiler3.sa mfiler3の設定ファイルのソース
    /usr/local/etc/mfiler3.sao mfiler3の設定ファイルのsaphire実行形式
    ~/.mfiler3/ mfiler3の状態を保存するディレクトリ。パーミッションは700としてください。
    ~/.mfiler3/history コマンドラインのヒストリを保存する。デフォルトでは1000行まで。
    ~/.mfiler3/jmenu jによるジャンプメニューの設定を保存。詳しくはmfiler3.saを読んでください。
    ~/.mfiler3/stat mfiler3が使っている環境変数の保存先。ソートの並び方やカラーや、ファイル描写の設定などが保存されます。気をつけて欲しいのはPROMPTも保存されることです。mfiler3.saにPROMPTの設定を書き換えても、こちらで保存されているPROMPTが優先されます。詳しくはmfiler3.saを読んでください。
    ~/.mfiler3/mfiler3.sao ユーザーが使用する設定ファイルはここに配置してください。/usr/local/etc/mfiler3.saoのあとに読まれます。saphireの実行形式を作るにはsaphireでcompile mfiler3.saを実行すればmfiler3.saoが得られます。

使い方
    実行中に?を押せば簡単な使い方が見れます。
    ?の実行には多言語対応のページャlvが必要です。

使用するエンコード
    saphireが扱うデータやスクリプトファイルはUTF8, EUCJP, SJISやLF,CR,LFCRのラインフィールドに対応しています。
    mfiler3が使用端末や入力文字はUTF8決めうちです。UTF8端末で実行してください。ファイルシステムのエンコードはUTF8-MAC, UTF8に対応しています。

OSXでのコンパイルや実行について
    nkfでC/MigemoでUtf8-MACの辞書を作る

    sudo bash
    cd /usr/local/share/migemo/cp932
    for i in *; do nkf -w $i > ../utf-8/$i; done

    ./configure --with-migemo --with-system-migemodir=/usr/local/share/migemo
    make && sudo make install

    で作れるはずです。

著作権
    ab25cqにあります。ライセンスはMITライセンスとします。再配布するときは一報してもらえると助かります。

