the Minnu's Filer2

English Page is here.

# the Minnu's filer2 のページ

UNIX(Linux, FreeBSD)のコンソール上で動作する2画面ファイラ(ファイラー、ファイルマネージャー、ファイル管理ソフト)です。Rubyインタプリタ搭載です。
基本的にあふやだいなファイラーなどWindowsの2画面ファイラに近い操作性です。ただしUNIX userの利便性を考えてデフォルトの画面表示は1画面です。コンソールベースなのでsshやtelnet上からも使えます。
Rubyによるカスタマイズはまだカーソル移動程度しかできません。将来的には色々カスタマイズできるように拡張していきたいと思ってます。

## ダウンロード

mfiler2.tgz ダウンロード

## インストール

### コンパイルの仕方

mfiler2.tgzを適当な場所に展開してmakeを実行してください。少し待てばmfilerというファイルとmattrというファイルができます。その二つをPATHの通ったディレクトリに移動してください。mfilerというのがプログラム本体でmattrというのはファイルの属性を変更するコマンドです。
注意1) Solaris8,9,10でコンパイルする時はmake -f makefile.Solaris8,9,10でコンパイルしてください。
注意2) NetBSDでコンパイルする時はmake -f makefile.NetBSDでコンパイルしてください。
注意3) コンパイルにはlibcrypt, libcursesが必要になります。たぶん、標準で用意されていると思いますが、先に用意しておいてください。Debianの場合はlibncurses-devも忘れずにインストールしてください。
注意4) 新しいバージョンを再インストールする場合は.mfilerも置き換えてください。前のバージョンのままだと不整合がでる場合があります。

### 実行前の下準備

1) linuxではmfiler2.tgzにある.mfiler-linuxを、FreeBSDでは.mfiler-FreeBSDを、Solarisでは.mfiler-solarisを、cygwinでは.mfiler-cygwinを、.mfilerに改名してホームディレクトリにコピーしてください。
2) 環境変数SHELLには好きなシェル(bash, tcsh, zshなど)、環境変数PAGERには好きなページャー(less, more, lvなど)、環境変数EDITORには好きなエディッター(emacs -nw, viなど)を設定しておいてください。.mfiler内で使用します。

## 実行

コマンドプロンプトでmfilerとタイプして実行してください。オプションはmfiler -?とでもしてもらえればusageが見れます。

## 簡単な使い方

mfilerを実行して?を押すと簡単なヘルプがみれます。

- カーソル移動

カーソルキーや, PAGE UP, PAGE DOWNキー、CTRL-P,N,B,F,A,E,D,U, <, >キーで移動できます。

- ディレクトリ移動

ディレクトリの上にカーソルをおいてEnterキーを押せば、その中のディレクトリに移動します。
BSキー、CTRL-Hキーで親ディレクトリに移動します。
'\'キーでルートディレクトリに移動します。'~'キーでホームディレクトリに移動します。

- ファイル操作

cでファイルをコピーします。2画面表示時はアクティブなディレクトリから他方のディレクトリへコピーします。1画面表示時はコマンドラインで対象のディレクトリを指定してください(TABで補完が効きます。単語後方削除のCTRL-Wが便利です。)。mで移動, dでゴミ箱($HOME/mtrashbox)へ移動, rで改名,nで新規ファイル作成, kで新規ディレクトリ作成, eで編集, vでページャの起動, aでファイルの属性変更メニューを開きます。メニューのch(m)odというのはmを押せばchmodを実行するという意味です。メニューはカーソルキーで選択、Enterで実行することもできます。eの編集には環境変数$EDITOR, vのページャーには環境変数$PAGERが設定されている必要があります。
ファイルをゴミ箱に移動するんじゃなくて削除したい場合は@を押してdeleteを選択してください。
たくさんのファイルをコピー／移動／削除中に動作を止めたい場合はCTRL-C, CTRL-G, Escapeで止めれます。またたくさんのエラーメッセージが出た場合もCTRL-C, CTRL-G, Escapeで飛ばせます。
sでソートと表示オプションの設定ができます。設定を常に有効にしたい場合は$HOME/.mfilerのoption settingsの部分を変更してください。

- マーク操作

スペースキーでファイルをマークします。マークしてからファイル操作などをすると一括操作ができます。HOMEキーでファイルのみマークを反転させます。(マークがしてない状態なら全部のファイルにマークされる)。ENDキーですべてのファイルのマークを反転させます。ただ端末によってはHOME, ENDキーが効かないので@で表示されるメニューからも全体マークができます。

- コマンドライン操作

hでシェル用コマンドライン、:でシェルを起動します。xでカーソル下のファイルに任意のコマンド実行(マークしている場合はマークファイルに任意のコマンドを実行)。シェルの起動には環境変数$SHELLが設定されている必要があります。
mfilerのコマンドライン機能にはjob管理はありません。後述のX端末機能や仮想端末機能を使ってください。
コマンドを渡すシェルはset_shellによって選択できます。デフォルトでは$SHELLのシェルに渡すように設定されてます。例えばzshを指定すればzshの連番生成機能などが使えるようになります。
TABによる補完時になにもせずにTABを押すとメニューによる補完の選択画面に切り替わります。ENTERで選択。Escaple, CTRL-G, CTRL-Cで抜け出せます。このメニューによる補完の選択画面は補完のスクロールも兼ねてます。画面内に収まらない補完がありましたら、このモードでみてください。

- Enterキー

Enterキーを押すことでファイルの拡張子に応じたコマンドを実行できます。新しい拡張子に対する処理を追加するには$HOME/.mfilerを編集してください。見てもらえば書式は理解してもらえると思います。(多少のRubyの知識が必要かもしれませんが。)

- ディレクトリウィンドウ操作

oで左右のディレクトリウィンドウのコピーができます。wで左右のディレクトリウィンドウの交換ができます。

- ディレクトリ移動2

Meta-Leftキーで移動する前に作業していたディレクトリに戻ります。
jでディレクトリ移動用メニューを開きます。新しいディレクトリの登録は$HOME/.mfilerを修正してください。defmenu("jump", 以下の部分です。
lでコマンドラインでディレクトリを指定してディレクトリ移動をします。TABで補完が効きます。CTRL-Wでの単語後方削除が便利です。

- インクリメンタルサーチ機能

/でファイル名のインクリメンタルサーチを開始します。入力された文字列にマッチするファイルにカーソルが移動します。入力された文字列は画面中央から下the Minnu's Filer version Xの右に表示されます。この時同じ文字を数回押すと先頭文字がその文字のファイル名に移動します。(aaa...と入力すると先頭がa,Aのファイルの間で移動する。)
インクリメンタルサーチの終了の仕方はオプションによって3種類あります。option_isearch_decision_wayを"mismatch_finish"にするとマッチに失敗したときにオフにします。"enter_decision"にするとEnterなどインクリメンタルサーチに使えないキーを入力したときにオフになります。"slash_toggle"にするともう一度/を押すと終了します。(デフォルト)
/をオンにしなくても、そのままShift+英字キーでもインクリメンタルサーチが行なえます。

- タブ機能

CTRL-Tでディレクトリを新しく開きます。現在のディレクトリが後ろにいきます。CTRL-Wで現在開いているディレクトリを閉じます。Tabキーで後方のディレクトリを前に出すことができます。タブは画面上では5つまでしか表示することができません。

- ファイルのカットアンドペースト機能

CTRL-Xでファイルのカット, CTRL-Cでファイルのコピー, CTRL-Vでカット、コピーしたファイルの張り付けができます。ファイルをマーク時には一括でコピペできます。
1画面表示時や、ファイルを親ディレクトリなど近くのディレクトリに移動するときなどに便利です。
これは別プロセス間でも有効なので端末を二つ開いてmfilerを両方に立ち上げて、片方のmfilerから、もう片方のmfilerへのファイルのコピペができます。2つの端末を開いて両方に１画面表示のmfilerを立ち上げて作業するなんてこともできます。

- ファイルのマスク機能

fでファイルマスク設定ができます。*.cとするとcという拡張子のファイルだけを表示します。*.{cpp,h}とするとcppとhの拡張子を持つファイルを表示できます。*だとドットファイルは表示しません。表示するには{.*,*}とすればいいです。

- X端末機能

この機能を使うには$HOME/.mfiler内のoption_xtermをtrueにしてください。愛用されているX端末を使用する場合にはset_xtermでコマンド名やオプションなどを設定してください。set_xtermの引数は左からコマンド名、タイトルをつけるオプション、コマンドを実行するオプション、その他のオプション（複数可）です。
この機能をオンにするとmfiler上で実行されたコマンドが別のx端末上で実行されます。コマンドの実行結果を見ながら並列的に作業することができるのでとても便利です。
option_xtermをtrueにしなくても次回に実行するコマンドだけ別のX端末で実行することができます。zを押してください。次のコマンド実行が別のX端末で実行されます。
X端末機能を有効に使うにはSmart Placementが実装されているウィンドウマネージャーが便利です。新しくウィンドウを開いたときに重ねて表示するんじゃなくて空いている空間を優先的に使う奴です。そのようなウィンドウマネージャーはXfce, qvwm, wmakerなどです。

- 仮想端末機能

仮想端末機能とは一つの端末の中でいくつも端末を開けられる機能です。タブ付き端末のような感じになります。sshなどで他の端末に入った場合などXなしでも使えるので便利です。mfilerはこの仮想端末機能を利用してコマンドを並列実行できるようにしています。
仮想端末機能にはGNU screenを利用します。
GNU screenは以下のページで覚えることができます。
GNU screen tip
GNU screen 上でmfilerを起動して作業する場合、コマンドラインで入力したコマンドがscreen上の別端末で実行されます。一応端末のタイプを見てGNU screen上で実行しているか自動判別してますが($TERMがscreen*か否かで判別している)、判別されない場合は$HOME/.mfilerのoption_gnu_screenをtrueにしてください。
GNU screen上でコマンドを実行するとゾンビプロセスがひとつ残ります。これは仕様です。理由はよくわからないのですが、子プロセスをすぐ消すと子プロセスで作られたファイルなどがmfiler上で検出できないからです

- コマンドラインエイリアス機能

$HOME/.mfilerにmalias "エイリアス名", 引数の数, "コマンド" を設定しておけば、コマンドラインでエイリアス名がコマンドに展開されます。引数は#0から始まって#9までです。（引数は最大１０個まで）
例)
malias "emacs", 1, "%q%s emacs #0 &"
と定義して
emacs .mfilerとコマンドラインで実行すれば
#0が.mfilerに展開されて
%q%s emacs .mfiler &が実行されます。
引数にもエイリアスが使えます。
malias "DIR", 0, "/home/daisuke"
malias "LS", 1, "ls #0"
LS DIRとすればls /home/daisukeが実行されます。ただし引数付きのエイリアスを引数に持ってくることはできません。
malias "DIR", 1, "/home/#0"
malias "LS", 1, "ls #0"
LS DIR daisukeは駄目です。

- コンパイル機能

@コマンドのメニューからcompileを選んでください。コマンドラインにコマンドが書かれるのでmakeのオプションを入力してENTERを入力してください。コンパイルが始まります。コンパイルが済むと画面上にエラー出力が表示されるのでカーソルを動かして修正したい行でENTERを入力してください。エディッターが起動します。(デフォルトではvi)終了の仕方はCTRL-C, Escape, qです。起動するエディッターを変えたいときは直接$HOME/.mfilerのdef compile内部の起動エディッターを変えてください。zでxterm_nextを実行します。別のX端末でエディッターが起動します。
注意)一応使える程度です。makeのアウトプット画面とファイラ画面を行き来できないと辛いですね。別プロセスにしてしまえば、X端末機能, screenを使って行き来ができるようになるので、それまで待ってください。

- その他

C-Lで画面の再描写をします。画面が崩れた時などに実行してください。
pで圧縮
bでコピーファイルの作成。好きな名前を入力してください。
iでファイルの情報表示。directoryならサイズ合計。それ以外はfileコマンドの実行。
gで文字列検索
@でその他のメニューを開きます。HOME, END, Meta-Leftなどが効かない端末ではこの一覧から実行してください。
Escape, qでthe Minnu's Filerを終了します。
PATHに何か実行ファイルが追加されたら@のメニューのrehashを実行してください。コマンドライン補完候補の再検索をします。もしくはoption_auto_rehashをtrueにしておけばコマンドラインに入るたびに自動的に再検索します。(ただしコマンドラインに入る毎にディスクアクセスするので効率が良いとはいえません。)

- the Minnu's Filer2のRubyについて

Rubyのライブラリを使う場合はライブラリサーチパス$:にライブラリのあるパスを追加して(push)からrequireしてください。デフォルトでは検索パスは空なので$:にパスを追加しないとrequireに失敗します。少し面倒ですが配布の都合上こうなっているので、御了承お願いします。

- カスタマイズ

マニュアルを見て$HOME/.mfilerを編集してください。ちょっとした処理ならRubyで書いてキーバインドに登録すれば便利です。
カラー対応端末ならoption_colorをtrueにすればファイルの種別に応じてカラー表示されます。
描写のthe Minnu's Filer2の行はカスタマイズすることができます。（あんまり長いとインクリメンタルサーチの文字列の欄が狭くなりますが) $HOME/.mfilerのdef promptの返す文字列を修正してください。その文字列が画面に描写されます。
補完のカスタマイズはdef completion_hookを変えてください。動作を捕捉した場合はデフォルトの動作をしないようにtrueを返してください。補完のカスタマイズをされたらフィードバックしてもらえると助かります。
HOME,ENDキーなどが効かない端末の場合、keymapを変更してください。キーコードはmfiler付属のmkeycodeコマンドを実行して調べてください。それを順に$HOME/.mfilerのkeymap_*に入れていけばいいです。(最後は0)
ウィンドウシステム上のエディッターを使いたい場合は$HOME/.mfilerの

    keycommand NOMETA, KEY_e,      "*",     "shell('%q $EDITOR %f', '%f')"

を

    keycommand NOMETA, KEY_e,      "*",     "shell('%q emacs %f &', '%f')"

などとしてください。
インクリメンタルサーチをカーソル、ディレクトリ間移動の主として使いたい場合は英字ワンキー操作のコマンドをMeta+英字キーにして常にインクリメンタルサーチをOnにしておけばかなり高速に操作することができます。この場合はoption_isearch_decision_wayを"slash_toggle"にしてください。
スクロール、ページ移動の仕方が気に入らない場合cursor_move_hookの内容を変えてください。fdclone風とあふ風のスクロール、ページ移動は実装してあります。関数呼び出しを変えていいほうを選択してください。
仮想端末機能, X端末機能を使ってファイラからエディッタを複数立ち上げて並列的に作業する場合、エディッタプロセス間のコピーアンドペーストが問題となります。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プロセス間で共有されます。

## マニュアル

the Minnu's Filer2 マニュアル

## 掲示版

サポート掲示板

## その他

ラインセンスはGPLに準拠します。プログラムの実行は自己責任でお願いします。感想や要望などありましたら気軽に掲示版に書いてください。動作レポートやコンパイル失敗した場合のレポートなどをもらえると助かります。あと仮想端末の画面を保存して復帰させる方法をご存知の方おられましたら、やりかたを教えてください。お願いします。

## 連絡先

要望やコンパイルエラー、感想などがありましたら、気軽にメールもらえると うれしいです。
湊 大典 minato.daisuke@gmail.com

## 既知の問題

screen上でmfilerを使う場合あまり長いコマンドを実行することができません。これはscreenの仕様で引数に長いコマンドをとることができないからです。
FreeBSDで、たまにコマンドラインで漢字が化けます。カーソル位置が適正でない場合があるからです。その場合はCTRL-Lで再描写してください。

## 動作確認OS

Debian Linux sarge (x86, k7, Sparc)
FreeBSD 5.3-RELEASE
NetBSD2.0
Vine Linux 2.6r1
cygwin 1.5.18 on Win2k option_selectをfalseにして正常動作(.mfiler-cygwinのデフォルト)。X端末機能と仮想端末機能で実行したコマンドの子プロセスが作ったファイルをmfiler側で検出できない。CTRL-Lしてください。

## 不具合動作OS

Solaris9 on x86 たまに重くなる。少し待てば元に戻る(原因が分からないので会津大以外のホストなら大丈夫かもしれません)
Solaris8 on Sparc コマンドラインでたくさん文字を打つと画面が固まる。Meta+f,bなどを押すと復帰する。Solaris8では色々不具合が多いので正式には対応してないこととさせてもらいます。

## To Do

1.UTF-8対応
2.zshのような補完機能
3.Rubyによるカスタマイズの強化
4.ヒストリ強化(CTRL-Rとヒストリをファイルに保存する機能を実装)
5.migemo対応
6.コンパイル機能の独立プロセス化

## ヒストリー

2005年1月26日 version 1.81 メニューによる補完の選択を入れました。デフォルトで有効になってます。外すことはできません。
2005年1月26日 version 1.80a completion_hook, completion, completion2の仕様変更。すみません。補完ルーチンの改良。一般的な補完の仕方になりました。マークをディレクトリを移動するまで保持するようになりました。コマンド実行後やマスクの変更による表示の変化時も保持します。(option_remain_marks)
2005年1月25日 version 1.80 補完のカスタマイズが一応完成。completion2を追加。説明文付きの補完ができるようになりました。copy, moveの対象ディレクトリに相対パスが使えるようになりました。
2005年1月25日 version 1.78f set_shellの引数が3つになりました。
2005年1月25日 version 1.78e copy時にコピーするものが一つならコピー先にディレクトリだけじゃなくてファイル名も指定できるようになりました。その場合コピーしてリネームします。(cpと同じ動作)
2005年1月25日 version 1.78d set_shellの追加。コマンドラインからコマンドを渡すシェルを選択できるようになりました。(FreeBSDなどの/bin/shは機能が足らない場合があった。zshを指定すればzshの連番機能などが使えます) cygwin上のmfilerのコマンドラインから起動したアプリがCTRL-Cが効かない問題を解決。
2005年1月24日 version 1.78c mfilerから起動したコンソールアプリ上で端末のサイズを変えるとmfilerがフロントにでるバグを修正。
2005年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
2005年1月22日 version 1.78a コマンドラインでmeta-hで入力中のコマンドのman pageを見れるようになりました。
2005年1月22日 version 1.78 completion_hookを追加。補完をカスタマイズできるようになりました。とりあえず入れただけという感じですが。まだ仕様変更になる可能性があるのでカスタマイズはしないでください。パイプのあとなどプログラムの補完ができてないバグを修正。インクリメンタルサーチの終わりかたのデフォルトを"slash_toggle"に変更。
2005年1月22日 version 1.77 isearch_enter_decisionの廃止。option_isearch_decision_wayを追加。インクリメンタルサーチの終了方法を3つ用意しました。
2005年1月19日 version 1.76f 1.76eはcygwinでのコンパイルに失敗するので修正しました。デフォルトではプロンプトにユーザー名とホスト名を表示しないようになりました。
2005年1月19日 version 1.76e フックpromptの追加。オプションの変更 mfiler -d init_direcotryがmfiler init_directoryになりました。$HOME/.mfilerが実行中落ちると端末の設定が乱れるバグを修正。
2005年1月19日 version 1.76d マークファイルの数と合計バイトの表示。ディレクトリのサイズの表示を一般のファイラのようにしました。
2005年1月18日 version 1.76c view_nameonlyの仕様を変更。各画面表示で名前のみの表示ができるようになりました。
2005年1月18日 version 1.76b 補完時にスペースやクォートの処理を適切にしました。
2005年1月17日 version 1.76a .mfiler-cygwinを用意しました。
2005年1月17日 version 1.76a ディレクトリのパスのコピーをoに交換をwにしました。
2005年1月17日 version 1.76a インクリメンタルサーチで使える文字の種類が増えました。isearch_enter_decisionをtrueにするのをデフォルトにしました。インクリメンタルサーチはインクリメンタルサーチに使えないキーを使った時にオフになります。
2005年1月17日 version 1.76 Solarisのために端末制御ライブラリのキー入力を改良。cygwinでもカーソル移動がスムーズになりました。1.75以降動いてなかったSolaris9でちゃんと動くようになりました。FreeBSD以外でファイルのゴミ箱移動がきちんと動いてなかった問題を修正。
2005年1月17日 version 1.75g option_selectの追加。
2005年1月17日 version 1.75f エラーメッセージが表示されないバグを修正。
2005年1月16日 version 1.75e マクロ文字を追加。%%, %d1s, %d2s, %D1s, %D2sを追加しました。lとjによるディレクトリ移動をタブを追加せずに普通の移動としました。マスクがデフォルトの場合はマスク処理をしないようにしました。（多数のファイルのあるディレクトリにデフォルトのマスクで入る場合処理がはやくなったはずです) cursor, cursor_max, scrolltop, set_scrolltopの追加。cursor_move_hookの追加。.ファイルを表示しないようにしました。
2005年1月15日 version 1.75d cygwinに対応しました。（今度こそ正式対応です。)
2005年1月12日 version 1.75c lでコマンドラインによるディレクトリ移動を追加しました。cとmのキーバインドがmeta-c, meta-mになっていたので、修正。
2005年1月12日 version 1.75c スクロールの動作を改良。タブ表示を5つまで可能にしました。
2005年1月12日 version 1.75b x端末がたまに立ち上がらない問題を修正。1.75から対応してなかった漢字(EUC)に対応。シングルクォートがある名前のディレクトリに入ると落ちるバグを修正。
2005年1月11日 version 1.75a cut,copy2時にマークをクリアするようにしました。コピー時、ファイル削除時にファイル名を描写するようになりました。
2005年1月9日 version 1.75 Cursesライブラリを内部端末制御ライブラリに置き換えました。Escapeキーが効くようになりました。カラー表示が適切になりました。画面サイズが変わったときの動きが適切になりました。キーバインドの実行ファイルの指定がexeからexecuteに変更しました。(拡張子exeファイルをwineで実行できるようにするため)マスク機能はfmatchじゃなくてrubyを使うようになりました。マスク機能で{}が使えるようになりました。set_mask_sdirの追加。
2005年1月3日 version 1.70b xterm_nextの追加。zで次のコマンド実行を別のX端末上で実行するようにしました。
2005年1月3日 version 1.70a X端末を呼び出したあと新規ファイル作成などがブロックするバグを修正しました。
2005年1月2日 version 1.70 1画面表示のオプションを増やしました。view_onedir2, view_onedir3, view_onedir5の追加。cursor_x,cursor_y,cursor_maxx,cursor_maxyの追加。
2005年12月29日 version 1.65 X端末機能の追加。(option_xterm, set_xterm関数の追加)
2005年12月28日 version 1.61d linux, solarisでのコンパイルエラーを修正しました。
2005年12月28日 version 1.61c .mfierの改良。コピー、移動時に対象ディレクトリを補完でも指定できるようにしました。
2005年12月27日 version 1.61c コマンドラインのCTRL-Wのバグを修正しました。大量のエラーメッセージが出る場合CTRL-C, CTRL-Gで飛ばせるようになりました。コマンドラインの補完が記号の後でもできるようになりました。例) $HOME=/usr/share/[TAB]
2005年12月25日 version 1.61b コマンドラインのCTRL-W, Meta-d, Meta-f, Meta-bの単語の区切りに/を含めました。
2005年12月25日 version 1.61a SetUID, SetGID, Stickybitの表示に対応しました。
2005年12月25日 version 1.61 ソートを逆順にできるようにしました。ソート時ディレクトリを優先するか否かのトグルをできるようにしました。
2005年12月23日 version 1.60h GNU screen上のmfilerで別端末上でファイル内容を変えるコマンドを実行してもディレクトリ内容が自動で更新されないバグを直しました。
2005年12月20日 version 1.60g GNU screen上のmfilerでコマンドを実行するとゾンビプロセスが残るバグを直しました。
2005年12月20日 version 1.60f マスクをセット時のスクロール、カーソル位置をトップにするようにしました。あと設定ファイルの手直し。
2005年12月12日 version 1.60e %を使ったファイル名の表示が適正でなかったので直しました。
2005年12月12日 version 1.60d オプションをgetoptを使って、まともにしました。
2005年12月10日 version 1.60c helpのスクロールをspaceキー, Enterキーでもできるようにしました。
2005年12月9日 version 1.60b ?キーを押すと表示されるhelpを用意しました。
2005年12月9日 version 1.60a nfsでシンボリックリンク先のディレクトリのファイルコピーが失敗するバグを直しました。
2005年12月7日 version 1.60 ファイルのコピーアンドペーストが別プロセス間でもできるようになりました。
2005年12月7日 version 1.59a ディレクトリの１画面でユーザー名、グループ名、ファイルのサイズの表示数を減らして名前の表示数を増やしました。
2005年12月7日 version 1.59 ユーザー名の表示をログイン時の名前じゃなくてプロセスの所有者のユーザー名を表示するようにしました。コマンドラインでCTRL-Lが効くようになりました。
2005年12月1日 version 1.58i 1Gを越えるファイルのサイズ表示が適正でなかったのを修正しました。
2005年11月26日 version 1.58h Solaris8, Solaris9などでコマンドラインを実行したら落ちるバグを修正しました。エイリアスの展開の時に無駄に大量のスタックを消費していたのでそれを直しました。
2005年11月26日 version 1.58g シングルクォートを使ったファイル名はダブルクォートで囲むようにしました。
2005年11月26日 version 1.58e 親ディレクトリに移動するときにスクロール位置などを前回あった場所に戻すようにしました。
2005年11月25日 version 1.58d option_auto_rehash, rehashの追加。遅いマシンのためにコマンドラインに入ったときに自動的に補完候補を再検索するのはやめました。
2005年11月25日 version 1.58c コマンドラインで一語削除(Meta-d)、後方削除(CTRL-W)、戻る(Meta-b)、進む(Meta-f)が効くようになりました。コマンドラインで~(チルダ)の補完が効くようになりました。
2005年11月25日 version 1.58b エイリアスの展開の仕方を改良しました。&などが単語の区切りとして認識するようになりました。(例)malias ECHO, 2, "echo #0; echo #1"でECHO aa&&とするとecho aa; echo &&と展開される。コマンドラインに入るときに補完候補を再検索するようにしました。(rehash)
2005年11月11日 version 1.58a コマンドラインが長くなるとコマンドを受け付けないバグを修正しました。
2005年10月29日 vesion 1.58 環境変数の補完ができるようになりました。
2005年10月29日 vesion 1.57 エイリアスに引数を付けることが可能になりました。
2005年10月27日 vesion 1.56a オプション-tで/etc/mfilerを読み込むようになりました。
2005年10月26日 vesion 1.56 Solaris8,9で時々固まるバグを修正。
2005年10月26日 vesion 1.55a login:Penguinさんより$HOME/.mfilerがなかったら/etc/mfilerを読み込むようにしました。
2005年10月26日 vesion 1.55 malias()の追加。コマンドラインでエイリアスが使えるようになりました。
2005年10月24日 vesion 1.54 ディレクトリの「戻る」機能、普段のディレクトリ移動でディレクトリのカーソル位置を記憶するようになりました。option_remain_cursor()の追加。
2005年10月23日 vesion 1.53 タブ機能でタブ化したディレクトリのカーソル位置などを記憶するようになりました。
2005年10月23日 vesion 1.52 .mfiler-metaを用意しました。
2005年10月22日 version 1.52 is_iserach_on(), isearch_off(), isearch_on(), sdir_move(), cursor_other(),left_dir(),ldir_path(),right_dir(),rdir_path(), option_isearch_enter_decision()追加。メニューがネストできないバグを修正。その他ファイルメニューを開くキーバインドをMeta-fから@にしました。
2005年10月21日 version 1.51 is_adir_right()とis_adir_left()を追加。option_color_mark, option_color_dir, option_color_exe, option_color_linkの追加。
2005年10月19日 version 1.50a ユーザー名とホスト名を表示するようにしました。.mfilerを整えました。
2005年10月15日 version 1.50 option_no_ptyをoption_ptyに変更。逆の意味になりました。ファイル操作copy2,cut,pastの追加。0がインクリメンタルサーチで使えないバグを修正。内部コマンドが変更、追加されたのでバージョンアップされる場合は$HOME/.mfierも再度コピーをお願いします。それか手動で変更する。
2005年10月15日 version 1.41d カーソルのファイル内での位置をパーセントで表示するようにしました。
2005年10月13日 version 1.41c ディレクトリのパス名表示が画面の限界を越えた時にパス名の前側でなく後ろ側を表示するようにしました。深いディレクトリに入った時に現在のディレクトリ位置が分かりやすくなったと思います。
2005年10月13日 version 1.41b .mfilerにエラーがあったので修正。
2005年10月5日 version 1.41b コマンドラインからウィンドウシステムのアプリを起動できないバグを修正。
2005年10月5日 version 1.41a 漢字の扱いにバグがありました。それを修正。あとscrenn上でコマンドラインマクロ%sを指定しても無視されるバグを修正。
2005年9月28日 version 1.41 Solaris8, Solaris9でのコンパイルエラーを修正。
2005年9月22日 version 1.40f option_no_ptyをfalseにしているとGNU screen上で起動してもGNU screenの仮想端末を利用しないバグを修正。
2005年9月21日 version 1.40d option_bold_exe, option_bold_dirを追加しました。
2005年9月21日 version 1.40c コマンドライン引数にディレクトリを書くとそのディレクトリをカレントにして立ち上がるようにしました。
2005年9月19日 version 1.40b cygwinでコマンドライン補完の候補名がちゃんと描写されないバグを修正。
2005年9月18日 version 1.40a cygwinのコマンドラインで起動したソフト(lftpなど)の入力エコーが効かなくなるバグを修正。
2005年9月15日 version 1.40 cygwinに正式対応。cygwinで漢字ファイル表示に対応しました。
2005年9月12日 version 1.35c ルートディレクトリを'w'キーでコピーしようとすると失敗するバグを修正。
2005年9月9日 version 1.35b 拡張子".mark"に対する操作がうまく働いてなかったので修正。ファイルをマークしてxによるコマンド操作が正常に動作するようになりました。
2005年9月9日 version 1.35a cygwin-ckでのマスクのバグを直しました。
005年9月8日 version 1.35 ファイルマスク機能を入れました。MacOSXでのコンパイルエラーに対応しました。
2005年9月7日 version 1.34e FreeBSDでのコンパイルエラーを直しました。
2005年9月5日 version 1.34c 特定の漢字ファイル上にカーソルを移動したら落ちるバグを修正。
2005年9月5日 version 1.34b uplinkさんのコードによってcygwinのckターミナル上で漢字表示ができるようになりました。
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月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