mfiler2.tgzを適当な場所に展開してmakeを実行してください。少し待てばmfilerというファイルとmattrというファイルができます。その二つをPATHの通ったディレクトリに移動してください。mfilerというのがプログラム本体でmattrというのはファイルの属性を変更するコマンドです。
注意1) Vine Linuxでコンパイルするときはmake -f makefile.compile_ncursesでコンパイルしてください。他のOSでもmfiler2のコマンドラインでemacs -nwなどcursesアプリを実行後カーソルキーがおかしくなる場合は同じようにコンパイルしてみてください。
注意2) NetBSD, Solaris8などcursesライブラリを-lncursesでなく-lcursesでリンクするOSでコンパイルするときはmake -f makefile.link_cursesでコンパイルしてください。
注意3) コンパイルにはlibcrypt, libcursesが必要になります。たぶん、標準で用意されていると思いますが、先に用意しておいてください
注意4) 新しいバージョンを再インストールする場合は.mfilerも置き換えてください。前のバージョンのままだと不整合がでる場合があります。
1) mfiler2.tgzの中にある.mfilerをホームディレクトリにコピーしてください。コピーをしないとキー操作ができないので忘れないように注意してください。
2) 環境変数SHELLには好きなシェル(bash, tcsh, zshなど)、環境変数PAGERには好きなページャー(less, more, lvなど)、環境変数EDITORには好きなエディッター(emacs, viなど)を設定しておいてください。.mfiler内で使用します。
カーソルキーや, PAGE UP, PAGE DOWNキー、CTRL-P,N,B,F,A,E,V,D,U, Meta-v, <, >キーで移動できます。
/でインクリメンタルサーチの開始を行ないます。入力された文字列にマッチするファイルにカーソルが移動します。入力された文字列は画面中央から下the Minnu's Filer version Xの右に表示されます。この時同じ文字を数回押すと先頭文字がその文字のファイル名に移動します。(aaa...と入力すると先頭がa,Aのファイルの間で移動する。)もう一度/を押すとインクリメンタルサーチの終了です。
Shift+英字キーでもインクリメンタルサーチが行なえます。
ディレクトリの上にカーソルをおいてEnterキーを押せば、その中のディレクトリに移動します。BSキー、CTRL-Hキーで親ディレクトリに移動します。'\'キーでルートディレクトリに移動します。'~'キーでホームディレクトリに移動します。
Meta-Leftキーで移動する前に作業していたディレクトリに戻ります。
jでウィンドウ移動用メニューを開きます。新しいディレクトリの登録は$HOME/.mfilerを修正してください。defmenu("jump", 以下の部分です。
wで左右のディレクトリウィンドウのコピーができます。
CTRL-Tでディレクトリを新しく開きます。現在のディレクトリが後ろにいきます。CTRL-Wで現在開いているディレクトリを閉じます。Tabキーで後方のディレクトリを前に出すことができます。Meta-\で新しくディレクトリを開いてルートディレクトリに移動します。
キータイプの早い方でしたら、インクリメンタルサーチをOn、\を押してルートから辿っていく方法がおすすめです。
cでコピー, mで移動, dでゴミ箱($HOME/mtrashbox)へ移動, rで改名,nで新規ファイル作成, kで新規ディレクトリ作成, eで編集, vでページャの起動, pで圧縮, bでコピーファイルの作成、fでファイル検索, gで文字列検索、iでディレクトリのサイズ合計、aでファイルの属性変更メニューを開きます。ch(m)odというのはmを押せばchmodを実行するという意味です。メニューはカーソルキーで選択、Enterで実行することもできます。Meta-fでその他のファイル操作メニューを開きます。eの編集には環境変数$EDITOR, vのページャーには環境変数$PAGERが設定されている必要があります。
たくさんのファイルをコピー/移動/削除中に動作を止めたい場合はCTRL-C, CTRL-Gで止めれます。
スペースキーでファイルをマークします。マークしてからファイル操作などをすると一括操作ができます。HOMEキーでファイルのみマークを反転させます。(マークがしてない状態なら全部のファイルにマークされる)。ENDキーですべてのファイルのマークを反転させます。
hでシェル用コマンドライン、:でシェルを起動します。xでカーソル下のファイルに任意のコマンド実行(マークしている場合はマークファイルに任意のコマンドを実行)。Ruby用のコマンドラインはMeta-xで開きます。シェルの起動には環境変数$SHELLが設定されている必要があります。
コマンドの並列実行を可能にする仮想端末機能にはmfiler独自のものとGNU screenによるものと二つあります。mfilerのものは手軽ですが、どちらかというとGNU screenの方が高機能で安定しています。
$HOME/.mfilerのoption_no_pty をfalseにするとmfiler独自の仮想端末機能がオンになります。仮想端末機能をオンにするとmfilerのコマンドラインから起動されたアプリは仮想端末上で実行されCTRL-Zでサスペンドすることができます。サスペンドしたアプリはthe Minnu's Filerの上の行にサスペンド番号とともに表示され、サスペンド番号に対応する数値キーを押すと復帰することができます。0でメニューによる選択復帰ができます。-でサスペンドしたアプリをkillすることができます。
(たまに復帰時に描写がおかしくなります。CTRL-Lで再描写してください)
GNU screen 上でmfilerを起動して作業する場合、コマンドラインで入力したコマンドがscreen上の仮想端末で実行されます。一応端末のタイプを見てGNU screen上で実行しているか自動判別してますが($TERMがscreen*か否かで判別している)、判別されない場合は$HOME/.mfilerのoption_gnu_screenをtrueにしてください。
仮想端末機能を使っている場合に、Xアプリに&を付けて起動する時は仮想端末機能をオフにするコマンドラインマクロ%sを付けてください。
Enterキーを押すことでファイルの拡張子に応じたコマンドを実行できます。新しい拡張子に対する処理を追加するには$HOME/.mfilerを編集してください。見てもらえば書式は理解してもらえると思います。(多少のRubyの知識が必要かもしれませんが。)
C-Lで画面の再描写をします。画面が崩れた時などに実行してください。
sでソートと表示オプションの設定ができます
CTRL-C, qでthe Minnu's Filerを終了します。
マニュアルを見て$HOME/.mfilerを編集してください。ちょっとした処理ならRubyで書いてキーバインドに登録すれば便利です。
一般のファイラのように左右のディレクトリで個別にカーソルを動かしたい場合は$HOME/.mfilerのoption_individual_cursorをtrueにしてください。
インクリメンタルサーチをカーソル、ディレクトリ間移動の主として使いたい場合は英字ワンキー操作のコマンドをMeta+英字キーにして常にインクリメンタルサーチをOnにしておけばかなり高速に操作することができます。キータッチ数は増えますが
ファイラからエディッタを複数立ち上げて並列的に作業する場合、エディッタプロセス間のコピーアンドペーストが問題となります。XのEmacsは複数のプロセスを立ち上げてもコピーアンドペーストのバッファを共有してくれるので問題ありません。問題はemacs -nwやvimの場合です。この場合コピペしたいテキストをファイルに書き込み、別プロセスからそのファイルを読み込むという処理をマクロとして書けばよいです。
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に準拠します。プログラムの実行は自己責任でお願いします。感想や要望などありましたら気軽に掲示版に書いてください。動作レポートやコンパイル失敗した場合のレポートなどをもらえると助かります。あと仮想端末の画面を保存して復帰させる方法をご存知の方おられましたら、やりかたを教えてください。お願いします。
Debian Linux sarge
FreeBSD 5.3-RELEASE
NetBSD2.0
Vine Linux 2.6r1
Solaris8
Cygwin Cursesが漢字表示に対応していないので漢字ファイル表示が駄目。他は動く。cursesの漢字対応待ち?
Solaris9 仮想端末機能に不具合。option_gnu_screenをtrueにしてGNU screen上での動作ならOK。option_no_ptyをtrueにしても実行可能。
1.Rubyコマンドの補完。
2.ファイルマスク機能
3.カスタマイズ機能の強化
4.UTF-8対応
5.仮想端末のリストア時,描写がたまにおかしくなるバグを修正。
2005年9月2日 version 1.34a cygwinでのコンパイルエラーが起こる箇所を変更しました。
2005年9月1日 version 1.34 デフォルトで仮想端末機能をオフにしました。/dev/ptmxがある場合UNIX98 pty環境で動かすようにしました。
2005年8月15日 version 1.33 %s, %r での不具合を直しました。
2005年8月15日 version 1.33 %s, %r での不具合を直しました。
2005年8月14日 version 1.33 Vine Linuxでの不具合に対応しました。NetBSDでのコンパイルエラーに対応しました。
2005年8月9日 version 1.33 ptyがパーミッションの問題で開かない場合別のptyを試すようにしました。(今までcould not open slave pty. pleas check permision of Xと表示されていた)
2005年8月9日 version 1.33 Solaris8のktermでメニューが化ける症状に対応。
2005年8月8日 version 1.33 option_gnu_screenを追加しました。仮想端末終了時にカーソルキーなどが効かなくなるバグを直しました。option_no_ptyを追加。
2005年8月6日 version 1.33 起動時に端末の設定を保存して終了時に戻すようにしました。Solarisでmfiler2終了時に端末がおかしくなるバグが消えました。
2005年8月5日 version 1.33 Solaris8に対応しました。ソートが早くなりました。内部的には使用ライブラリを変えたので、もしかしたらバグがあるかも知れません。
2005年8月2日 version 1.32 NetBSDでのコンパイルエラーに対応しました。
2005年8月1日 version 1.32 uplinkさんよりmfiler2の終了時に子プロセスをkillするプログラムを追加しました。
2005年7月31日 version 1.32 Vine Linuxでのコンパイルエラーに対応しました。
2005年7月30日 version 1.32 cygwinで起動時に不具合があったので修正しました。
2005年7月29日 version 1.32 uplinkさんよりcygwinの仮想端末のパッチを頂きました。cygwinで仮想端末の機能が使えるようになりました。ありがとうございます。ゴミ箱に移動する時に、同じファイルがあった場合上書きせずに、ゴミ箱中のファイルを一旦消してから移動するようになりました。cygwinなど表示の遅い端末のため仮想端末のバッファの再描写量を減らしました。cygwinでコマンドラインで実行したプログラムを実行中にCTRL-Cを押すとmfiler2ごと落ちるバグを修正。
2005年7月28日 version 1.31 mark_all_files()を追加。/がイクリメンタルサーチのon/offになりました。\がルートディレクトリに移動になりました。HOME, ENDがマークの反転になりました。iがディレクトリサイズの合計になりました。
2005年7月28日 version 1.30 リストア時の再描写が長くなるので仮想端末のバッファを元に戻しました。
2005年7月27日 version 1.30 cygwinに一応対応しました。
2005年7月26日 version 1.30 ファイル移動時の上書きにバグがありました。必要なファイルが消える場合があるので、できるだけバージョンアップお願いします。仮想端末のバッファを増やしました。リストア時に描写がおかしくなる頻度が大幅に低下しました。
2005年7月25日 version 1.29 :がシェル起動になりました。
2005年7月23日 version 1.29 option_shift_isearchを追加。option_trashbox_nameを追加。
2005年7月20日 version 1.28 アプリをサスペンドした時に端末のサイズを変えてリストアすると端末のサイズが変わらないバグを修正。
2005年7月17日 version 1.27 仮想端末をリストア時にたまに画面が崩れるバグを修正。
2005年7月17日 version 1.26 終了する時に確認するようになりました。ディレクトリの選択移動のキーバインドがwからjに変わりました。ディレクトリコピーのキーバインドがoからwに変わりました。表示オプションのキーバインドがMeta-oからsに変わりました。確認時のYes/Noの順番が変わりました。
2005年7月16日 version 1.24 kill_ptyを追加。Rubyコマンドを実行した場合画面が崩れるバグを修正。
2005年7月15日 version 1.23 カーソルキーなどを押しっぱなしにした時などに落ちるバグを直しました。
2005年7月15日 version 1.22 option_check_copy_fileを追加。
2005年7月15日 version 1.22 インクリメンタルキーバインドのOn/Off機能を追加。デフォルトのキーバインドを大幅変更。普通のファイラの用にワンキー操作になりました。
2005年7月14日 version 1.21 Meta-hの追加。
2005年7月13日 version 1.20 仮想端末機能のバグがとれました。
2005年7月13日 version 1.18 サスペンド復帰後際描写するようになった。
2005年7月12日 version 1.17 仮想端末機能を入れました。まだ不安定です。
2005年7月5日 version 1.12 キー操作の変更。Meta-nでファイル新規作成, Meta-kで新規ディレクトリ作成に変更。Meta-fでfindではなくファイル関連メニューを表示するようにした。
2005年7月5日 version 1.12 ファイルのコピー、移動、削除、ゴミ箱へ移動処理を内部コマンド化。adir_mark(), sdir_mark()がRubyのArrayを返すようになりました。mfiler2を起動した端末を閉じてもプロセスが残らないようになりました。パーミッションのないディレクトリに入った時に落ちるバグを修正。
2005年7月3日 version 1.10 option_individual_cursorを追加
2005年7月3日 version 1.10 属性変更コマンドmattrの追加。
2005年7月2日 version 1.09 メニューがキーボードで選択可能になりました。
2005年7月2日 version 1.09 ファイルコピー時やファイル移動時にCTRL-Cが効かなくなる問題を解決。
2005年7月1日 version 1.08 ゴミ箱に同名のディレクトリがある場合、ファイルが消せない問題を解決。コピーやファイル移動の処理が手軽になりました。
2005年6月30日 version 1.07 XアプリをGNU screen上のmfilerで起動できるようにするため%sマクロを追加しました。ファイル削除をするとゴミ箱に移動するように変更しました
2005年6月29日 version 1.07 ディレクトリタブ切替えキーを左右カーソルからtabキーに変えました。
2005年6月26日 version 1.07 ディレクトリのタブ機能を入れました。
2005年6月26日 version 1.06 インクリメンタルサーチで'[','_'などのキーが効かないバグを修正。
2005年6月24日 version 1.06 CPUを100%近く占有するバグを修正しました。
2005年6月23日 version 1.06 カラー端末に対応しました。表示関係のオプションを廃止しました。
2005年6月19日 version 1.05 日付表示のバグを直しました。長いオーナー名、グループ名の表示に対応しました。Rubyのコードの実行でエラーがあるとメッセージを出すようにしました。
2005年6月18日 version 1.05 インクリメンタルサーチのon, offなどオプションを追加
2005年6月17日 version 1.05 漢字ファイル、漢字入力(EUC)に対応。
2005年6月16日 version 1.05 漢字ファイル、漢字入力(EUC)に仮対応。
2005年6月15日 version 1.02 表示オプションに1画面表示を追加しました。
2005年6月14日 version 1.02 マクロを展開する時シングルクォートで括るようにしました。(.mfilerもそれに併せて修正してあります)
2005年6月13日 version 1.02 コマンドライン改良。書きかけのコマンドを残したままファイラー操作に戻っても、コマンドがまだ残るようにしました
2005年6月12日 version 1.02 バックスペースのキーコードが127の端末でも対応するようにしました
2005年6月10日 version 1.02 長いディレクトリ名が画面からはみ出すバグを修正。
2005年6月5日 version 1.02 コマンドを実行した後のsleepを無くしました。
2005年5月14日 version 1.02 定数METAとNOMETA追加。
2005年5月11日 version 1.02 GNU screen上でもコマンドラインで&が使えるようになりました。Xアプリも実行しやすくなったと思います。
2005年5月6日 version 1.01 コマンドラインで&が使えるようになりました。(GNU screnn上では使えない)
2005年5月4日 version 1.01 補完改良
2005年4月29日 version 1.01 バグ修正
2005年4月26日 version 1.01 コマンド名を変更しました。
2005年4月24日 version 1.00 コマンドラインで入力補完ができるようになりました。
2005年4月16日 version 0.96 英字キー入力によるファイル移動が子文字と大文字を区別しないようになりました。
2005年4月3日 version 0.95
2005年4月2日 version 0.94 バグ修正
2005年3月28日 version 0.94
2005年3月26日 version 0.93 バグ修正
2005年3月18日 version 0.93 バグ修正
2005年3月16日 version 0.93 バグ修正
2005年3月8日 version 0.93
2005年2月6日 version 0.92
2004年11月22日 version 0.9 修正
2004年11月21日 version 0.9