TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
紅旗Linux ユーザー来れ!
awk ファンクラブ
Linux使ってて普及するわけないと思った時 100祝
Web翻訳家 志賀慶一氏を語るスレ 20
Linuxを使える程度で自分が凄いと思っている奴(笑)
最強に頭の悪そうなコマンドを打ってください
俺の日記帳 第二冊目
subversion バージョン管理【サブバージョン】
【セキュリティ】Kali Linux【BackTrack】
【deb系】MEPIS Linux 2 【ディストリ】

【2画面ファイラ】 mfiler4 その2


1 :2013/01/07 〜 最終レス :2020/01/03
開発に色々動きがあって、xyzsh、mfiler4ともに
既にいくつかリリースがされているので、
mfiler2スレの次スレとして立ててみました。
情報交換や質問・要望など、何でもどうぞ
楽しくやっていきましょう
公式サイト
http://ab25cq.sakura.ne.jp/
前スレ
【2画面ファイラ】 mfiler2 【Rubyインタプリタ】
http://engawa.2ch.sc/test/read.cgi/linux/1183712038/

2 :
現在のバージョン
xyzsh: 1.2.9
mfiler4 1.0.8
xyzshは1.2.7 mfiler4は1.0.6しかまだ試して無いので
これからアップデート試してみるかな。

3 :
スレ立て乙

4 :
スレを立てていただきありがとうございます。
サイトからリンクを貼らせて頂きます。
感想など、気楽に書き込んでください。開発の力になります。
Fedora 17,18ではパッケージになってます。
yum install mfiler4でインストールできます。
ただ、手元で試した所、ヘルプが見れないのとコマンドライン実行後に
少し動きがおかしいので、もう少し待った方がいいかもしれません。
Sourceforge.jpでは直ってますが、今はFedora向けに修正を加えているところです。

5 :
>>4
乙です

6 :
>>4
作者さん、お疲れさまです。
Fedoraでは、testing repositoryにxyzsh 1.3.2, mfiler4 1.1.1まで
来ています。stable repositoryにpushされるには、testingで少なくとも
1週間立つ必要があるので、新しいバージョンをすぐ試したい方は、
testing repositoryを有効にするといいです。

7 :
>>6
パッケージにして頂いて、ありがとうございます。
とても嬉しかったです。
こまめにアップロードして頂いてるようで、ありがたいです。
今はxyzsh 1.3.3 mfiler4 1.1.2の開発をしています。
configure.inとMakefile.inを変えて、Fedoraでドキュメントが見られないバグを
修正したいと思ってます。
あとmigemoを動的にロードするようにしています。
外国人向けの修正です。
load -dynamic-library migemo.soしないとmigemoがONにならないように
なりますが、ファイラ画面からも、それができて、状態を保存できるようにしたいと思ってます。
ついでにmigemoをロードするとxyzshの画面で日本語ファイル名のmigemo補完ができるようにしてます。mfiler4があれば、あまり必要ないかもしれませんが、一応入れておきます。

8 :
xyzsh-1.3.3, mfiler4-1.1.2
をリリースしてます。
migemoがxyzshのC拡張ライブラリになってます。
load -dynamic-library migemo.so
でロードできます。
migemoが必要ない方はロードしなければbashと同程度しかメモリを消費しません。
あとmigemoによるファイル名の補完も入れています。上のコマンドを実行すると
migemo補完を使うかどうか、聞かれるのでyesと答えてください。有効になります。
詳細はSourceforge.jpのニュース、またはab25cqのブログを見てください。

9 :
xyzshだけ1.3.4になっています。mfiler4には影響がありません。
変更点は
1. 1.3.3でmigemoの補完でcdがおかしかったので修正。
2. completionコマンドに-sourceを追加。
3. 補完の大部分をxyzshで書き直しました。補完のカスタマイズが楽になってます。
4. 外部プログラムのオプションの補完を書きました。manpageを見ながらオプションを選択できます。
です。ファイル名の補完もxyzshで書かれるようになったので補完のカスタマイズ
が楽になってます。
例えばcdの補完では
completion cd (
| file_completion | each ( | =~ '/$' && | print )
print ../\n
)
でディレクトリだけが候補となるcdの補完が書けます。

10 :
あと追記。
migemoのファイル名の補完はOSXではカタカナの補完ができません。
あと濁点がつく補完もできません。
2つ問題があって、一つはOSXでC/Migemoがバグっていること
もう一つはOSXのファイル名のエンコーディングがLinux風のUTF-8
ではないことです。
これの解決をいずれ行ないます。C/Migemoにパッチをあてるのと
OSXのファイル名で変換を行なうための内部コマンドを追加します。
nkfではutf8-macの変換が無理みたい(詳しく確認はしてないです)
なので、iconvで行ないたいと思います。
OSXでは日本語ファイル名を使うことが多いので、この問題はぜひ解決したいです。

11 :
migemoに関してはLinuxの方では全然問題はありません。
C/Migemoはバグもありませんし、Linuxのファイル名は完全なUTF-8なので
問題ありません。
ただし、mfiler4のインクリメンタルサーチのMigemoはそんなにマシーンパワーを使いませんが
xyzshのファイル名のMigemoの補完はかなり良いマシーンじゃないと快適とは言えないかもしれません。特にVirtual BoxなどでLinuxを動かしているといまいちです。直接Linuxがインストールされたマシーンでは十分な速度で動きます。
cygwinではmfiler4のインクリメンタルサーチでのMigemoはそれなりに動きますが、xyzshのファイル名のMigemo補完は絶望的に遅いです。解決は諦めています。

12 :
mfiler4からxyzshを起動した場合migemoの補完でバグが多数ありました。
1.3.6で修正しています。申し訳ないです。

13 :
私の環境 (Ubuntu) では migemo.so が /usr/lib/xyzsh にインストール
されているのですが,LD_LIBRARY_PATH に /usr/lib/xyzsh を追加しないと
load -dynamic-library migemo.so
で migemo.so をロードできないみたいです.
これは仕様でしょうか? migemo.so を使うのは xyzsh だけだと思うので,
もしライブラリのパスを触らないで済ます方法があったら教えてください.

14 :
そうですね。ちょっと確認してみます。
回避する方法としてはxyzshの方でLD_LIBRARY_PATHを設定する(setenv)
方法があります。
問題を確認して、対策を施してみます。
仕様ではありません。

15 :
1.3.7をリリースしています。
1. 1、2文字の補完候補が表示されないバグを修正(1.3.6でエンバグ)
2. 補完候補がちゃんと全部表示されないバグを修正。
3. LD_LIBRARY_PATHが設定されていないとダイナミックライブラリが読み込めない環境に対応。
ごめんなさい。まだ補完関係のバグがありました。
egrep -v '^.$|^..$' --> egrep -v '^\.$|^\.\.$' と直しました。
.と..だけ候補から消したかったんだすが
.だけだと一文字の候補もマッチしてしまって消えてしまってました。
もう、補完関係のバグは大丈夫、、、だと思います。
>13
1.3.7で対応してみました。大丈夫でしょうか。

16 :
あとOSXでのC/Migemoですが、最新版だとカタカナの問題が直っているみたいです。

17 :
mfiler4-1.1.3, xyzsh-1.3.8リリースです。
OSXでのmigemo関連で不具合があったものが直ってます。濁点の補完やインクリメンタルサーチができるようになってます。
(sys::iconv -f UTF-8-MAC -t UTF-8をmigemo::matchの前に付けただけです)
Linuxでは特に変わっていません。
これで、大体migemoと補完関係のバグは潰したと思います。
何度もアップロードを繰り返して申し訳ないです。
1.3.3の時にもう少しチェックを厳しくするべきでした。

18 :
>>15
素早い対応ありがとうございます.1.3.8 で試してみたのですが,
xyzsh の起動前に環境変数をセットしておかないと so ファイルを
ロードできないみたいです.
% xyzsh
-+- Welcome to xyzsh 1.3.8 -+-
run "help" command to see usage
/home/user1/gbp_ubuntu/xyzsh > print /usr/lib/xyzsh | export LD_LIBRARY_PATH
/home/user1/gbp_ubuntu/xyzsh > load -dynamic-library migemo.so
run time error
xyzsh 1: [load] migemo.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
return code is 8192
% LD_LIBRARY_PATH=/usr/lib/xyzsh xyzsh
-+- Welcome to xyzsh 1.3.8 -+-
run "help" command to see usage
/home/user1/gbp_ubuntu/xyzsh > load -dynamic-library migemo.so
/home/user1/gbp_ubuntu/xyzsh >

19 :
>> 18
手元のubuntuでは大丈夫だったのですけれども、何か設定によるみたいですね。
でも、rubyとかの拡張ライブラリとかは大丈夫でしょうから
何か方法があると思います。
それとも、xyzsh側の問題かもしれません。
load -dynamic-libraryはフルパスでもロードができます。
load -dynamic-library /usr/lib/xyzsh/migemo.so
ではどうでしょうか?

20 :
補完関係であとひとつ抜けているのは
シングルクォートとダブルクォートの補完です。
ls 'main.c[TAB] --> ls 'main.c'
とかができなくなってます。(xyzshでファイル名の補完を書き始めたころから)
mfiler4の一画面時のp,P,u,Uあたりが問題になってます。
それを近々修正したいと思います。

21 :
あとOSXでmigemo.soをmfiler4からロードすると落ちる実行ファイルが
作られることがあります。(mfiler4を起動した時だけ落ちる)
その場合はmake && sudo make installをもう一回すると
何故か大丈夫になったりします。
たぶん、リンク関係のバグでgccに-Wl,オプションを付けて回避できると
思いますが、そのようなことが起こった場合は
もう一度make && sudo make installしてみてください。
まだ原因を探しているところです。
もしかしたら、Linuxでも再現するかもしれないので
そのような人がおられたら、教えてもらえたら嬉しいです。

22 :
>>21
お疲れ様です。Fedoraでまずtestingにpushします。

23 :
>>19
フルパスを指定したらロードできたので自分の
環境に原因があるかもしれむせん。
自分でも原因を調べてみます。

24 :
開発お疲れさまです。いつもありがたく使わせていただいています。
mfiler4への要望なんですが、ジャンプメニューをaから始めずに1-0の次にa-zという風にすることはできますか?
それと前述の要望と合わせて固定で 1-0 セパレータ a-z となっていれば十分ではありますが、可能であるなら -- とか sep などで直接ファイルを弄ってセパレータを記述できると助かります。
ttp://pastebin.com/YK85jEip
手元のmfiler4.xyzshを貼ってみます。おかしなことをしていたらどなたかツッコミをお願いしたいです。

25 :
>>24
了解です。ジャンプメニューをそのように改良しています。
みなさん、ファイルにキーも書き込んだほうがいいですか?
僕は結構~/.mfiler4/jumpが1行1ディレクトリというのは気に入っていまして。
でも、どちらにも対応させるやり方はあります。
1行に
ディレクトリ, キー, タイト
とCSVのような書き方も許せばいけます。
, が無くて一行一ディレクトリなら固定のキーを割り振るとかすればいいですね。
その辺りはxyzshのテキスト処理が十分に役に立つと思います。
次のバージョンでやってみますね。
あとmfiler4.xyzshを貼って頂いてありがとうございます。
突っ込む所は変数名はext_lenはJava式のExtLenとかの方が良いのでは?
というところです。僕も最近気づいたんですけれども、たぶん、それがxyzshでは
無難です。小文字はコマンド名と重なることがありますし。
あとtaget_pathというコマンドは大変気に入りました。mfiler4.xyzshにも取り込んでおきます。記述、ありがとう。大変嬉しいです。

26 :
>25
おお、対応していただけるんですか! ありがとうございます! 次バージョンが今から楽しみです。
ええと、メニュー項目を直接指定するキーは自前で設定できれば使わないキーの行を詰めることができるって利点がありますね。
手元ではとりあえずa-zまで表示させておいて使いやすい配置を試行錯誤していますが半分くらい空いていますし……。
それから、mfiler3のメニューファイルを直接弄ったときにちょっと混乱した経験から言うと、1行1項目のメニューファイルは編集しやすくていいと思います。
あー、extlenはlocal変数だし適当でいいかと思って付けた名前ですね。
直後の処理のひな形を/usr/local/etc配下のmfiler4.xyzshから持ってきたので、それに習ってlかnにでもしようかと一瞬悩んだような気がします。
変数の命名規則は言語によって異なるというか、作者さんが好むものが正解みたいなところがあるのでここは仰るとおりの形式を採りたいと思います。
ご指摘ありがとうございました。target_pathの件と合わせてこれからのカスタマイズの励みにします。

27 :
Arch Linuxで、xyzshの最新版がコンパイルエラーで止まってしまう…
当方の環境では1.3.2は全く問題なくコンパイル&インストールできるのに、1.3.3以降はダメなようです。
ln -s libxyzsh.so.1.7.0 libxyzsh.so.1
ln -s libxyzsh.so.1.7.0 libxyzsh.so
gcc -o xyzsh src/main.c -Isrc/ -I. -L. -I/usr/local/include -L/usr/local/lib -fPIC -DSYSCONFDIR="\"/usr/local/etc/xyzsh/\""
-DDOCDIR="\"/usr/local/share/doc/xyzsh/\"" -DSYSTEM_MIGEMODIR="\"/usr/local/share/migemo\""
-DEXTDIR="\"/usr/local/lib/xyzsh/\"" -I/usr/local/include -L/usr/local/lib -lxyzsh -lreadline -lcursesw -lncursesw -lm -lonig
./libxyzsh.so: `dlopen' に対する定義されていない参照です
./libxyzsh.so: `dlclose' に対する定義されていない参照です
./libxyzsh.so: `dlerror' に対する定義されていない参照です
./libxyzsh.so: `dlsym' に対する定義されていない参照です
collect2: エラー: ld はステータス 1 で終了しました
make: *** [xyzsh] エラー 1
原因のわかる方、教えて頂けませんでしょうか。

28 :
いつの間にかxyzsh 1.3.9 / mfiler4 1.1.4が
いつの間にか出てた
>>27
export LDFLAGS=-ldl
とやって configure からやり直すとうまく行く?

29 :
>>28
ビンゴ!その方法でうまく行きました。
ありがとうございます。助かりました。

30 :
xyzsh-1.4.0, 1.4.1
mfiler4-1.1.5 1.1.6
をリリースしてます。
xyzsh-1.4.0ではlines, rows, 配列、ハッシュの範囲外を指定した場合の動きが変わってます。気をつけてください。
xyzsh-1.4.1ではhelpでプログラムのサンプルが載るようになってます。
mfiler4では言っていたjumpメニューのキーバインドを自動的に設定するかしないかの指定ができるようになってます。
あとArch Linuxで上記の修正を行なっています。
>>28さん
ありがとうございます。

31 :
>30
規制でお礼が遅くなってしまいましたがジャンプメニューのキーバインドの件ありがとうございました

32 :
>>19
自分の環境で load -dynamic-library がエラーになる原因がわかりました.
debuild でパッケージ化したときに dh_fixperms が migemo.so の実行権限を
外していたためでした.
とりあえず src/run.c にパッチを当てています.
--- a/src/run.c
+++ b/src/run.c
@@ -1747,11 +1747,11 @@
char path[PATH_MAX];
snprintf(path, PATH_MAX, "%s%s", EXTDIR, fname);

- if(access(path, X_OK) != 0) {
+ if(access(path, R_OK) != 0) {
char* home = getenv("HOME");
if(home) {
snprintf(path, PATH_MAX, "%s/.xyzsh/lib/%s", home, fname);
- if(access(path, X_OK) != 0) {
+ if(access(path, R_OK) != 0) {
xstrncpy(path, fname, PATH_MAX);
}
}
出来れば上流側で対応していただきたいです.

33 :
>>32
了解です。次のバージョンでは対応します。
>>all
xyzshはあまり真剣に受け止めないでください。ワンライナーとかインタラクティブに文字列、ファイル操作させるとか、50-100行程度のスクリプトを書いたり、補完をカスタマイズしたりとかは楽しいかもです。
helpにサンプルも載せたので、インタラクティブに少し動作を試せば、すぐ使いこなせると思うので学習のコストは低いと思います。
あと長めのxyzshスクリプトを書くコツは
変数を使って普通のスクリプト的に書くのがコツです。
コンテキストパイプとグローバルパイプを多用して、ほとんど変数を使わずに書くことも不可能ではないんですけれども、頭が壊れるかもです。
でも、左から右に次々コマンドをつなげていけるのは楽しいと思います。

34 :
変更点はSourceforge.jpのニュースを見てください。
やっとオブジェクトの絶対パスが入っています。
> object obj ( ls | var a b c )
> ::obj::a
main.c
外からもオブジェクトに属性を追加できます。
> print ABC | var obj:d
> ::obj::d
ABC
あとはsplit, join, linesで感覚的に正しい動きにしています。
自分で使っていて、かなり混乱してしまっていたので、正しました。
> split -tareget "a,b,c" , | join ,
a,b,c
> split -target "a,b,c,d,e" , | lines 1 2 | join ,
b,c
> split -target ",,,a,b,c,,," , | join ,
,,,a,b,c,,,
> split -target ",,,a,b,c,,," , | strip | join ,
a,b,c
後は補完関係でバグが無くなりました。と言い切ってもいいかも。

35 :
上はmfiler4-1.1.7とxyzsh-1.4.2のリリースをしましたという報告です。

36 :
更新お疲れさまです
さっそくDLしてみましたが以下のようなエラーが出てmfiler4のmakeが通りません
gcc -Isrc/ -I/usr/local/include -L/usr/local/lib -I . -DSYSCONFDIR="\"/usr/local/etc/mfiler4/\"" -DDOCDIR="\"/usr/local/share/doc/mfiler4/\""(次行に続く)
(前行から) -I/usr/local/include -L/usr/local/lib -O3 -Werror -c -o src/commands.o src/commands.c
src/commands.c: 関数 ‘cmd_vd’ 内:
src/commands.c:2047:9: エラー: 関数 ‘fd_split’ へ渡す引数が少なすぎます
In file included from src/common.h:5:0,
            from src/commands.c:1:
/usr/local/include/xyzsh/xyzsh.h:522:6: 備考: ここで宣言されています
make: *** [src/commands.o] エラー 1

37 :
mfiler4-1.1.8をリリース。xyzsh-1.4.2が必要。
コンパイルエラーを修正。

38 :
>> 21
21の問題は環境変数LD_LIBRARY_PATHに/usr/local/binを設定しなかっただけでした。
OSXではmfiler4,xyzshともに特に問題なく動いてます。
最近、僕もOSXがメイン環境なんで、OSXの方にも、ぜひ使って頂きたいです。
ただ、OSXではreadlineがlibeditなのでxyzshにはGNU readlineが必要なのに注意してください。
GNU readlineのインストールにはMacportsやbrewを使うと楽にインストールできます。
xyzshとmfiler4自体はMacportsやbrewではパッケージになっていませんが
そろそろ登録した方がいいかもしれません。
ただ、前に不完全なportファイルを申請して、refuseされたことがあるんですよね(がくり)
あと手元でportファイルにしたら、何故かxyzshのインストールが失敗する問題が出たりしていて、二の足を踏んでいます。

39 :
OSXに入れたxyzshでopenコマンドが効かないのですが、何か特別な設定が必要なのでしょうか?
(which openすると、ちゃんと在り処を出力してくれるのですが)

40 :
openコマンドは~/.xyzsh/programに登録されていないので、sys::openとして入力する必要があります。
登録する方法は
> echo open >> ~/.xyzsh/program
> rehash
とすれば、sys::を省略することができます。
外部プログラムは全て外部プログラムオブジェクトとして::sys以下に登録されています。
実はxyzshのコマンドラインは
コマンド 引数1 引数2 … 引数X
ではなくて
オブジェクト 引数1 引数2 .. 引数X
だったりします。

41 :
できたー!
できました。ありがとうございました。

42 :
xyzsh-1.4.3とmfiler4-1.2.0リリースです。
xyzshでは
readlineからeditlineに行編集プログラムを変更しました。
メニュー選択補完や右プロンプトが入っています。
$(…)の仕様が変わっています。bashを参考にしています。
mfiler4では
キー定義の変数の名前が変わっています。
xyzsh-1.4.3の$(…)の仕様変更に対応しています。
詳しくはSourceforge.jpのニュースを見てください。

43 :
更新お疲れ様です。さっそく使わせていただきます

44 :
今後はmfiler3のヒストリのインクリメンタルサーチ
(3行ほど、インクリメンタルサーチでヒストリがプロンプトの下に表示される
下を押せば、それを選択できる)
mfiler2のファンクションキー
を入れたいと思ってます。
あとはシェルの画面で、CTRL-Wで単語後方削除(現在はAlt+Backspaceになっている)
あたりです。
xyzsh-1.4.3の$(…)の仕様変更への対応は
$$(…)を$(…)に直せば、大体は大丈夫なはずです。$$(…)は無くなりました。
詳しく言うと
"$(…)" は出力をそのまま貼付けます。(これまで通り)
$(…)は改行区切りで、それぞれ各行を一つの引数としてコマンドで使われます。
(全部、改行は取り除かれる)
仕様変更、迷惑をかけます。

45 :
xyzsh 1.4.3ですが:
configureを実行すると
./configure: line 4437: EL_MANTYPE: command not found
./configure: line 4726: EL_ENABLE_WIDEC: command not found
とでます(Fedora 19 i686)。
多分libedit絡みでconfigureの生成が不完全になっている
ものと思われます。そのせいで一部のオプションが有効に
できないようですがどうすればいいでしょうか。

46 :
と思ったらconfig.hの内容を見る限り
一応WIDECHARは有効になっているっぽいですが、
正しいか不明なのでよろしくお願いします。

47 :
>>45,46
了解です。
修正しておきます。

48 :
xyzsh バージョン 1.4.4をリリースしています。
EL_MANTYPEとEL_ENABLE_WIDECはコメントアウトしています。
AC_DEFINE(WIDECHAR,1)で強制的にワイド文字がONになっています。
変更点はSourceforge.jpのニュースを見てください。
あまり評判の良くない?外部コマンドのsys::というプリフィックスは
install_all_external_program_to_root_object
というコマンドを実行すれば、取り除くことができるようになってます。
あとは細かい修正です。
CTRL-Wで後方単語削除になったのが、個人的には心地よいです。
(vimのコマンドモードでもこのようになっているため)

49 :
mfiler4のほうは、カーソル移動で画面がちらつくことがあるバグを修正したら
アップロードします。
(現状ではちゃんと動く端末もあれば動かない端末もある。)
mfiler2のファンクションキーは入れられないと思います。
あとmfiler3のヒストリのインクリメンタルサーチはxyzshの方で
実装してみたのですが、端末のバッファを3行消費してしまうので
いまいちでした。消しています。

50 :
xyzsh 1.4.4ですが、util.hがないと言われてビルドできません。
src/temulator.c:5:18: fatal error: util.h: No such file or directory
対応よろしくお願いします。

51 :
>> 50
すみません。修正しています。
1.4.5リリースです。
ついでに、外部プログラム+オプション+変数が展開されない問題も直しています。
ex) ./configure --prefix=$HOME
util.hはOSXでのヘッダでした。申し訳ございません。

52 :
>>49
いまでも、mfiler2 を常用しております。作者様には感謝。
で、mfiler4 1.2.0 with xyzsh 1.4.3 を試用しているのですが、
(Puppy Linux 431JP2012, Lucid-528JP, Precise 550JP にて)
確かに、Roxterm や lx-terminal などの vte ライブラリに依存する端末では問題ないのですが、
Puppy 標準の urxvt では、画面のチラつきが気になりますので、解消するとうれしいです。

53 :
>>52
あとAndroidやiPhoneのsshクライアントでも、ちらつくことが多いです。
一つ直し方が分かっているので、それで直してみます。
僕もmfiler2の方が良かったと思うことが、よくあるので
mfiler2の良さをmfiler4にも取り入れられたら良いなと思っています。
でも、あまり期待せずに待っていてください。

54 :
mfiler4-1.2.1, xyzsh-1.4.6リリースしています。
mfiler4で再びC/Migemoに依存関係がついています。
(xyzshのインクリメンタルサーチでは速度がでないため、Cで書き直した)
そのためmfiler4でC/Migemoのインクリメンタルサーチを有効にする場合は
configureに--with-migemo, --with-system-migemodirが必要なっています。
C/Migemoのインクリメンタルサーチはアルゴリズムを工夫して高速化しています。
(3文字以上じゃないとC/Migemoを使わない。1,2文字の英字のC/Migemoが吐く正規表現は大量でパフォーマンスがでなかった)
インクリメンタルサーチでdなどを打ったときに固まる現象はでなくなっています。
あとは上記のちらつく端末に対する対処も行なっています。
ついでに、カラーを有効にしても、背景が黒にならずに半透明になるようになっています。
xyzshの方ではzshのディレクトリスタックとHIST_IGNORE_SPACEが入っています。
あと数値計算も入っていますが、この機能はベータとします。
とりあえず入っただけです。

55 :
s/ディレクトリスタック/コマンドラインスタック/

56 :
xyzsh-1.4.7をリリースしています。
migemo.soがgitのソースツリーに含まれていたので修正しています。

57 :
mfiler4-1.2.2リリース。
2013 8月6日 version 1.2.2
1. 画面の更新方法を変えました。
require xyzsh version 1.4.7 later
すみません。1.2.1は画面の更新方法がダメダメです。
修正しています。
urxvtでも、この方法で大丈夫です。
やっぱり、cursesのeraseは駄目ですね、、、。
clearもちらつくし、結局自分でスペースで画面を埋める方法が一番良いようです。

58 :
xyzsh-1.4.8リリース。
1. 動的ライブラリのSOのバージョンが間違ってました。修正。
すみません。
ひとまず、バージョンアップは落ち着いたと思います。

59 :
お疲れさまです。ビルド出来ることは確認しました。Fedoraでもupします。
それと、長いことmfiler4で(Fedoraでのビルド時に)CFLAGSにわけの
分からないオプションを指定しているのに気づきました。いつの間にか
無視されるように変更されていたようですが、spec fileでも修正しておきます。

60 :
mfiler4-1.2.3リリースです。
1. 画面の更新方法を変えました。
2. -xオプションを作りました。-xオプションを使うと画面のリフレッシュにeraseを使います。もしかしたら、画面のちらつきが抑えられるかもしれません。
すみません。やっぱり、スペースを埋める方法でも駄目でした。
Gnome terminal, Terminal.app用にclearでリフレッシュしています。
urxvtはmfiler4 -xで起動してみてください。
ちらつきは抑えられます。ただ画面が乱れることはあるかもしれません。

61 :
>>59
見落としてました。
1.2.3もリリースしています。できたら、こちらのバージョンをアップロードしてもらいたいです。
1.2.2のリフレッシュ方法では画面が乱れることがあります。
cursesのclear,eraseの問題は端末エミュレーターの作者に解決してもらいたいです。
画面のクリア後にウェイトを入れるか入れないかだけの問題なんですけれども。
(Gnome terminalやTerminal.appのようにclear後はウェイトが入らない
方が、大概のcursesアプリでは都合がいいはずです。)
cursesのeraseは大抵の端末エミュレーターで巧く動きません。

62 :
この辺りの問題を回避しようとすると自前でエスケープシーケンスを
処理するしかないんですけれども、なかなかハードルが高くて、手が出せません。
(mfiler2, mfiler3ではmcursesというのを作っていましたが
入力を扱うmgetchという関数がスパゲッティなコードだったので
削除してcursesを使っています。出力は割と楽に書けるんですけれども、、、)

63 :
>>61
xyzsh 1.4.8, mfiler4 1.2.3が今日か明日中に
(先ずはtestingの方に)出回ると思いますので、
よろしければご確認ください。

64 :
>>63
確認しました。いつも、お世話になっています。
ありがとうございます。

65 :
mfiler4-1.2.4リリースです。
1. コピーの上書き時の画面にバグがありました。修正しています。
またアップロードしています。申し訳ないです。
sourceforge.jpにはtgzが、githubにはソースがあります。
アドレスは
http://sourceforge.jp/users/ab25cq
https://github.com/ab25cq
です。

66 :
>>65
お疲れ様です。
Fedoraでもmfiler4 1.2.4をtestingにpushしました。

67 :
>>66
pushありがとうございます。
たぶん、もう安定していると思います。

68 :
mfiler3を現在使わせていただいております。
初めてmfiler4をインストールさせていただいたのですが、日本語が文字化けしてしまいます
Ubuntu12.04
xyzsh 1.4.8
mfiler4-1.2.4
readme通りにインストール出来たと思うのですが、どうすれば正常に戻せるのでそうか。
よろしくお願いします。

69 :
>>68
>日本語が文字化け
とは、日本語のファイル名やディレクトリ名の表示が化けるということでしょうか?

70 :
>>69
レスありがとうございます。
その通りです。例えば「テスト」という文字列がファイル名、ディレクトリ名共に
M-c~C~FM-c~BM-9M-c~C~H
みたいな化けかたをします。

71 :
build-essentialとlibm17n-dev libncurses5-dev libncursersw5-dev libreadline-dev libmigemo-dev libonig-dev辺りが入っていれば大丈夫だと思う
何か足りないものはない?

72 :
>>71
ありがとうございます。
libmigemo-devは入れていなかったため、インストールして再ビルドしてみましたが、改善しませんでした。
あと、xyzshの方もeogなどの外部プログラムを呼びだせない不具合があったのですが(runtime errorとか出る)、こちらは--with-optimizeオプションを外すことで改善しました。
mfilerの方ももしかして……と思いましたが、オプションなしでも駄目でした。
xyzshの方はちゃんと日本語が表示できてるんですよね。なんでだろう。

73 :
あ、すみません。
たぶん、libncurseswが入っていないからだと思います。
wの方が必要です。
libncursesの方がリンクされると日本語は表示できません。
xyzshで外部プログラムが呼べないバグは心当たりがないです。
--with-optimizeがなかったら動くとか、なんか嫌な動きですね。
もしかしたらですが
xyzshはデフォルトでは外部プログラムを呼ぶにはsys::プリフィックスが必要なので
(sys::が省略できるように登録されている外部プログラム以外は)
--with-optimizeがあっても、sys::eogなら呼べるかもしれません。
いちいち、sys::を打つのが面倒なら、install_all_external_program_to_root_object
を実行すれば、全ての外部プログラムがsys::がなくても呼べるようになります。
(むしろ、これをデフォルトにしようかと悩んでいます、、、というか、そうした方が良いと今思いました。)

74 :
>>73
いつも利用させていただいてます。ありがとうございます。
> たぶん、libncurseswが入っていない
libncurses,libnucrses-dev,libncurseswが入っていて、libncursesw-devが入ってませんでした。READMEを読んで確認したつもりだったのに、見落してました。>>71でも書いていただいてたのに、すいません。
インストールして再ビルドで無事日本語が表示出来るようになりました。
xyzshの方は、--with-optimizeを付けた状態で、sys::を付加すること、またinstall_all_external_program_to_root_objectを実行することで外部プログラムが呼べるようになりました。
あと、試行錯誤中に気付いたことですが、xyzshのconfigureオプションで、--with-migemoを付けないと、mfiler4で--with-migemoを付ける付けないにかかわらず、mfiler4の起動が出来ませんでした。
お手間をお掛けしました。ありがとうございます。

75 :
>>74
報告ありがとうございました。
こちらもncurseswが無いと日本語ファイルが表示できないのは
たぶん落とし穴になるだろうなとは思ってました。
README.jaに詳しく書いておきます。
あとマニュアルに書き忘れているんですけれども
xyzsh上でmigemoの日本語ファイル名を補完したい場合は
load -dynamic-library migemo.so
を実行してください。
xyzshに--with-migemoがないとmfiler4が起動しない問題は次のバージョンで修正します。

76 :
mfiler4-1.2.4 / xyzsh-1.4.8 :
Puppy Linux 用のインストールパッケージを用意しています。
パピー日本語フォーラムのこちらをご覧ください。
ttp://sakurapup.browserloadofcoolness.com/viewtopic.php?f=25&t=2344#p17019
> xyzshに--with-migemoがないとmfiler4が起動しない問題
元々、migemo を入れないことを前提にとくに何もせずに make していると、
とくに起動時の問題は発生しないようですけど。Puppy Linux 上では。

77 :
追伸:xyzsh-1.4.8 でちょっと気になったのは、
 前のバージョンの、/usr/local/lib/libxyzsh.so.1, libxyzsh.so.1.9.x が
 残ってると、起動エラーが発生するので。
 以前のものはきちんと事前に削除/アンインストールせねばならぬことかな。

78 :
xyzsh-1.4.9, mfiler4-1.2.5リリースです。
mfiler4でmigemoのインクリメンタルサーチがおかしいバグを修正しています。
しばらく、他のプロジェクトを行なっているので、xyzsh,mfiler4は
バグ修正くらいになります。
バグの報告は大変助かります。使っていて気づいたことがあれば
ここか、気軽にab25cq@gmail.comまでメールください。

79 :
xyzsh-1.5.0をリリースです。
全ての外部プログラムをルートオブジェクトに登録することをデフォルトとしました。

80 :
更新お疲れ様です。>>68以降でお世話になりました。
最新版インストールしました。外部プログラムの呼び出しが正常に行なわれるようになりました。
様子のおかしかったmigemoによるインクリメントサーチも、期待通りの動きになっていましたが、たまにSegmentation faultで落ちることがあります。
当方の環境では、以下の例で100%再現します。
ディレクトリ下に以下のファイルがある場合
猫の毛玉
猫の肉球
/neko で両方のファイルにヒット(カーソル上下でどちらも選択出来る)
/nekono でその時フォーカスのあたっていたファイルのみがヒット(カーソル上下出来ない)
BSキーで /neko に戻しカーソル上下でSegmentation faultとなります。

81 :
開発お疲れ様です。また気力が湧いてきたので──ちょっとした不便に我慢ができなくなってきたともいう──~/.mfiler4/mfiler4.xyzshを現在ごりごり書いています。
近いうちにまたお見せできそうなのでそのときについでにと思っていたのですが、segfaultの話題が出ているので便乗していくつか実例を出します。
なおテストした環境はXubuntu13.04 xfce4-terminalです。
$ cat ~/.xyzsh/xyzsh.xyzsh
|alias emacs ( sys::vim ) ## ちょっとした悪ふざけのつもりでした
$ xyzsh
|Segmentation fault (コアダンプ)
$ cat ~/.xyzsh/xyzsh.xyzsh
|alias less ( sys::lv ) ## lessの代わりにlvを使いたいなと思って
$ mfiler4 ## 適当なファイルにカーソルを合わせてcmdlineに移行してless $(mfiler4::cursor)する
|It is not enough memory
$ cat ~/.xyzsh/xyzsh.xyzsh
|load -dynamic-library migemo.so
$ xyzsh
|welcome to migemo.so dynamic library. You can read help type with "migemo::help 'command name'"
|Do you want to use migemo completion which is Japanese ROMAJI completion?(y/n)y
|Segmentation fault (コアダンプ)
それとtypoと思われるものを見つけました。
1つめ。mfiler4のmchoiseはmchoiceがスペル的に正しいような?
2つめ。やはりmfiler4のREADME.jaの--with-system-migemo-dirは--with-systemi-migemodirではないでしょうか?
最後にxyzshの変数の扱い方に関しての質問なのですが、以下のように先頭のaryが無くても動作します。
デフォルトのmfiler4でも省略しているようですがこの書き方はアリなんでしょうか?
ARGV| each (| chomp| less $(| print))

82 :
>>80
>>81
明日修正してみます。
報告ありがとうございます。
こういう報告が一番助かります。
ARGV | each ( less $(| chomp))
ですが
実は変数はコマンドとしても動きます、、、。
$ ls | ary ABC
$ ABC
lsの出力
selfを実行するとカレントオブジェクトに登録されているコマンドや変数の一覧が見れます。
$ self | grep ABC
ABC: array
ABCはカレントオブジェクトに登録された配列です。
外部プログラムのlsもカレントオブジェクトに登録されているので、lsと打てば実行できます。
前はsysというオブジェクトに外部プログラムが登録されていたので
sys::lsなどとしなければならなかったということです。

83 :
関数やエイリアスやその他も全てオブジェクトに登録されます。
xyzshのオブジェクトは単なる名前空間のようなものです。
ファイルを入れるディレクトリのような役目です。
$ def fun ( puts "Hello World" )
$ self | grep fun
fun: function
$ object OBJ
$ self | grep OBJ
OBJ: object
$ OBJ::run ( ls | ary XXX )
$ OBJ | grep XXX
XXX: array
$ OBJ::XXX
lsの出力
と紹介するより先にバグ修正しないといけない、、、。明日修正します。

84 :
書き方が悪いと思うのですが期待通りに動きません。どう書き換えればいいのでしょうか?
$ typeof mfiler4::file_ext && typeof mfiler4::file_ext_by_name && def mfiler4::file_ext_by_name
native function
function
file_ext $-(OPTIONS| uniq) $(file_index -d sdir $ARGV) ## 期待通り動作する
file_ext $-(OPTIONS| uniq) $(file_index $-(OPTIONS|uniq) $ARGV) ## 期待に反してfile_indexが-1で返ってくる
$ ls $(mfiler4::path -d sdir)
mfiler4.xyzsh.swp mfiler4.zip
$ mfiler4::file_ext -d sdir 2
zip
$ mfiler4::file_ext_by_name -d sdir mfiler4.zip
zip
run time error
/home/****/.mfiler4/mfiler4.xyzsh 51: invalid command using
xyzsh 1: run time error
return code is 8192

85 :
>>79
>全ての外部プログラムをルートオブジェクトに登録することをデフォルトとしました。
うちの貧弱なマシンでは、xyzsh起動に、5秒程度かかってしまうので、
コマンドラインオプションで動作を切り替えて
従来方式で、~/.xyzsh/program に登録されたプログラム名を
読んで起動するようにできませんでしょうか?

86 :
あ、 xyzsh-1.5.0 です。

87 :
>>80
修正しました。nekoNoとタイプするとマッチします。
>>81
こちらでは再現しません。リンク関係で実行ファイルがおかしくなっているかもしれません。
タイポは修正しました。
>>84
mfiler4はxyzshを搭載していますが、カスタマイズはお勧めしません。
正直パイプで全てを行い、動作速度も致命的に遅いxyzshはアプリケーションのカスタマイズには向かないと思います。少し書いてみたりもしましたが、パイプでどんどん文字列を加工していくスタイルで長めのスクリプトを書いていると頭が痛くなってきます。
カスタマイズを期待されている方はすみません。xyzshを作っている時はこうなるとは思ってもいませんでした。
xyzshの使い道は、ちょっとした30行から50行程度のスクリプトでのファイル処理、テキスト処理やワンライナーです。インタラクティブシェルとしてはperlやruby的な文字列処理も行なえるので便利に使えるかもしれません。
>> 85
前のように外部プログラムは登録制になりました。マシン速度が速い方はinstall_all_externa_program_to_root_objectを実行して全ての外部プログラムをルートオブジェクトに登録してください。

88 :
xyzsh-1.5.1, mfiler4-1.2.6リリースです。

89 :
作者様、起動速度改善しました。xyzsh-1.5.1 + mfiler4-1.2.6
有り難うございます。
xyzsh-1.5.0 5秒
xyzsh-1.5.1 1秒未満(0.86秒)
ただ、OS の別ヴァージョンだと 1.5.0 でもそんなに問題なかったので、
マシンの速度というより、ライブラリ群の相性問題だったのかもしれません。

90 :
ttp://pastebin.com/AUHiMtMh
最初に>81で言ったmfiler4.xyzshを投げておきます。mfiler4ユーザ各位の参考になればいいなと思います。
>87
更新お疲れ様です。
|こちらでは再現しません。リンク関係で実行ファイルがおかしくなっているかもしれません。
ということは手元の環境だけということですね。改めて見直してみます。
|mfiler4はxyzshを搭載していますが、カスタマイズはお勧めしません。
ちょっとした不便を快適にをテーマにやってみているだけですので、あまりお気になさらないようにお願いします。
正直なところ、ある程度好きなようにカスタマイズできる2画面ファイラは存在するだけでありがたいですし、カスタマイズに関してもそれほど不便は感じていません。
……以前にも同じようなことを言われた記憶がありますね。
実のところ>84は書き方が悪いのかそれともxyzshの不具合なのかが分からなかったので、作者さんにお尋ねしたかっただけです。
やっていることは同じはずなのに結果が異なる(file_indexの返値が異なる)のはなぜだろう?と。
とりあえず当面は別の方法で逃げましたので、もしお時間があればお答えいただけると嬉しいかなといったところです。

91 :
作者さまへ、リクエスト もしくは、 mfiler4.xyzsh で設定できるなら
ご教示願いたいのですが、
現在、ファイラ画面に端末が表示するカーソルの位置が
端末画面の下から二行目の先頭(左端)に表示されます。
これを、端末画面の最下行の右端にすることはできないでしょうか? 
結構目障りなので。 キーボードからの入力位置とは関係ないようですし。

92 :
mfiler4-1.2.6 & xyzsh-1.5.1 にて
ファイルをコピーすると、
コピー先にコピーされたファイルのタイムスタンプが、
コピーした時点になってしまうのですが、
元ファイルのタイムスタンプを保持するように出来ないでしょうか?

93 :
>>90
すみません。他の方にも報告を受けました。Fedoraでも再現するそうです。
せっかく報告を貰ったのに確認を怠って申し訳ありません。
明日確認しだい修正します。
>>91
それは実は色々と理由がありまして、そうなってます。
何度か、色々といい位置を探して、うろうろとカーソル君は動いているんですが
今の位置が居心地が良いようです。
>>92
何度か、その要望は受けているので、デフォルトはそうしてみます。
その方がほんとのコピーらしいかもしれませんね。
fdcloneとかどうなってんだろ、、、。

94 :
>>81,90
修正してバージョンをxyzsh-1.5.3としてリリースしました。
alias関連のバグは取れた、、、と思います。
migemoの方は僕にも良く分かりません。
OSX, Fedora辺りではmigemoも安定しているように思います。
ちょっと再現しないので直しようがありません。
動的ライブラリ関連の設定辺りが怪しいかもしれません。
>>92
ああ、こっちを忘れてましたね。明日当たり修正してみます。

95 :
>>81,90
migemoの件も分かりました。~/.xyzsh/xyzsh.xyzshでロードした場合ですね。
それは落ちます。直しますね。すみません。

96 :
version 1.5.4リリースです。
migemoがランタムスクリプトで読み込めないバグも修正しました。

97 :
>95
対応お疲れ様です。
ああ、そうか。どこで設定したのかをお伝えすれば良かったのですね。また何か報告することがあれば気をつけたいと思います。

98 :
1.5.5 リリースです。
1. $XYZSH_HISTSIZE, $XYZSH_HISTFILEが巧く動いていない問題を修正。1.5.4でエンバグ
あとは当分、大丈夫だと思います。すみません。矢継ぎ早のリリースで。

99 :
mfiler4-1.2.7 リリースです。
マニュアルにmfiler3という記述がいくつか、見つかったので修正しています(w;
大体やりつくした感があります。
今後、バグ修正以外は、特にアタッチしないと思います。
(機能拡張はない)
やり残しているのはxyzshのコマンド補完のレパートリーが寂しい所ですかね、、、。
あとホームページは
ttp://www54.atwiki.jp/ab25cq/
に移動しています。
そこにmfiler4とxyzshの使い方という記事を書いています。
参考にどうぞ。
vimの記事もありますよ。

100 :
mfiler4-1.2.8 リリースです。
タイポの修正。2 pain --> 2 pane


100〜のスレッドの続きを読む
Debian原理主義者ペタキモス
Android総合
SGI KDBを使ったカーネルデバッグスレ
ポートはこちら PS2
【ZERO3】リザぽん化プロジェクト 003【Linux】
[gentooベース]sabayon Linux
Fedora 総合スレッド Part 59
【Raspberry Pi】ラズベリー・パイpart56【Arm】
お前らも、いつかはWindows7使うことになる
【init】Systemdアンチスレ
--------------------
【MHXX/MHX】闘技大会総合スレ4
【三代目】円谷皐【次男】
【経済】LGBTイベント参加企業激増 グーグル、GS、野村証券、アマゾン、ソニー、パナ、三菱UFJ銀… 顧客、社員として重要なLGBT★2
◆◆◆◆◆富士火災残酷秘話 社員指詰め◆◆◆◆◆
【妄想】もし日本の防衛費が対GDP比3%になったら
【夜明けまで強がらなくてもいい】乃木坂46★9576【本スレ】
離婚したい奥様(IDなし、末尾あり)Part24
宇宙刑事ギャバン 宇宙刑事シャリバン 宇宙刑事シャイダーの おもひで
シナモンは効くの?
習志野www横浜wwwというか、関東www   アホ面ばかりで日本の恥やな(笑)
■慶應ラグビー魂【ラグビーは就職先獲得の餌】
#ヒーローが子供達を元気にする がアツい
【FEH】ファイアーエムブレムヒーローズpart5357
精神障害者紙おむつの瞳が無線で語る
50代・食事内容をたんたんと書き込むスレ2食目
各年代を代表するレスラーを決めてみよう
歯科技工士☆新時代 第49期
【BTC】ビットコイン情報交換スレッド1728【アフィ
鉄拳はもう新キャラ作らず既存キャラ復活させろ
アメリカで音楽活動してる人
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼