1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/12(金) 00:54:20 ] zshについて語るスレ www.zsh.org/ zsh.sourceforge.net/ ・過去ログ zsh その5 pc11.2ch.net/test/read.cgi/unix/1212677877/ zsh その4 pc11.2ch.net/test/read.cgi/unix/1107342206/ zsh その3 pc5.2ch.net/test/read.cgi/unix/1080002786/ zsh入門 パート2 pc3.2ch.net/test/read.cgi/unix/1036324177/ zsh入門 pc.2ch.net/test/read.cgi/unix/990283346/
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/27(木) 04:58:20 ] zshaddhistoryを使えばどうにでもなるはず 参考 ttp://d.hatena.ne.jp/mollifier/20090728/p1 zshは実はファイルマッチで使うようなパターンだけじゃなくて 正規表現も使えたりするのでそういう感じでがんばれ
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 02:42:07 ] completion の matcher-list にも正規表現が使えるといいんだけど。 というか、 PATTERN MATCHING でも (a|b) は使えるのにこれも matcher-list じゃ使えないからなあ。残念な話だ
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 04:39:08 ] >>355 _rm が編集行の指定済ファイルを補完対象外にしていて、 入力中の語もその中に入っちゃってるみたいね。 多分期待動作じゃないんだろうな。 _rm 内の↓がそれっぽい。ここらへんの記法が何するものかは忘れたけど ignored=(${line//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 12:59:17 ] >>363 細かい解説どうも。いつからか_rmが追加されて、それ以降の挙動のようですね 期待動作というかlsのような補完と挙動が違うのは バグ だと思ってます _rm採用以前はすべての対象ファイルが補完されてたわけだですし cd でディレクトリのみを補完対象にするのとはワケが違うと思うんですけどね
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 15:42:25 ] 自分でいじったんじゃなくて?
366 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 16:16:40 ] もちろん。自分ではいじってないですよGentooがいじってる可能性はあるかもしれませんが バージョンは4.3.9でした
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 23:38:49 ] >>364 lsとかの単なるファイル補完と違うのは rm a a みたいに同じファイルを2回指定することはないから 補完対象から外しているんだと思う。 (lsも2回指定することはない気はするけど、外すようにはしてない。 必要はないしね) これ自体は個人的には悪くないと思う。 menulistで補完してると、 2つ目にも指定済のファイルが候補にあると邪魔だからね。 通常のファイル補完でこれをやると、例えば cat a a とかはありうるから、うまくない。 まあ rm でやっていて ls でやってないことが気になる人もいるってことかな。 _rm が入力中の語も補完対象外にしているのは バグっぽいなあと思うけど。 その語は入力が完了しているから補完する必要がないとも 強引には考えられるけど。いや無理があるか。他の補完動作とも合ってないしね。
368 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 23:41:56 ] ていうか、 [[ -e file* ]] みたいなことって、できないんだっけ?(file* にマッチするファイルがあるか判定) [[ でできないってだけだけど。 これ普通どうやるんだっけな。
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/29(土) 23:46:10 ] >>368 ls file*の戻り値で代用
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/30(日) 00:00:59 ] そうか。そうだね。 tmp=(file*(N)); (( ${#tmp} )) ↑なん考えちゃったよ。 # tmp が消せなかった それなら : file* でよさそうだね。 thx.
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/30(日) 00:11:05 ] ( : file* ) 2>/dev/null としないと errmsg とともに終わる(forが) そんだけ
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/05(土) 02:51:12 ] 補完の設定でフィルタ関数みたいなのはないのかな。 入力語と補完候補をとってマッチするか否かを判定するようなやつ。
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/05(土) 10:35:35 ] 内部コマンドの getopts で POSIXLY_CORRECT=0 に相当する 動作にできないものだろうか。履歴を使い回して末尾にオプションを 付け足したいときがままあるので。
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/06(日) 12:33:57 ] bashのスレはどこですか?
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/09(水) 13:10:46 ] zshでプロンプトに journal.mycom.co.jp/articles/2009/09/09/bash/images/004.jpg みたいにpts/xを表示させたいんだが環境変数わからないので教えてください
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/09(水) 15:16:38 ] 環境変数でなくてプロンプト記法における %l だね
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/11(金) 12:45:00 ] .zshenvっていつでも読まれるはずだよね? ログインシェルだと.zshenv読んでくれないんだけど,なんでかな .zprofileはマニュアル通り(ログインシェル時のみ読み込む)なんだけど, .zshenvがその反対(ログインシェル以外のとき読み込む)になってるみたい
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/11(金) 22:54:50 ] なんでかなって、1行目の思い込みが間違っているからに決まってる。man読め。
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/11(金) 23:11:35 ] もちろん読んだよ > Commands are first read from /etc/zshenv; > [...] > Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read > from /etc/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are > read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, > /etc/zlogin and $ZDOTDIR/.zlogin are read. これ見るといつでも(NO_RCSでない限り).zshenvを読み込むと思うんだけど もしかして違ってる?
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/11(金) 23:20:43 ] >>379 ログインシェルでも .zshenvを読む。 ただし、zshが sh互換モードで起動されると .zshenvは読まない。 ログインシェルの時だけ /bin/sh -> zsh の symlink 経由で起動してるんじゃない?
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/11(金) 23:45:30 ] ありがとう compatibilityの項読んだよ > The usual zsh startup/shutdown scripts are not executed. Login shells source /etc/profile fol‐ > lowed by $HOME/.profile. けど /bin/sh -> bash になってるし,.zprofileはちゃんと読んでくれてるから違うと思う
382 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/12(土) 00:55:23 ] >>379 もしかしなくても違ってる。 そのセクションを全文読んでから、ありえる解釈を列挙して 一つ一つ検討してもっとも妥当なものを選べ。 それができなきゃソース読め。
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/12(土) 06:39:45 ] >>382 違ってはいないだろ。 オレの環境では login shellでも .zshenv をちゃんと読み込んでるから。
384 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/13(日) 01:37:04 ] setopt globcomplete man (\\|e)[Tab] ってやると ex* がヒットするよ〜。 (e|\\) (\*|e) ('*'|e) も同じ。 (\\|a) だと ax* がヒットする。 (記号|文字列) で 文字列x にヒットするようだ。 (\\|\\) だと何故か ex がヒットする。 まるでバグのようだ。
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/13(日) 02:31:26 ] zstyle ':completion:*' matcher-list 'm:a=日本語文字' ってやるとうまく動かない。動く日本語文字もある。 ab とか、 aの後に文字があると ab[Tab] で m:a=日本語文字 が適用されない。 % printenv LANG LC_ALL ja_JP.UTF-8 ja_JP.UTF-8 % touch 名yy 二yy 椎yy xxyy yyああ あyy アyy 一yy % ls xxyy yyああ あyy アyy 一yy 椎yy 二yy 名yy % zstyle ':completion:*' matcher-list 'm:a=x' % : aay[Tab] → xxyy % zstyle ':completion:*' matcher-list 'm:a=あ' % : a[Tab] → あyy % : ay[Tab] → あyy % : yyaa[Tab] → yyああ % zstyle ':completion:*' matcher-list 'm:a=x m:a=あ m:a=ア m:a=一 m:a=二 m:a=名 m:a=椎' % : a[Tab] ↓ % : 名yy file 名yy 二yy 椎yy xxyy あyy アyy 一yy
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/13(日) 02:32:38 ] % : ay[Tab] ↓ % : あyy file あyy アyy 一yy % touch yy名 yy二 yy椎 yyxx yyあ yyア yy一 % ls xxyy yyxx yyあ yyああ yyア yy一 yy椎 yy二 yy名 あyy アyy 一yy 椎yy 二yy 名yy % : yya[Tab] ↓ % : yy二 file yy二 yy椎 yy名 yyxx yyあ yyア yyああ yy一 ↑ みたいに、「あ」、「ア」、「一」は動くけど、「名」、「二」、「椎」はうまく動かない。 もう書けない。
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/14(月) 14:38:34 ] アッー! スンマセン言ってみたかっただけです
388 名前:330 [2009/09/15(火) 19:12:50 ] すいませんお礼忘れてました。 レス下さった方々ありがとうございましたm(_ _)m 参考になりました。
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/17(木) 16:20:26 ] 実行したプロセスすぐに終了しなかった場合にそのプロセスをkillする 方法ってありますか? rshなどでタイムアウトのときに使いたいと思っています。
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/17(木) 16:23:59 ] zshって最強なの?
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/17(木) 16:32:35 ] 最低です
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/18(金) 04:49:12 ] 最強は Version 7 の Bourne Shell
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/18(金) 07:50:11 ] ソースは最狂だが。
394 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/20(日) 03:21:49 ] 残念ながら buggy な zsh
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/20(日) 17:59:16 ] 誰か pulseaudio 0.9.15 向けの _pactl 持ってない? 欲しい。
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/21(月) 22:09:00 ] やっぱり反応ないなあ。 自分で使う pactl move-sink-input だけ実装した。 と一応の自己レス。
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 02:01:31 ] zshユーザって日本にどんくらいいるんだろ
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 13:35:01 ] たしか5人くらいって効いたよ
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 14:04:58 ] じゃあおれアシュラマン役な
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 14:15:47 ] じゃあ僕はサンシャイン
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 19:54:54 ] アシュラマンと組んだ時のサンシャインって なんで砂にならなかったの?
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 20:09:46 ] ログインシェルがデフォでzshなディストリが出てこないと増えないよなやっぱ
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 20:31:41 ] SH_WORD_SPLITがデフォじゃないと増えないよなやっぱ
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 21:12:40 ] 自分のzshスクリプトをbash野郎に説明すんのにすごいストレス溜まる
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 21:38:00 ] zshでスクリプトなんて書かねーよ
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 21:55:21 ] >>405 普通に書くぞ。 人に説明しないけど。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 22:52:33 ] 01,02,・・・,99が{01..99}でできるってだけで有り難いわ
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 23:54:05 ] bashでもできるよ
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 00:39:33 ] >>408 マジで?うちの環境ではbashは3.2だが古すぎるのか bash使ってた頃はいちいちprint文とか使って桁を整えてたわ
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 01:30:12 ] ぶっちゃけbashは4でzshに近づくことができたのか?
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 09:10:22 ] >407 エロ画像連番スレの基本技5ヶ条の1だね
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 11:13:26 ] >>409 CHANGES によると { .. } は bash-3.0-alpha で実装された模様。 でもうちの 3.1.17 だとこうなってしまう。 $ echo {01..10} 1 2 3 4 5 6 7 8 9 10
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 11:38:24 ] $ bash -c 'echo {01..10}' 01 02 03 04 05 06 07 08 09 10 bash-4.0.33
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 12:08:23 ] >>413 bash-4.0-alpha からそうなったみたいね。TNX
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 13:50:22 ] ksh93なら $ echo {01..010} 1 2 3 4 5 6 7 8 $ echo {0x0..0x10} 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ echo {a..z} a b c d e f g h i j k l m n o p q r s t u v w x y z
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 19:09:57 ] >>413 すげー、bashも進化してんだなw 他シェルの便利機能を取り込む姿勢はたいへん宜しい ただ、3→4へのメジャーバージョンアップはgccのそれを思い出して ついまともな出来なのかと疑ってしまうw >>415 そんなことできるのかksh
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/30(水) 00:02:28 ] bashもtcshもいつの間にか機能増えてたりするんで なかなか機能差異を説明するのも難しい まだ鍛錬が足らぬだけか
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/30(水) 20:59:00 ] でもよく調べると、やっぱzshに及ばないジャンwって結論に至る
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/02(金) 21:42:40 ] acapulco.dyndns.org/manual/src/zsh/
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 00:41:39 ] fish!!
421 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 00:46:11 ] x68000にfishというシェルがありました。 Cシェル系だったけどナー。
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 00:57:07 ] いや fishshell.org のことでしょ。
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/09(金) 16:51:28 ] zshの配列のインデックスって1からなのかよ! 小半時悩んじまったじゃねーかハゲ $ bash -c 'foo=("bar" "baz"); echo ${foo[1]}' baz $ zsh -c 'foo=("bar" "baz"); echo ${foo[1]}' bar
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 20:56:55 ] zsh金玉
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 20:58:17 ] ズィーエスエイチ袋
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 20:56:20 ] _7z _convmv 誰か持ってる?くれ。
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 14:04:29 ] zftpの使い方がいまいち分からない これ便利なの?
428 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/27(火) 20:49:02 ] これ見て便利だと思たら便利なんじゃね? ttyshare.com/rec/xcezx/3240618/
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/29(木) 21:39:15 ] >>428 感動した よく作るなこんなの・・・
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/30(金) 14:05:44 ] cd - [TAB]で表示されるディレクトリ一覧の、降順・昇順を切り替えるオプションってありますか?
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/06(金) 04:42:36 ] やっと規制解除きた >>430 cd +[TAB] とすれば良いのでは? + と - の意味を切り替えるのは setopt pushd_minus
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/06(金) 04:48:20 ] コマンドを実行せずにヒストリに登録する方法は無いのかな? zle accept-line のコマンドを実行しない版が欲しいんだが。 # HISTFILE を編集するのは無しの方向で。
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/06(金) 07:06:51 ] 過去の話題から。適当なキーに割り当てる。 history-register-line () { fc -R <(<<<$BUFFER); zle send-break } zle -N history-register-line
434 名前:432 [2009/11/07(土) 09:44:36 ] >>433 thx, うまくいきました。 # history-register-line でググったら >>20 がヒットした orz # FAQ だったか。スマソ
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/10(火) 12:14:44 ] ディレクトリの移動履歴だけを対象にして C-r みたいなことがしたいのですが、 どうやったらいいですか?
436 名前:430 mailto:sage [2009/11/10(火) 14:39:29 ] >>431 ありがとうございました!
437 名前:名無しさん@お腹いっぱい。 [2009/11/14(土) 17:38:35 ] cd aaa/bbb/ccc と入力した後に、backward-delete-word で aaa/bbb/ccc をすべて消すのではなく、 最後のスラッシュまで (cccのみ ) 消すことはできるでしょうか。 たしか何かのシェルではできていたのですが、調べてみましたが、zshでのやり方がわかりません。 よろしくお願いします。
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 17:46:00 ] 全く同じ質問を2ちゃんねるのzshスレで見た記憶があるんだが
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 17:49:14 ] /'⌒`ヽ、この質問定期的に来るNE! ヽ、┗ ノ `ーー' γ⌒`ヽ /'⌒⌒ヽ、 ,-ーー-、 .|| ̄ ̄ ( ┃ ⌒ヽ / ┃ ) || /⌒ヽ \ ━┛ ) .(. ┃ ) ||. ( ^ω^ ) ヽ、__,ノ || _(つ¶¶と)__ /||'''''| 三 | |'(⌒) / '―――――`  ̄ \ `============' >>330
440 名前:437 [2009/11/14(土) 17:57:05 ] ありがとうございます。 それなりにzshのまとめブログを内外、見て回って使っていたんですが、ここを利用させていただくのは初で。。 これからは過去ログをチェックします。 これは需要があるとおもうんですが、意外と共有されていないのが不思議です。
441 名前:sage [2009/11/14(土) 18:14:40 ] tab で補完完了時に, もう一度 tabを押すのがいやなのですが、自動的に補完内容を表示する事は可能でしょうか。 例) aaa code/ru -> [tab] aaa code/ruby/ # 補完完了 -> [tab] ( やっと一覧表示 ) を、 aaa code/ru -> [tab] aaa code/ruby/ # 補完完了 ( ここで自動的に一覧表示。) zstyleを調べていたのですが、よくわからす、よろしくお願いします。
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/14(土) 18:25:08 ] >>437 echo $WORDCHARS
443 名前:441 [2009/11/15(日) 13:46:37 ] 補完完了時に何かトリガーするってできないのかな、、、
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/18(水) 21:48:21 ] zshの補完にmigemo使えるようにならない?
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/18(水) 23:33:46 ] そりゃmuripo
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/19(木) 07:40:07 ] C-wで削除するときに直前の文字が日本語だと空白区切りまでじゃなく その一つ前の単語も一緒に削除されちゃうんだけど、これってどうなのよ。 なんか設定で変更できない? echo だよもん[C-w] → 行頭まで削除されちゃう echo hoge だよもん[C-w] → echo になる(hogeも削除される)
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 00:09:09 ] 俺が >>444 書いたんじゃないよな… migemo補完しようとは思ったけど… これ[ ttp://ja.pastebin.ca/1691159 ]を fpath に入れて zstyle ':completion:*::::' completer _complete _migemo とかするとなんとなく migemo補完するかも。 migemo展開パターンに記号が入ってたり、なんかすると 動かなかったりして、補完しようとするケースの半分くらいで 使えないという残念仕様だけど。 # 補完に利用している globcomplete が上記ケースで何故か動かない。 一応、PWD直下のファイル名補完なら、migemo入力を3文字程度以上 打ち込んどけば補完したはず。 後、completer 指定から分かる通り、通常補完が優先なので それにヒットするとmigemoは動かない。 # _complete は外せるけど。 ちなみに俺は使ってない。使えないので。 もっと汚くて使えるものを今書いてるので、 また上げるかもしれない。 # 使えるといっても、対象をファイル名補完に絞った # 個人的には使用に耐える程度のものだけど。 そういえば、_migemo って名前は compdef migemo で使いそうな名前なので、 _migemo_complete とかにした方がいいかも。
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 00:13:00 ] >>441 よくわかってないけど、こんなん? complete-and-list () { zle complete-word ; (( _lastcomp[nmatches] == 1 )) && zle list-choices } zle -N complete-and-list bindkey "^I" complete-and-list >>446 ならないよ
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 00:28:11 ] >>448 ならない人もいるのか。 バージョン・環境・ロケールなど教えてもらえる?
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 03:06:05 ] わり、 ~/.zfunc/ の widget を bind してたわ でも ↓ でも同じだった bindkey "^W" backward-kill-word bindkey "^W" .backward-kill-word % echo $ZSH_VERSION 4.3.9 % uname -rs Linux 2.6.30-gentoo-r6 % printenv LANG LC_ALL ja_JP.UTF-8 ja_JP.UTF-8 ちなみに、消した後、"^[r" (redisplay) するとどうなる?
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/29(日) 12:06:11 ] 変化なし。表示だけおかしいというわけでもない。 バージョン等は4.3.10、FreeBSD 8.0/amd64、ja_JP.UTF-8。 ebuildを見たけど、別段portsと変わっているようにも見えないしなあ。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 01:16:48 ] この件、450と451の違い通り、原因はOSのロケール情報だった。450さんありがとう。 ざっくり言うとzshではiswalnum(3)で単語文字を識別していてLinuxでは これが漢字かなに対して真になるけどFreeBSDではならないことによる。 glibcのロケール定義をみると、Linuxではctypeのalphaクラスに各言語の文字がずらずら入っている。 これに比べてFreeBSDのshare/mklocale/UTF-8.srcの方はヨーロッパ文字以外はお寒い。 ロケール周りはそのほか比べてみると全体的にFreeBSDは見劣りするね。
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 03:55:40 ] おつかれ
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 04:19:22 ] svn a[TAB] b すると unknown svn command: a ってなる。どうにかならんかな? svn a[TAB] だとちゃんと補完するけど。
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 05:28:30 ] _subversion の _svn() 内の最初の _arguments -C \ '(-)--help[print help information]' \ '(- *)--version[print client version information]' \ '1: :->cmds' \ '*:: :->args' && ret=0 で '1: :->cmds' に当たらず '*:: :->args' が効いてるみたい。 _arguments って 1: と *:: を同時に使っちゃいけないんかな? よくわからん。
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/30(月) 23:18:33 ] 452だけど、glibcのロケールデータを借用してLC_CTYPEを増強した。 これでFreeBSDでもzshで日本語の文字が単語文字になって満足。 FreeBSDでも wiki.freebsd.org/LocaleNewApproach という 動きがあるらしいのでそのうちよくなるのかな。
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 02:00:34 ] TABで補完したときに、ファイル名が一意に定まらない時は 必ずリスト表示してほしいんだけど、いい設定とかないかな? ls .zs[TAB] → ls .zsh ここで[^d]すると .zshenv .zshrc と出てくるけれど、それなら最初から出してほしい。
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 15:24:29 ] autoload predict-on predict-on で、先方予測を有効にしているのですが、しばらくログインシェル として使っていると、何かの拍子に先方予測が利かなくなっている ことがあります。(source ~/.zshrc するとまた効き始める) 何か、ショートカットで有効になったり無効になったりするもの なのでしょうか?
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 15:26:40 ] あと、先方予測を有効にしていると apt-get install hoge と入力したとして、あ、sudo しなきゃ…と思って戦闘に戻って sudo と打ち込んだ瞬間、今までの apt-get... がそっくり消える のですが、これは何か回避のしようがないものでしょうか? zsh使い始めたばかりですが、余りの素晴らしさに感動しきりです この点のみ未熟なばかりに不便に感じているのでご教示いただければ
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 16:12:41 ] >>457 setopt autolist ? デフォルトで利いてるはずだけど。
461 名前:名無しさん@お腹いっぱい。 mailto:457 [2009/12/05(土) 17:22:54 ] >>460 レスありがとう。 autolistがデフォで利いてること、 noautolistでリスト表示は^Dで明示的に指示した時のみとなることを確認しました。 457 に示した用に、autolistが設定されている場合でも、 一意に定まらない場合にリスト表示がされないことがある、のが個人的な不満というか…。 それとも、上記の例の場合でも、常にリスト表示されているということでしょうか?