1)tar xvfz mfiler2.tgz
2)cd mfiler2-version
3)./configure
4)make
5)su
6)make install
バージョンアップする場合、前のバージョンの設定ファイルが$HOMEにあるとたぶん実行に失敗します。$HOME/.mfilerを消しておいてください。
migemoについてはここを参照ください。
Migemoをmfilerに組み込むためにはC/Migemoでバージョン1.3を落としてきて/usr/local/lib以下にインストールしてください。
/usr/local/lib/libmigemo.so(cygwinの場合は/usr/local/lib/libmigemo.dll.a)があればconfigureがmigemoを検出してmfilerをmigemo付きでコンパイルします。
漢字コードがUTFの場合相当なCPUパワーが必要となります。(Pentium3 755MHzでは実用的な速度はでない)
mfiler
カーソルキーや, PAGE UP, PAGE DOWNキー、CTRL-P,N,B,F,A,E,D,Uキーでカーソル移動(emacs風)
Enterキーでカーソル下のディレクトリに移動
BSキー、CTRL-Hキーで親ディレクトリに移動
'\'キーでルートディレクトリに移動
'~'キーでホームディレクトリに移動
cでファイルをコピー
Cでcpによるファイルコピー
mで移動
Mでmvによるファイル移動
dでゴミ箱($HOME/mtrashbox)へ移動
Dでファイル削除
rで改名
nで新規ファイル作成
kで新規ディレクトリ作成
lでシンボリックリンク作成
eで編集
Eでファイル名を指定して編集
vでページャの起動
aでファイルの属性変更メニュー
@でsudoによるファイル操作
CTRL-Zで1回のみやりなおし(コピー、移動、ゴミ箱移動のみ)
sでソートと表示オプションとマスクの設定
Spaceでファイルマーク
HOMEで全ファイルマーク
ENDで全ファイルマーク(ディレクトリ含む)
*でグロブマーク。グロブ(ワイルドカード)の指定はRubyに準拠。
マークすると一括操作ができる
hでコマンドライン
:でシェル起動
xで実行
TABで補完。TABを2回押すと補完候補のメニュー選択。
ディレクトリ指定時はCTRL-Wの後方単語削除が便利というか必須です
CTRL-Rでヒストリ検索。cdplayCTRL-Rでcdplayを含むヒストリを検索。
meta-hで現在入力中のコマンドのman
先頭にスペースがあるとヒストリにコマンドを追加しない。
oで左右のディレクトリウィンドウのコピー
Oで左右のディレクトリウィンドウのコピー2
wで左右のディレクトリウィンドウの交換
f, /でファイル名のインクリメンタルサーチ。このときaaa...と入力すると先頭がa,Aのファイルの間で移動。Enterなどで決定。
CTRL-Tで現在のディレクトリをタブ化
CTRL-Wで現在のディレクトリを閉じる
Tabキーでタブを前に出す
CTRL-Xでファイルのカット
CTRL-Cでファイルのコピー
CTRL-Vで張り付け
複数のmfiler間でコピペ可能
コマンドを別のX端末上で実行する機能
zで次回のコマンド実行がそうなる
/usr/local/etc/mfiler($HOME/.mfiler)のoption_xtermをtrueにすれば毎回そうなる
疑似タブ付き端末。
GNU screenとmfiler独自実装のふたつある。
GNU screen上だとコマンド実行が仮想端末上で行われる。Solarisなどでは/usr/local/etc/mfiler($HOME/.mfiler)のoption_gnu_screenをtrueにする必要あり。
mfiler独自実装のものを使うには/usr/local/etc/mfiler($HOME/.mfiler)のoption_ptyをtrueにする(デフォルト)。コマンド実行中CTRL-Zを押すとmfilerの画面に戻る。数字キーを押すと、さっきのコマンドに戻る。lsなどの制御端末を行わないものでもCTRL-Zが効きます。
_ kで仮想端末の削除
Meta-Leftキーで戻る
jでコマンドラインでディレクトリ移動
Jでディレクトリ移動用メニュー
Ctrl-Lで画面の再描写
pで圧縮
uで解凍。解凍先を入力。
bでコピーファイルの作成。
iでファイルの情報表示。directoryならサイズ合計。それ以外はfileコマンドの実行。
gで文字列検索1
Gで文字列検索2。行番号が書いてある行でEnterを押せば$EDITORがその行番号で起動する。実行にはRubyが必要。
Fでfind
_でその他のメニュー
?でヘルプ
Escape, qで終了
_ oでコンパイル。行番号が書いてある行でEnterを押せば$EDITORがその行番号で起動する。実行にはRubyが必要。
$HOME/.mfinfoに描写オプション情報とタブ情報が保存される
使用するエディッター、ページャ、シェルを変更する場合は$EDITOR, $PAGER, $SHELLを設定してください。
設定ファイルをカスタマイズする場合は/usr/local/etc/mfilerを修正するか、このファイルを$HOME/.mfilerにコピーして修正してください。設定ファイルは$HOME/.mfilerが優先されます。
ウィンドウシステム上のエディッターを使いたい場合は/usr/local/etc/mfiler($HOME/.mfiler)の
keycommand NOMETA, KEY_e, "*", "shell('%q $EDITOR %f', '%f')"
を
keycommand NOMETA, KEY_e, "*", "shell('%q emacs %f &', '%f')"
などとしてください。
あふ風のコピー(マークしてc)は$option_afu_copyをtrueにすればok
HOME,ENDキーなどが効かない端末の場合、keymapを変更してください。キーコードはmfiler付属のmkeycodeコマンドを実行して調べてください。ひとつのキーに複数のキーコードを登録可能です。
仮想端末機能, X端末機能を使ってファイラからエディッタを複数立ち上げて並列的に作業する場合、エディッタプロセス間のコピーアンドペーストが問題となります。
vimなら
:command -range Copy :<line1>, <line2> write! ~/.vimclip :command -range Cut :<line1>, <line2> write! ~/.vimclip | :<line1>, <line2> delete :command Past :read ~/.vimclip
というマクロを.vimrcに書いておけば: 範囲 Copyでコピー :Pastで張り付けができます。(別プロセス上のvim間でもコピペができる)
emacs -nwなら
(defun save-kill-ring-to-clipboard() (save-excursion (let (cbuf buf) (setq cbuf (current-buffer)) (setq buf (get-buffer-create "tmp")) (set-buffer buf) (yank) (write-file "~/.emclip") (kill-buffer buf) (set-buffer cbuf)))) (defun my-kill-region (begin end) (interactive "*r") (copy-region-as-kill begin end) (delete-region begin end) (save-kill-ring-to-clipboard)) (defun my-yank() (interactive) (set-mark-command nil) (insert-file "~/.emclip") (exchange-dot-and-mark)) (global-set-key "\C-y" 'my-yank) (global-set-key "\C-w" 'my-kill-region)
というマクロを.emacsに書いておけば、CTRL-wとCTRL-yのバッファがemacsプロセス間で共有されます。
ラインセンスはGPLに準拠します。プログラムの実行は自己責任でお願いします。感想や要望などありましたら気軽に掲示版に書いてください。動作レポートやコンパイル失敗した場合のレポートなどをもらえると助かります。あと仮想端末の画面を保存して復帰させる方法をご存知の方おられましたら、やりかたを教えてください。お願いします。
要望やコンパイルエラー、感想などがありましたら、気軽にメールもらえると
うれしいです。
湊 大典 minato.daisuke@gmail.com
screen上でmfilerを使う場合あまり長いコマンドを実行することができません。これはscreenの仕様で引数に長いコマンドをとることができないからです。
$SHELL=zsh、$EDITOR="emacs -nw"とするとeによるエディッタの起動ができません。$HOME/.mfilerの$EDITOR部分を直接emacs -nwに変えてください。
FreeBSD 5.3-RELEASE
Vine Linux 2.6r1
cygwin 1.5.18 on Win2k option_selectをfalseにして正常動作(デフォルト動作)。X端末機能と仮想端末機能で実行したコマンドの子プロセスが作ったファイルをmfiler側で検出できない。CTRL-Lしてください。
Solaris9 on x86
Solaris8 on Sparc
1.圧縮ファイルビュワー
2006年3月28日 version 1.99 migemoに対応しました。
2006年3月23日 version 1.97b @ + cなどでsudoによるファイル操作ができるようになりました。_がその他のメニューです。
2006年3月23日 version 1.97a 半角カナなど英数字以外のUTF1カラム文字の表示に対応しました。
2006年3月22日 version 1.97 まれに(環境によっては頻繁に?)落ちることがあったと思うんですがそれを修正しました。その代わりpromptフックによる描写のカスタマイズはできなくなりました。(この関数が原因で落ちていたので)ソートにユーザ名、グループ名でのソートを追加。ファイラ画面でのファイル名表示にリンクであればリンク先を表示するようになりました。
2006年3月22日 version 1.96a $PREFIX/etc/mfcomplに補完用ルーチンを置くようにしました。lをシンボリックリンク作成に変更。jにコマンドラインによるディレクトリ移動になりました。Jがメニューによるディレクトリ移動です。
2006年3月21日 version 1.96 autoconfに対応。Solaris8,9で不具合動作するようになりました。
2006年3月18日 version 1.95 cygwinでコンパイルエラーがでるので修正しました。
2006年3月15日 version 1.95 UTFに対応
2006年3月11日 version 1.90j 仮想端末の画面でX端末機能で作った端末を消すと画面が固まる問題を修正。仮想端末終了時にsleepを入れていたがそれを削除。
2006年3月11日 version 1.90i 色々なコマンドの補間補助を入れました。
2006年3月9日 version 1.90h mark_on, mark_offの追加。*をマスクの設定からグロブマークに変更。マスクの設定はsに移動。
2006年3月6日 version 1.90g ファイルコピー、移動時上書きにselect newer(新しいファイルを優先)追加。
2006年3月6日 version 1.90f あふ風コピーのオプションを追加。adir_path2, sdir_path2, ldir_path2, rdir_path2の追加。
2006年3月6日 version 1.90e tab_path, is_marked, marking, is_marked_sdir, marking_sdir追加。
2006年3月5日 version 1.90d <が単語の区切りで無かったバグを修正。
2006年3月4日 version 1.90c mgrepというgrepのラッパコマンドを追加。mcompileをちょっと修正しました。
2006年3月3日 version 1.90c Shift+英字キーのインクリメンタルサーチをやめました。変わりに英字大文字のコマンド追加。C,M,O,F,D,E,_が追加されました。
2006年3月2日 version 1.90b Solaris8対応。コピーやファイル移動時にたまに何も起こらないバグを修正。
2006年3月1日 version 1.90 NISを使ったシステムで固まる問題を修正。Solarisで仮想端末に対応。
2006年3月1日 version 1.89c %がつくファイルを削除,コピーすると落ちるバグを修正。
2006年2月28日 version 1.89b 内部コマンドsdir_back, tab_close, tab_up, tab_max, mark2, file_nameを追加。
2006年2月26日 version 1.89a エキスプローラー風キーバインドの設定ファイルを用意しました。
2006年2月24日 version 1.89a セッションの保存で表示関係の設定を保存するようになりました。view_colorの追加。
2006年2月23日 version 1.89 undo機能を入れました。
2006年2月21日 version 1.88e インクリメンタルサーチのonを/からfに変えました。マスクの設定をfから*に変更しました.
2006年2月17日 version 1.88d portupgrade, pkg_add, pkg_delete, pkg_infoの補完補助を入れました。
2006年2月17日 version 1.88d 解凍時2画面表示ならもう一方のディレクトリを解凍先にするようにしました。
2006年2月16日 version 1.88d gzipの補完補助を入れました。
2006年2月16日 version 1.88d リンクのディレクトリに入ってBSを押しても元のディレクトリに戻れないバグを修正。文字列選択の時先頭の文字を押しても選択されるようになりました。(Yes, NoでyでYes選択) tarなどで解凍先を指定できるようになりました。現在のソートの種類を表示するようになりました。
2006年2月16日 version 1.88c tarの解凍時に解凍先のディレクトリを指定できるようになりました。
2006年2月15日 version 1.88c mhitanykeyというコマンドの追加。コマンド入力後のキー入力待ちでENTER以外でもキーを受け付けるようになりました。
2006年2月15日 version 1.88b mfiler独自の仮想端末機能を使っているときlvで検索ができない問題を解決。rubyのバージョンを1.8.4にあげました。これでcygwinでコンパイルが一度こける問題が解決されたと思います。
2006年2月15日 version 1.88a ddとduの補完補助を入れました。killの補完補助にバグがあったので修正しました。補完のスクロール位置が前回の補完時のままになるバグを修正。
2006年2月14日 version 1.88 コンパイル機能を独立プロセス化しました。
2006年2月14日 version 1.87f tarの補完補助を入れました。
2006年2月13日 version 1.87f ssh-keygenとwhereisの補完補助を入れました。
2006年2月13日 version 1.87f mfiler独自の仮想端末機能でemacs -nwが正常に動くようになりました。
2006年2月12日 version 1.87e コンパイル画面から結果を保持したままファイラ画面に戻れるようにしました。
2006年2月10日 version 1.87d ディレクトリコピーやディレクトリ移動のパスの指定にバグがあったので修正。
2006年2月9日 version 1.87b 仮想端末を多数開くとnew ptty: could not open mater ptyと表示されて落ちるバグを修正。デフォルトの画面表示を2画面にしました。
2006年2月8日 version 1.87a mfilerの仮想端末機能を使っていてvimなどでカーソルキーが聞かなく問題を解決。
2006年2月7日 version 1.87 keymapの仕様変更。一つのキーコードに複数の設定を登録できるようになりました。
2006年2月7日 version 1.86d mfiler独自の仮想端末機能を使えるように戻しました。再描写時の問題は直ってます。(emacsの描写がおかしくなる問題は出てきましたが)
2006年2月6日 version 1.86c Vine-Linuxでコンパイルが通らなかったので修正しました。
2006年2月5日 version 1.86b 起動時に前回のディレクトリ位置に復帰するようにしました。
2006年2月5日 version 1.86a インクリメンタルサーチのenter decisionの動作を変えました。Backspaceで修正できます。ミスマッチする入力は無効です。
2006年2月5日 version 1.86 インクリメンタルサーチのデフォルトをenter_decisionに変更。タブキーでタブディレクトリの選択ができるようになりました。
2006年2月3日 version 1.85f 親ディレクトリに移動したときのカーソル位置が子ディレクトリの位置じゃないバグを修正。
2006年2月3日 version 1.85e .ファイルのディレクトリに入れないバグを修正。
2006年2月3日 version 1.85d 引数のディレクトリでもパスの相対指定や~, ., ..が使えるようになりました。
2006年2月3日 version 1.85c copy, move, dir_moveの引数のディレクトリで~やパスの相対指定、.や..などが使えるようになりました。
2006年2月3日 version 1.85b 多数のファイルをマークして%m1でマークを展開しても落ちなくなりました。ただしscreen上ではscreenの制限で無理です。
2006年2月3日 version 1.85 同一論理ディスク内ならファイルの移動、ゴミ箱への移動が早くなりました。(mvと同じ動作、むしろ、いままでのやりかたが蛸です。すみません。)設定ファイルの見直し。uをファイル解凍に変更。
2006年2月2日 version 1.83g ファイルをコピー、移動、消去、ゴミ箱へ移動時にマークをリセットするようにしました。
2006年2月2日 version 1.83f 1画面表示の1列表示でディレクトリの画面表示がおかしいバグを修正。
2006年2月2日 version 1.83e メニューによる補完の選択にスペースなど記号が入ってると巧く補完しないバグを修正。
2006年2月1日 version 1.83d 先頭にスペースがあるとヒストリにコマンドを追加しなくなりました。
2006年2月1日 version 1.83c killの補完補助がBSDのpsの出力に依存していたので修正。
2006年2月1日 version 1.83c 補完カスタマイズを少し修正。killの補完補助を入れました。
2006年2月1日 version 1.83b メニューによる補完の選択にバグがあったので修正しました。
2006年2月1日 version 1.83a configureの補完補助を入れました。=が補完上の単語の区切りじゃなくなりました。
2006年1月31日 version 1.83 たまに表示関係で落ちていたバグを修正。補完ルーチンの改良、シングルクォートとダブルクォートの処理、記号を含むファイル名への補完が賢くなりました。補完カスタマイズの仕様を少し変更。
2006年1月30日 version 1.82f ./configureなどディレクトリを指定しての補完ができなくなっていたバグを修正。補完カスタマイズの仕様を少し変更。今後も変更があるかもしれないので、まだカスタマイズは始めないでください。まあ、自力で自分が便利だと思う主要なコマンドはやっていきます。
2006年1月30日 version 1.82e %Mの動作の変更。option_remain_marksのバグ修正。makeの補完。
2006年1月28日 version 1.82d %の補完。コマンドselect_stringを入れました。コマンドmessageのバグ修正。Rubyによるオリジナルコマンド作成もやりやすくなったと思います。
2006年1月27日 version 1.82c completion_hookの修正。今度こそ補完カスタマイズの仕様が固まったと思います。
2006年1月27日 version 1.82b completion_hook, completion, completion2の仕様変更。内部的に補完カスタマイズのため色々変更しました。chmodとsshとlsの補完補助を入れました。
2006年1月27日 version 1.82a マクロ%Mを追加。デフォルトではコマンド実行後マスクをクリアすようにしました。%Mを付けるとクリアしません。
2006年1月27日 version 1.82 ファイルにヒストリを保存するようになりました。デフォルトで起動中のmfilerのコマンドラインのヒストリの共有が有効になってます。コマンドラインでCTRL-Rによるヒストリ検索をいれました。
2006年1月26日 version 1.81 メニューによる補完の選択を入れました。デフォルトで有効になってます。外すことはできません。
2006年1月26日 version 1.80a completion_hook, completion, completion2の仕様変更。すみません。補完ルーチンの改良。一般的な補完の仕方になりました。マークをディレクトリを移動するまで保持するようになりました。コマンド実行後やマスクの変更による表示の変化時も保持します。(option_remain_marks)
2006年1月25日 version 1.80 補完のカスタマイズが一応完成。completion2を追加。説明文付きの補完ができるようになりました。copy, moveの対象ディレクトリに相対パスが使えるようになりました。
2006年1月25日 version 1.78f set_shellの引数が3つになりました。
2006年1月25日 version 1.78e copy時にコピーするものが一つならコピー先にディレクトリだけじゃなくてファイル名も指定できるようになりました。その場合コピーしてリネームします。(cpと同じ動作)
2006年1月25日 version 1.78d set_shellの追加。コマンドラインからコマンドを渡すシェルを選択できるようになりました。(FreeBSDなどの/bin/shは機能が足らない場合があった。zshを指定すればzshの連番機能などが使えます) cygwin上のmfilerのコマンドラインから起動したアプリがCTRL-Cが効かない問題を解決。
2006年1月24日 version 1.78c mfilerから起動したコンソールアプリ上で端末のサイズを変えるとmfilerがフロントにでるバグを修正。
2006年1月24日 version 1.78b the Minnu's Curses関連のコマンドを追加。コンパイル機能を追加。hostname, usernameコマンドの追加。デフォルトのプロンプトはユーザー名とホスト名を表示するようにしました。WHITE, BLUE, CYAN, GREEN, YELLOW, MAGENTA are changed to MA_WHITE, MA_BLUE, MA_CYAN, MA_GREEN,MA_YELLOW,MA_MAGENTA,MA_RED
2006年1月22日 version 1.78a コマンドラインでmeta-hで入力中のコマンドのman pageを見れるようになりました。
2006年1月22日 version 1.78 completion_hookを追加。補完をカスタマイズできるようになりました。とりあえず入れただけという感じですが。まだ仕様変更になる可能性があるのでカスタマイズはしないでください。パイプのあとなどプログラムの補完ができてないバグを修正。インクリメンタルサーチの終わりかたのデフォルトを"slash_toggle"に変更。
2006年1月22日 version 1.77 isearch_enter_decisionの廃止。option_isearch_decision_wayを追加。インクリメンタルサーチの終了方法を3つ用意しました。
2006年1月19日 version 1.76f 1.76eはcygwinでのコンパイルに失敗するので修正しました。デフォルトではプロンプトにユーザー名とホスト名を表示しないようになりました。
2006年1月19日 version 1.76e フックpromptの追加。オプションの変更 mfiler -d init_direcotryがmfiler init_directoryになりました。$HOME/.mfilerが実行中落ちると端末の設定が乱れるバグを修正。
2006年1月19日 version 1.76d マークファイルの数と合計バイトの表示。ディレクトリのサイズの表示を一般のファイラのようにしました。
2006年1月18日 version 1.76c view_nameonlyの仕様を変更。各画面表示で名前のみの表示ができるようになりました。
2006年1月18日 version 1.76b 補完時にスペースやクォートの処理を適切にしました。
2006年1月17日 version 1.76a .mfiler-cygwinを用意しました。
2006年1月17日 version 1.76a ディレクトリのパスのコピーをoに交換をwにしました。
2006年1月17日 version 1.76a インクリメンタルサーチで使える文字の種類が増えました。isearch_enter_decisionをtrueにするのをデフォルトにしました。インクリメンタルサーチはインクリメンタルサーチに使えないキーを使った時にオフになります。
2006年1月17日 version 1.76 Solarisのために端末制御ライブラリのキー入力を改良。cygwinでもカーソル移動がスムーズになりました。1.75以降動いてなかったSolaris9でちゃんと動くようになりました。FreeBSD以外でファイルのゴミ箱移動がきちんと動いてなかった問題を修正。
2006年1月17日 version 1.75g option_selectの追加。
2006年1月17日 version 1.75f エラーメッセージが表示されないバグを修正。
2006年1月16日 version 1.75e マクロ文字を追加。%%, %d1s, %d2s, %D1s, %D2sを追加しました。lとjによるディレクトリ移動をタブを追加せずに普通の移動としました。マスクがデフォルトの場合はマスク処理をしないようにしました。(多数のファイルのあるディレクトリにデフォルトのマスクで入る場合処理がはやくなったはずです) cursor, cursor_max, scrolltop, set_scrolltopの追加。cursor_move_hookの追加。.ファイルを表示しないようにしました。
2006年1月15日 version 1.75d cygwinに対応しました。(今度こそ正式対応です。)
2006年1月12日 version 1.75c lでコマンドラインによるディレクトリ移動を追加しました。cとmのキーバインドがmeta-c, meta-mになっていたので、修正。
2006年1月12日 version 1.75c スクロールの動作を改良。タブ表示を5つまで可能にしました。
2006年1月12日 version 1.75b x端末がたまに立ち上がらない問題を修正。1.75から対応してなかった漢字(EUC)に対応。シングルクォートがある名前のディレクトリに入ると落ちるバグを修正。
2006年1月11日 version 1.75a cut,copy2時にマークをクリアするようにしました。コピー時、ファイル削除時にファイル名を描写するようになりました。
2006年1月9日 version 1.75 Cursesライブラリを内部端末制御ライブラリに置き換えました。Escapeキーが効くようになりました。カラー表示が適切になりました。画面サイズが変わったときの動きが適切になりました。キーバインドの実行ファイルの指定がexeからexecuteに変更しました。(拡張子exeファイルをwineで実行できるようにするため)マスク機能はfmatchじゃなくてrubyを使うようになりました。マスク機能で{}が使えるようになりました。set_mask_sdirの追加。
2006年1月3日 version 1.70b xterm_nextの追加。zで次のコマンド実行を別のX端末上で実行するようにしました。
2006年1月3日 version 1.70a X端末を呼び出したあと新規ファイル作成などがブロックするバグを修正しました。
2006年1月2日 version 1.70 1画面表示のオプションを増やしました。view_onedir2, view_onedir3, view_onedir5の追加。cursor_x,cursor_y,cursor_maxx,cursor_maxyの追加。
2004-2005年のヒストリ