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/
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/11(火) 01:37:58 ] 最近tcshから乗り換えたんだが… tcshでは「/!* &」をaliasで設定するとbgで常に実行されて便利だったので zshでも設定したんだがうまくbgで実行されなかったorz
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/11(火) 03:33:26 ] >>332 関数を使って、 xv() { command xv "$@" & } とかすればOK。 ただ、全部これを定義するのは厄介だと前から 思ってるんだけど、何かいい方法はないだろうか。
334 名前:名無しさん@お腹いっぱい。 [2009/08/11(火) 05:37:22 ] 地震をzshでなんとかするには?
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/11(火) 09:43:20 ] 地震後一定時間キー入力がなかったら 生存していないとみなして rm -rf /erodata を実行するようにしておくとか …なんていうタイムアウトがないかと info 見てみたけどなさそうだぬ
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/11(火) 12:47:50 ] >>330 一発ではないけどvi-backward-kill-wordを使えば多少は楽になる。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/11(火) 17:55:42 ] >>336 bindkey "^W" vi-backward-kill-word でいい感じになった。>>330 じゃないけどthx
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/12(水) 09:24:09 ] >333 emacsで設定したらエラーが出てしまうなぁ…
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/12(水) 10:26:15 ] >>330 昔は tcsh からの乗換組が多かったから、このスレでも何度か話題に なっていたと思う。 tcsh-backward-delete-word () { local WORDCHARS="${WORDCHARS:s#/#}" zle .backward-delete-word } zle -N tcsh-backward-delete-word bindkey '^[^H' tcsh-backward-delete-word 割当キーはお好きなように。
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/14(金) 04:23:51 ] >>316 ちょっと外れるけど 久しぶりに man zshall してたら run-help-ssh() { コマンドラインが ssh ... command だったら run-help command } とかすると % ssh ... command で run-help したときに run-help-ssh が呼ばれる → run-help command ってなるらしい。 昔はこんなんなかった気がするけど。 run-help-nice とか書いとけば要求も満たされるんじゃない?
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/16(日) 01:18:57 ] Parameter Expansion Flags ってよく覚えられないな〜 そう頻繁には使わないし、以前使ってても正確に思い出せない for i ( ${(f)"$(ls)"} ) echo $i みたいなのも $〜(f)〜 だか $〜(F)〜 だった気がする程度しかわからん man zshexpn せんとわからん もっというと Modifiers も $i:h 使おうとして dirname の Modifiers って h とか r だっけってかんじだったりする $i:[補完] でオプション補完みたいに説明付きで補完候補出れば 覚えなくてもいいかな でもこれけっこう面倒そうさな
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/16(日) 01:35:08 ] csh由来のmodifierは head ⇔ tail root ⇔ ext extの意味は勘違いしないだろうから、そこからはじめれば他もわかるでしょ。
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/16(日) 04:52:49 ] そういやなんで a/b.ext の a/b が root name なんだろう
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/18(火) 01:27:41 ] なに root name って。 $dirname/$(basename file ext) ?キモ
345 名前:名無しさん@お腹いっぱい。 [2009/08/18(火) 05:29:48 ] 質問 補完候補からディレクトリを除外するにはどうしたらいいですか? % vi でタブを押したときにディレクトリがマッチして使い辛いです。 間違ってディレクトリを開くこともしばしば……
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/18(火) 05:51:55 ] その動作で構わんだろ。サブディレクトリ中のファイルを指定することも考えろよ。
347 名前:345 mailto:sage [2009/08/18(火) 15:33:00 ] 詳しい方のみ回答をお願いします。 また回答者の主義・主観の主張はご遠慮ください。
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/18(火) 16:20:42 ] 次の方どうぞ
349 名前:345 mailto:sage [2009/08/18(火) 18:39:18 ] 自己解決しました。
350 名前:名無しさん@お腹いっぱい。 [2009/08/20(木) 05:54:44 ] 変数値の展開(?)についての質問です。 PAGER='less -Rf' という設定で以下のシェル関数を定義して使うと、 function Diff { svn diff $1 | ${PAGER} } % Diff some_file Diff:1: command not found: less -Rf svn: ストリームに書き込めません: Broken pipe となり、'less -Rf' が一続きのコマンド名として扱われてしまいます。素直に svn diff $1 | less -Rf と解釈してもらうにはどう書けばいいのでしょうか?
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/20(木) 06:16:14 ] >>350 >>187
352 名前:350 mailto:sage [2009/08/20(木) 06:40:46 ] >>351 うは、同じスレに答えが、しかもFAQネタorz ありがとうございました。 ${=PAGER} でいけましたっす。
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/21(金) 17:53:16 ] 実際使っててどっちが使いやすいんだろうな? zshのデフォがno_sh_word_splitということは、それはそれでメリットがあるからやってるんだろうけど 大してzsh使い込んでないんでよう分からん
354 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/22(土) 01:53:19 ] 個人的には no_sh_word_split だけど migemo 補完って誰かやってる? (前半と後半に関係は特にありません。)
355 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/25(火) 23:40:52 ] いつのバージョンからかわからないんだけど ファイルa aaがカレントディレクトリにあるときに % rm a の状態でTABを押したときの補完が % rm a a aa と候補が出るのではなく % rm aa とaaにだけ補完されるんだけど どなたか治し方しらないですか ファイル消えまくりorz
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/26(水) 01:00:49 ] menu complete の動作が嫌ということ? 自分もこの動作があまり好きでないので、 setopt NO_AUTO_MENU にしている。適当なキーに menu-expand-or-complete を 割り当てて、欲しいときは明示的に menu complete を呼び出すようにしているけど。 でも、デフォルトの動作って途中で変わったかな。tcsh から移行したときに 設定したような気がするが、もうよく覚えてない。
357 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/26(水) 01:26:27 ] 違うっす lsコマンドなどでは、 % ls aの時点でTABを押すと a aa と補完候補が出て、次の文字の入力待ちになるにもかかわらず rmコマンドの時だけ % rm aの時点でTABを押すと % rm aa となり、aは一切無視されるんです Gentooで4.3.x(失念)です
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/26(水) 10:17:02 ] おいらは % touch a aa % rm a[tab] すると rm a [かーそる] になるけど。 aで(他の候補はあれど)完結しているときに tab 打つとそこで確定、ってことかな? (tab でなく ^D だと a aa が表示されます)
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/26(水) 20:06:16 ] compdef -d rm で対処しました。お手数掛けました
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/27(木) 03:42:11 ] zshでbashのhistignoreみたいなのできませんかね? zsh その4で 255 :名無しさん@お腹いっぱい。[sage]:2005/10/19(水) 23:09:46 setopt histignorespace で alias ls=' ls' cd=' cd' とあるんですが、引数付きの時は残したいのですが、何か手法はありますか?
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が設定されている場合でも、 一意に定まらない場合にリスト表示がされないことがある、のが個人的な不満というか…。 それとも、上記の例の場合でも、常にリスト表示されているということでしょうか?
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 22:08:48 ] >>461 unsetopt listambiguous
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 22:37:38 ] これは良いことを聞いた
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 22:51:53 ] >>462 ありがとう。本当にありがたい。
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/06(日) 00:09:09 ] >>458 predict-off とか bindkey してない? じゃなきゃ zstyle :predict toggle yes してるとか。 それか BUFFER 末尾以外で ^D すると predict-off するかも。 # predict-on 使ってないからよく判らんけど。 # なんか重そう(でもないかな?)なのと、 # 動きを把握できない(仕様がよく解っていない)ので避けてたんだよね。 あと、source ~/.zshrc するより zle -N predict-on bindkey '^X^Z' predict-on とかしといた方がいいような。まあ個人のスタイルかも知れないけど。 いや、predict-off はしないはずという前提で不要な bindkey をしてないだけか。 あと >>459 は predict-on が LBUFFER(カーソルより左の部分)しか見てない気がするので 多分、そういうもんじゃないかな。(んなこた解ってるって?) 多少面倒でもいいなら predict-off → type sudo → predict-on って感じかな。 無論 predict-off/predict-on は bindkey した上で。
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/06(日) 12:15:22 ] >>463 俺もw このスレって常駐してるだけで色々勉強になるから助かるわ
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/08(火) 00:16:06 ] 深いパスで、ないファイルを補完しようとすると _approximate あたりで 暴走してたんだけど、サンプル zshrc の zstyle -e ':completion:*:approximate:*' max-errors \ 'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )' の指定が重かったんだ。結構、サンプルから取り込んで未検討のままに なっているものがあるけど、これもその一部。 _approximate 自体、不要という気もするけど。
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/10(木) 00:01:36 ] zsh/regex zsh/pcre って multibyte 対応してないのかな。そんな感じだけど。 zsh/regex は setopt multibyte しても日本語文字が singlebyte として扱われてるような感じ。 zsh/pcre は setopt multibyte すると LANG=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8 で % [[ い -pcre-match い ]] zsh: failed to compile regexp /い/: invalid UTF-8 string % pcre_compile い pcre_compile: error in regex: invalid UTF-8 string みたいに怒られる。 [[ あ -pcre-match あ ]] は何故か成功するけど。 # ja_JP.UTF-8 以外の場合は singlebyte として扱われてる気がする。 # これは pcre が UTF-8 のみ対応してるってことかな? 「使えてるよ」って方いらっしゃいます?
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/10(木) 01:32:38 ] 正規表現に関してはzshは他のライブラリ(OS標準のregexなりPCREなり)を呼んで るだけだから、そちら側の都合。
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/11(金) 18:00:18 ] egrep は multibyte 認識してるっぽいけど…自前ってことか。 pcretest は UTF-8 で一応動いてるっぽいけど…pcre の UTF-8 support が実験レベルってことで、色々あるんだろうなあ。 まあとにかく動かないってことでいいか。
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/12(土) 06:02:44 ] >>444 もう居ないか知らんけど… >>447 の代わりのmigemo補完。 これ[ ttp://ja.pastebin.ca/1711428 ]を fpath に入れて zstyle ':completion:*::::' completer _complete _migemo_complete とかすると動く。あー、* 要らんかな?いつ * の位置が空じゃなくなるのか分からん。 対象はファイル名補完。他も動く可能性はある。 migemo と関係ない動作としては、入力文字列中の : が regex 的に .* になるってとこかな。 まずい点とかはコメントに色々書いてあるけど… まあとりあえずいいか、というところ。個人的には特に問題ない。 人によっては ↓ あたりが問題かも。 - 入力中のメタ文字は多分うまく扱えない。 - coproc 使う人は直さないと coproc がまともに使えない。 - menucomplete でしか動かしてない。他はまともに動くか判らない。 - LANG=ja_JP.UTF-8 用なので、nkf のとこ直さないと他は無論動かない。 候補が大量にあると遅いんだけど、日本語文字がない (というか asciiのみの)候補を対象外にすると もうちと速くなるかも。と今思った。 てか、候補1つで補完前のカーソルの位置が補完後の全角文字の中にあると カーソルより後の部分が補完後に表示されないなあ。redisplay で出るけど。 zsh が出力してないみたいだけど、なんでだ… いやー、pastebin って CRLF noeol になるんだなー。
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/01(金) 10:19:12 ] あけおめ
473 名前: 【大吉】 【1999円】 mailto:sage [2010/01/01(金) 12:09:22 ] おめ
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/01(金) 12:24:05 ] ↑テラトイザラスwww
475 名前: 【豚】 【1829円】 mailto:sage [2010/01/01(金) 12:26:03 ] ハア?('A`)
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/05(火) 11:18:56 ] man すると multios では > word 2>&1 と &> word は違うよ、って書いてあるんだけど、 良く分かりません。ありがちな hoge > /dev/null 2>&1 と hoge &> /dev/null だと、 具体的にどう違うのでしょうか?
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/05(火) 12:19:50 ] 例が悪すぎ。/dev/nullに捨てるんじゃ一緒だろ。
478 名前:名無しさん@お腹いっぱい。 [2010/01/09(土) 22:49:00 ] $ a=`jobs` $ echo $a で jobs の結果が a に入らないのはどうしてですか? jobsの結果を直接 tty?に流してる?
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 23:15:19 ] 入るけど
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/10(日) 06:06:17 ] >>478 jobs の結果が空なだけでは
481 名前:名無しさん@お腹いっぱい。 [2010/01/10(日) 13:40:00 ] $ jobs で結果が見れるので、空ってことはないのですが、 >> 479 本当ですか? 結局僕はこれで取れました。 $ jobs | read a $ echo $a
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/10(日) 13:55:01 ] >>481 zsh 4.3.10で試したけど 普通に入ってる
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/10(日) 14:18:37 ] zsh-4.2.x のバグだ。
484 名前:名無しさん@お腹いっぱい。 [2010/01/10(日) 16:08:26 ] $ zsh --version zsh 4.3.4 (powerpc-apple-darwin9.0) でした。macだからかなぁ。
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/10(日) 16:38:01 ] MacOS X Snow Leopard $ echo $SHELL /bin/zsh $ which zsh /bin/zsh $ zsh --version zsh 4.3.9 (i386-apple-darwin10.0) $ sleep 10000 & $ x=`jobs` $ echo @$x@ @[1] + running sleep 10000@
486 名前:名無しさん@お腹いっぱい。 [2010/01/10(日) 17:13:08 ] MacOS X Leopard 10.5.8 $ uname -a Darwin MacBook.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 $ echo $SHELL /bin/zsh $ which zsh /bin/zsh $ zsh --version zsh 4.3.4 (powerpc-apple-darwin9.0) $ sleep 10000 & [2] 4081 $ a=`jobs` $ echo @$a@ @@ $ jobs [2] + running sleep 10000
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 08:02:43 ] Ctrl+Rコマンドヒストリ検索で日本語入力が出来なくなってるよ
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 08:09:03 ] zsh 4.3.10ではCtrl+Rコマンドヒストリ検索で日本語入力が出来ないよ ヒストリ検索がちゃんと出来ないzsh使うなんてありえないよな ここの連中は一体どんな環境でzsh使ってんの?
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 08:53:08 ] そもそも、インクリメンタルサーチで日本語を入力したことが無い。
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 09:54:36 ] そもそも、日本語名のファイルが無い。
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 20:53:25 ] そもそも、インクリメンタル検索で日本語入力という発想が無い。
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/18(月) 21:00:12 ] In the first place, I don't use Japanese.
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/19(火) 10:05:28 ] setopt hist_ignore_space していると、確かに履歴ファイルには記録されないのですが、 <C-p>で履歴を戻ったとき、出てきてしまいます。 ここでも出てこないようにするにはどうすればいいでしょうか?
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/19(火) 12:15:23 ] vi [tab] とかってやったときにドットファイルも補完候補に表示してほしいんですが、 どうやったらいいですか?
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 16:21:42 ] ハローは日本語? kon'nichiwa は日本語? ニーハオは?
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 16:43:42 ] 中間言語
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 17:00:13 ] 餃子屋
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/22(金) 10:16:09 ] 結局 kikaku.doc とかは日本語ファイル名ってことでいいんだよね?
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/22(金) 11:54:36 ] あなたしだいです!
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/22(金) 19:44:06 ] 用字と言語は別。
501 名前:名無しさん@お腹いっぱい。 [2010/01/25(月) 05:39:08 ] あなただいなしです!に見えた
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/25(月) 12:24:41 ] >>494 vi .[tab]
503 名前:名無しさん@お腹いっぱい。 [2010/01/27(水) 22:40:16 ] >>471 condition expected: $words[i]とかいうエラーがでるんだけど何が原因かわかりますか?
504 名前:名無しさん@お腹いっぱい。 [2010/02/15(月) 02:31:52 ] Ctrl-. (ピリオド)を bindkey ”^.” redo とかに割り当てたいんですけど、 Ctrl-.を入力しても、そのまま.がターミナルに表示されます。 sttyで何か設定すればC-.が有効になるのでしょうか?
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 07:38:48 ] Ctrl-.なんて文字は存在しないから受け取りようがないのです。
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 11:46:12 ] emacsだと以下で行けるけど、ターミナルだと無理なんかも (define-key global-map [?\C-.] 'redo)
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 12:53:11 ] ターミナルのなかで文字として受け取るか X-client がイベントとして受け取るかの 違いが理解できていないのか?
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 13:26:35 ] emacsのxterm.elでは(define-key map "\e[27;5;46~" [?\C-.])と定義してある。 ターミナルソフト側でC-.を押したら\e[27;5;46~を送出するよう設定すればおk
509 名前:504 mailto:sage [2010/02/15(月) 23:37:58 ] ありがとうございます。 設定してxterm上ではC-.キーつかえました でも、いつも使ってるgnome-terminal上では送出設定できなさげでorz
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 23:50:34 ] gnome-terminalは.Xdefaultsが効かないんだっけ
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 23:53:37 ] .XdefaultsはAthenaWidgetのもんじゃねーの?
512 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/16(火) 13:48:12 ] .Xdefaults(.Xresources etc.)については xrdb の仕組み・罠とかいろいろ知らないといけない
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 01:37:34 ] cygwin上ででzshを触り始めたんですが、 .zshrc に 「windows上で動いてるなら "c:\Program files\" の 配下のファルダ全て(もしくは一つ下のサブフォルダまで)をPATHに追加」 (新しくアプリが追加されたら、次回のzsh起動時に自動的に読み込みたい) このような処理は出来ますか? もしできるなら、何をどう使って書けば良いでしょうか?
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 02:38:33 ] そう書けばいいんじゃないの?
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 02:43:26 ] >>514 書く方法がまったくわからないので、何かキーワードを頂けませんか?
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 03:16:03 ] >>514 ヒント: path=($path(N-/) /*/bin(N-/) $HOME/bin(N-/)) typeset -U path
517 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 03:18:08 ] すまん ミスった >>515 に
518 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 05:25:02 ] >>516 回答ありがとうございます。 typeset をキーワードに検索したら、それらしいページがみつかったのですが en.allexperts.com/q/Unix-Linux-OS-1064/typeset-Unix-1.htm これをやりたい事に書き直すのは自分には無理そうなので 毎回パスを手書きで追加することにします。
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 05:39:12 ] ここの説明で >>516 さんのヒントの意味がわかりましたので解決しました。 technique.sonots.com/?UNIX%2F%E8%A8%AD%E5%AE%9A%E3%80%81%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%2F.zshenv
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 23:36:31 ] >>518 一瞬ジョークのように読めてちょっと笑った。
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 23:48:56 ] >>503 前に何か直したんだけど、error message がどんなんだったか忘れた。 ↓ の patch で直る? error 内容が違う気がするので、直らない感があるけど。 % diff -u 1711428 _migemo_complete | gzip | base64 H4sIAPhRfUsAA62Sy07CQBSG1+1THKEh4DBmppAANY1d8BaFTAoMpdpbSo0hokldmLh14xsYtz5T E5/DaQdE5BIWzmY6M9//n1sxxkA7lLb1rqITSjDRMe2C3jL0jtHqXZD1AkR6hKgIIWCB5/IgYuMo iH2e8j/CNjFod0doWYAp0ZsdQHKzLBXkmkQhX3/HTmpWtPv6tXFuNMThoaJUgbsJj4unlCch5E+v 4PrRaOSF7uYy+8iztzx7/3r5zLNnFVQsDet10FDgpOOZwFnC57d+yoSKeRNbE/sQGg1YLgvuKGWC Vt0PCAMV/VewwSnRVr3yo7Hjg7w2tWNhtxUr4IYvRJvKuVC92RNzKbdiLsoGMTVpZGh3UTKZ254w U7xpUcLZbrG2tlEWxV5COuOhUADYNvxYgCkKfBTGMByqWIE9Ddl2MotgV2Wn99ODAzgoU09EkAmf liw6QA8O11aifI7M302Sv0M1ilPWL+Zeq0GfOUniLFgaxIJdnSQt0vwGAasJiowDAAA=
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/21(日) 01:14:10 ] 打ち間違いで command not found になった場合は ヒストリファイルに残してほしくないんだけど 何かいい設定とかないでしょうか?
523 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/21(日) 09:38:43 ] preexecかzshaddhistoryでなんとかするのかな?
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 00:31:50 ] $PWD の長さを取得したいんですが、ホームにいるときは ~/ の2文字ではなく /home/username が返ってきます。ホームのときも考慮した$PWDの長さはどうやって取得できますか?
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 01:16:02 ] 代わりに print -P '%~' の出力をみればいいと思う。
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 13:06:45 ] >>524 ${#PWD/${HOME}/\~} 何がしたいのかさっぱり分からないが…
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/13(土) 23:58:52 ] autoload run-help って結構微妙な動作すんだな
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 12:51:25 ] zsh -c "do something" で呼び出したときに .zshenv だけじゃなく .zshrc も実行前に呼びたいのですが、どうすればできるでしょうか? オプションを下記サイトで探して zsh.sourceforge.net/Doc/Release/zsh_15.html RCS を使い .zshenvを読み込まない設定はできましたが .zshrc を読み込む設定は見つかりませんでした。
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 13:02:11 ] rcは対話シェル用の設定を書くところだから、 正しいアプローチは.zshenvに該当の設定を移すことではないの?
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 13:15:27 ] >>528 一応 zsh -i +f -c 'do sth' で、無理矢理インタラクティブにしてしまえば .zshrc を読んでくれる 何のための .zshenv だよって言いたくなるが
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 20:56:06 ] >>529-530 返信ありがとうございます。 そうですね。 .zshenvに設定を移すことにしました。
532 名前:名無しさん@お腹いっぱい。 [2010/03/17(水) 01:20:42 ] findしまくりのbashスクリプトと、zshだけで完結しているスクリプトだったら どっちが早いんだろ?
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 01:42:54 ] zsh で ** だとリストが長すぎてダメってことは稀によくある。
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 03:08:30 ] 俺もよく稀にある。**/** 便利だから取り敢えず使っちゃう。
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 05:33:53 ] >>532 zshのほうが速いので比較するまでもない
536 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 11:35:22 ] zsh 使いなら当然 zargs も使うだろう
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/26(金) 12:55:03 ] >>2 それをその速さで貼れるってことは お前それをコピってずっと待機してたんだろ? リロードしまくって。誰かスレ立てるの待って。 まじきめーな。氏ねよハゲ。
538 名前:537 mailto:sage [2010/03/26(金) 12:55:45 ] ごめんなさい 誤爆しました
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/28(日) 14:29:24 ] ワロタ
540 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/04(日) 15:54:16 ] >>533 いくつまでなんだっけ?いちいちfind使うのが面倒なんだよなぁ。 自分でソースからコンパイルすれば上限変えれるのかもしれんが・・・
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:31:18 ] >>540 きょうび自分でカーネルリコンパイルなんてFreeBSDくらいじゃないかね。
542 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:32:42 ] そういう話じゃなくて。
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:50:59 ] exec(2)に渡せる長さの上限は、FreeBSDだと sysctl kern.argmax かな。
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/09(金) 08:41:54 ] だからfind + xargs -> zargs でFA
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/09(金) 08:46:43 ] >>542 いやでも、自分でソースからコンパイルすれば上限は変えられるけど カーネルリコンパイルってなかなか手を出さないと思うけどな。 カーネルアップデートがある度にやり直しなわけだし。
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 14:40:25 ] zargsシランカッタ…こんな便利なものが
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 19:33:33 ] zsh% zargs zsh: command not found: zargs って言われちゃうけどどう使うの?
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 19:34:42 ] autoload zargs
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/11(日) 09:21:00 ] zfags
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:05:43 ] for n in {01..99};do で01,02,…と桁数一定の連番にできるのが凄い便利なんですが、 これのインクリメンタルを1でなく任意にする方法はありませんか? for ((n=1;n<100;n=n+m));do の形式だとbashと同様、1,2,…となってしまい n=01とやっても同じで不便ですね。
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:09:12 ] for n in `seq -w 1 2 99`; do
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:18:45 ] seqはGNU coreutils以外にもあるの?
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:39:52 ] >>550 for ((i=1;i<100;i=i+2)); do echo ${(l:2::0:)i}; done で出来るけどなんか不細工 bash なら {01..99..2} で大丈夫
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 23:23:38 ] >>552 じゃあ、jotで jot -w %02d - 1 100 2
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 02:30:10 ] 内部コマンドだけだと for ((i=1; i<100; i+=2)); do print -f "%02d\n" $i; done スマートにはいかんな
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 05:40:33 ] typeset -Z2 i
557 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 11:43:29 ] 自分だったらこんな感じかな for i in {1..10} echo $(printf "%02d" $[i*2] ) >556 辺りが一番すっきりなんだろうけど たぶん必要なときにこれを思い出さない気がする…
558 名前:550 mailto:sage [2010/04/16(金) 15:00:37 ] 皆さんありがとうございます。色々ありますね。 自分は今のところprintfで桁数を整えています。 >>553 >bash なら {01..99..2} で大丈夫 こちらのbash 3.2では解釈してくれず、{01..99..2}がそのまま i に入ってしまいました。 4.xでの機能でしょうか?
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/19(月) 13:52:32 ] 上でzargsが挙がってましたが、zsh/filesを使うほうがもっと簡単なんじゃない? と思ってやってみたら、↓のように変なところで怒られたんですが、何でですかね? ディレクトリをmv (/の有無) mkdir hoge fuga $ mv hoge/ fuga/ mv: fuga//: cannot overwrite directory $ mv hoge fuga/ 異なるファイルシステム間でmv $ touch /tmp/hoge $ mv /tmp/hoge . mv: /tmp/hoge: invalid cross-device link
560 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/19(月) 21:53:25 ] 上はバグかな。 下はそういうもん。
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/20(火) 18:21:48 ] >>560 >上はバグかな。 まじすか・・・4.2.6なんですが、新しいのだと直ってるんですかね? >下はそういうもん。 まじすか・・・ファイルシステムが異なる場合はrename関数でinodeを書き換えるのではなく、 新規に作って元のを消すという仕様だったと思いますが、それがきちんと実装されていない ということですかね?だとするとこれもバグのような気が・・・
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/20(火) 19:07:40 ] バカかお前。manくらい読めよ。
563 名前:559 mailto:sage [2010/04/20(火) 19:50:05 ] >>560 の「そういうもん」の意味を、変な風に捉えていました manにThis may change in a future version.書いてありますね ついでに本家サイトに行ってmanを見てきましたが同じでした 引数の最大値の制限を受けないのは魅力的だったけど、やっぱりやめとこう・・・
564 名前:名無しさん@お腹いっぱい。 [2010/04/25(日) 17:31:00 ] bash の set +h に相当するオプションありますか?
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/25(日) 18:47:04 ] どういう機能か書いてくれないからbashのマニュアルを調べてしまった。 hash_cmds かな?
566 名前:名無しさん@お腹いっぱい。 [2010/04/29(木) 00:33:11 ] >565 ごめん, Z な漢たちに bash の説明なんて余計なお世話だったらどうしようかと, そして, ありがとう. man zshoptions ですね.
567 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 20:57:24 ] hash_cmdsってハッシュテーブル使うって意味だよね 利点がいまいち分からないんだが・・・ 体感するほど速くなる?
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:01:16 ] 利点がないからこそ hash_cmdsを無効にしたい、って話だろ
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:11:58 ] >>564 は (bashの) set +h (ハッシングをしない)相当をやりたいの だから、zshで実際に設定するのは nohashcmds のほうになるはず。
570 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:14:21 ] >>569 それでもいいけど、set +o hash_cmds で無効に設定できるよ
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 22:59:52 ] hash_cmds って知らなかったからちょっと調べてみたけど、これがオンの場合 PATH=/usr/local/bin:/usr/bin だとして /usr/bin/hoge を実行した後、/usr/local/bin/hoge を作成しても その後 hoge と打ったときに実行されるのは /usr/bin/hoge というふうに理解したのだけど、これで合ってる?
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 23:01:50 ] 実行可能なファイルをパスの通ったところに放り込むと直後にそのファイルがタブ補完で呼べる、 という挙動が hash_cmds と no_hash_cmds の両方で同じだった。 もしかして、コマンド補完が効くというのはハッシュとは関係ないの?
573 名前:572 mailto:sage [2010/04/29(木) 23:03:38 ] お、>>571 と似た話かな? この辺誰か解説してくだしあ。
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 23:23:21 ] >>572 一度補完させた後に新規に作成したファイルは補完されない
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/30(金) 18:17:41 ] bindkey -v使いたいんだが... どっかにvimのヴィジュアルモード再現してくれる猛者いねーかな。 アレが無いと、削除もヤンクも使えたもんじゃない。 おかげでbindkey -e使うハメに。くつじょく チラウラスマソ
576 名前:572 mailto:sage [2010/05/01(土) 00:59:09 ] いまいち分からなくて色々調べてたんだけど、no_hash_cmds だとハッシュが 一切関係なくなるかと思ったら、タブ押した瞬間にハッシュに登録されるようで、 以降PATHのより上位に同じのをコピーしても最初のやつが参照される。 PATHを探索するタイミングとハッシュが登録されるタイミングというのは どうやら同じではないらしい・・・。 うーん、なんか腑に落ちないけどまぁいいや。いずれにしろ、名前がカブってるのを 異なるパスに置くなんてことをしない限り(普通しないよね?)関係ない話だし。
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/06(木) 15:58:29 ] bashのhistory -d offset みたいに指定した履歴行を削除する方法はありますか?
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 14:16:53 ] なさそう。fc -R/-Wで作業ファイル経由かなあ。
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 00:04:43 ] >>575 bindkey -M vicmd v set-mark-command とかなんかして適当に foo-delete/foo-yank 作ればいけるんじゃない?
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 04:00:03 ] >>579 ありがとう。感謝感謝 zshall 読む気にならないのは俺だけではないはず。 いや、このスレ的には読んでないと駄目なのか
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 05:18:46 ] #ビジュアルモードを実装 function _vi-visualmode-delete() { zle set-mark-command ... ... } zle -N _vi-visualmode-delete bindkey -M vicmd 'v' _vi-visualmode-delete 根本的に方針を変えるべきか
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 23:47:48 ] bindkey -a v set-mark-command bindkey -a d foo-delete foo-delete() { zle vi-delete if (( REGION_ACTIVE )); then zle exchange-point-and-mark fi } (これ動くんかな…) な感じでいくか、あるいは bindkey -N vivis vicmd bindkey -a v vi-vis-mode bindkey -a d vi-vis-delete とか? てか set-mark-command だと多分、範囲末尾が1文字分期待と違うな。 しかも characterwise でしか動かない気がするけど、 まあ linewise とか要らないよね。
583 名前:575=581 mailto:sage [2010/05/09(日) 05:34:04 ] linewiseとかいうレベルじゃない… 一応visualmodeのdeleteを実装してみた。 但し、dを二回押す必要アリ+押した後にESC押す必要アリ。もっさい 有識者の方の降臨を待つとしよう。 bindkey -a v vi-vis-mode zle -N vi-vis-mode function vi-vis-mode() { MARK=CURSOR zle exchange-point-and-mark bindkey -a 'd' vi-vis-delete } zle -N vi-vis-delete function vi-vis-delete() { CURSOR=$((CURSOR + 1)) bindkey -M vicmd 'd' kill-region } bindkey -a "^[" _escaping zle -N _escaping function _escaping() { bindkey -M vicmd 'd' vi-delete }
584 名前:名無しさん@お腹いっぱい。 [2010/05/09(日) 12:39:45 ] screen みたいに画面をキーボードで移動して必要な範囲をコピーとかって出来る? screen 入れないと駄目?
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/09(日) 23:45:54 ] うーん。だめじゃない? 表示内容を取るエスケープシーケンス(じゃなくて制御シーケンスか?) とかあれば、それ使うか、screen と同じことをするか。 あんまり zsh でやることでもないような。 >>583 bindkey してるんを直接実行するんじゃだめなん?
586 名前:575 mailto:sage [2010/05/10(月) 08:15:53 ] >>584 にヒントを得た。多分完璧。lineとかしらん cってchangeの略なんだな。初めて知った。 bindkey -a v vi-vis-mode zle -N vi-vis-mode function vi-vis-mode() { MARK=CURSOR zle exchange-point-and-mark bindkey -a 'd' vi-vis-delete bindkey -a 'y' vi-vis-yank bindkey -a 'c' vi-vis-change } zle -N vi-vis-delete function vi-vis-delete() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region }
587 名前:575 mailto:sage [2010/05/10(月) 08:17:03 ] >>586 の続き zle -N vi-vis-yank function vi-vis-yank() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region zle vi-put-before } zle -N vi-vis-change function vi-vis-change() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region zle vi-insert }
588 名前:575 mailto:sage [2010/05/10(月) 08:19:40 ] 連投すまぬ 当たり前だけど、使う時はbindkey -vしてちょ このスレの人なら、こんなこと言う必要ないな…
589 名前:575 mailto:sage [2010/05/11(火) 08:22:00 ] マジで連投申し訳ない。今回以降は書き込まない。 zshscreenvimvimpwget.blog27.fc2.com/ 作ったので、こっちでやる。 スレ汚しごぬんなさい… とりあえず、Vモードを追加して、無駄に昨日を増やしてみた。oとか。 大体vimのビジュアルモードに準拠してるけど、vで設定した位置より右にいくと、 感覚からちょっとズレる。ここを改良するのが今後の課題だが難しいな。
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/13(木) 18:45:07 ] $PREFIX/share/zsh/4.3.*/functions/ にある特定のファイルだけ読み込まないようにする方法ってありますか?
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 00:16:26 ] functions/Completion の話? >>575 いいんじゃないっすか?過疎ってるし。 過疎ってなくてもいいと思うけど。
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 00:26:50 ] svn [TAB]で補完が効く状態(=関数 _svn が実行できる)で unfunction _svn としたら svn [TAB]で command not found: _svn が出るようになったから、 unfunctionでいいんじゃないだろうか。
593 名前:575 mailto:sage [2010/05/18(火) 20:19:19 ] vim-ビジュアルモードが、ほぼ再現できたのでスクリプトを貼っておく。 意見をくれた人サンクス 詳しくはzshscreenvimvimpwget.blog27.fc2.com/blog-entry-3.html ヘルプzshscreenvimvimpwget.blog27.fc2.com/blog-entry-4.html 以下のファイルの拡張子txtを省いて、~/hoge/ファイル名 みたいに保存して、 ~/.zshrcにsource ~/hoge/ファイル名 と書き込むべし。 linux_fedora12のzsh4.3.10で動作確認済 blog-imgs-44.fc2.com/z/s/h/zshscreenvimvimpwget/zsh_vim_visualmode_linuxver.txt MAC-OSXのzsh4.3.9で動作確認済 blog-imgs-44.fc2.com/z/s/h/zshscreenvimvimpwget/zsh_vim_visualmode_osxver.txt 使い方:vかVか^vを押せ。さすれば道は開かれる 問題点: カーソルが行頭の一歩手前までしかいけない 5hがhに。でも3foは3fo Vで下行から上行に向かって行選択すると、挙動がちょっと変 vda'しても、テキストオブジェクト的には働いてくれない。vaの時点でインサートモードに入る。 ↑のバグは、まあ微々たるもんだろう。直す気はない。 Vの挙動は、気が向いたら直すかもしれん。 今度はテキストオブジェクトを再現するつもり
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/20(木) 23:02:47 ] ls --color=autoでTABの補完候補を表示させると、 hoge.bmpなどのディレクトリが.bmpファイルの色になります。 補完候補ではなく、普通にlsで見たときはディレクトリ色なんですが。 どなたか分かる方いますか?もしzshのせいでなかったらすいません。
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/20(木) 23:27:41 ] 手元の環境ではhoge.bmpでもディレクトリとして色付けされる 関係する設定といったら zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} ぐらいしか無いような気がするけど
596 名前:594 mailto:sage [2010/05/21(金) 12:19:50 ] >>595 そうですよね。 completionもlsも、どちらもzsh内の機能だから色付けも統一されるはずと思ったけど、そうじゃないってことかな。 ディレクトリ名に.bmpって付ける癖を直すしかないか・・・
597 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/21(金) 20:40:55 ] う〜ん、ZLS_COLORSとか?
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/29(土) 15:54:23 ] >>593 おつー。
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/29(土) 20:09:15 ] 1行目を #!/bin/zsh としたzshスクリプトの、syntaxの色が bashのときより素っ気ないのでカスタマイズしたいのですが、 どこの辺をいじればいいでしょうか? /usr/share/vim/ 以下のファイルでしょうか?
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/30(日) 01:10:28 ] 普通は .vim/syntax/zsh.vim 俺は .vim/after/syntax/zsh.vim
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 07:22:37 ] >>594 同じような状況になった事があった気がするんだけど、 ディストリビューションは何使ってるの? その ls はBSD系じゃなくてGNU fileutilsのコマンドになってる?
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 22:00:36 ] fileutils って何年前の話だよw
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 22:59:04 ] 2002年9月1日からcoreutilsに統合だそうな。
604 名前:594 mailto:sage [2010/06/02(水) 11:48:46 ] >>601 CentOS 5.2、zshのバージョンは4.2.6です。
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 03:41:31 ] >>594 print -l $LS_COLORS $ZLS_COLORS zstyle -L |grep list-colors をはった方が話が早いのではなかろうか
606 名前:594 mailto:sage [2010/06/15(火) 18:07:45 ] >>605 見苦しくて恐縮ですが貼らせて頂きます。(適宜改行してます) $ echo $LS_COLORS no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41: mi=01;05;37;41:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31: *.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31: *.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35: *.png=01;35:*.tif=01;35:*.avi=01;33:*.mpg=01;33:*.mpeg=01;33:*.wmv=01;33:*.o=00;38;05;216: $ echo $ZLS_COLORS no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41: mi=01;05;37;41:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31: *.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31: *.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35: *.png=01;35:*.tif=01;35:*.avi=01;33:*.mpg=01;33:*.mpeg=01;33:*.wmv=01;33:*.o=00;38;05;216: (-default-)no=00:(-default-)fi=00:(-default-)di=01;34:(-default-)ln=01;36:(-default-)pi=40;33: (-default-)so=01;35:(-default-)bd=40;33;01:(-default-)cd=40;33;01:(-default-)or=01;05;37;41: (-default-)mi=01;05;37;41:(-default-)ex=01;32:(-default-)*.tar=01;31:(-default-)*.tgz=01;31: (-default-)*.arj=01;31:(-default-)*.taz=01;31:(-default-)*.lzh=01;31:(-default-)*.zip=01;31: (-default-)*.z=01;31:(-default-)*.Z=01;31:(-default-)*.gz=01;31:(-default-)*.bz2=01;31: (-default-)*.bz=01;31:(-default-)*.tz=01;31:(-default-)*.rpm=01;31:(-default-)*.cpio=01;31: (-default-)*.jpg=01;35:(-default-)*.jpeg=01;35:(-default-)*.gif=01;35:(-default-)*.bmp=01;35: (-default-)*.xbm=01;35:(-default-)*.xpm=01;35:(-default-)*.png=01;35:(-default-)*.tif=01;35: (-default-)*.avi=01;33:(-default-)*.mpg=01;33:(-default-)*.mpeg=01;33:(-default-)*.wmv=01;33: (-default-)*.o=00;38;05;216
607 名前:594 mailto:sage [2010/06/15(火) 18:08:34 ] 続き $ zstyle -L |grep list-colors zstyle ':completion:*' list-colors 'no=00' 'fi=00' 'di=01;34' 'ln=01;36' 'pi=40;33' 'so=01;35' 'bd=40;33;01' 'cd=40;33;01' 'or=01;05;37;41' 'mi=01;05;37;41' 'ex=01;32' '*.tar=01;31' '*.tgz=01;31' '*.arj=01;31' '*.taz=01;31' '*.lzh=01;31' '*.zip=01;31' '*.z=01;31' '*.Z=01;31' '*.gz=01;31' '*.bz2=01;31' '*.bz=01;31' '*.tz=01;31' '*.rpm=01;31' '*.cpio=01;31' '*.jpg=01;35' '*.jpeg=01;35' '*.gif=01;35' '*.bmp=01;35' '*.xbm=01;35' '*.xpm=01;35' '*.png=01;35' '*.tif=01;35' '*.avi=01;33' '*.mpg=01;33' '*.mpeg=01;33' '*.wmv=01;33' '*.o=00;38;05;216'
608 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 08:10:12 ] グローバルエイリアスって % alias -g hoge="|ls" % touch hoge touch: missing file operand 詳しくは `touch --help' を実行して下さい. zsh: exit 1 touch | zsh: done ls -F --color=auto % ありがちなのをつけるとマズいんだな・・・
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 09:15:28 ] 大文字1 or 2文字くらいにしとくとよいかも。
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 14:48:21 ] グローバルエイリアスにした文字を普通の文字にエスケープするのって不可能?
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 15:09:10 ] $ touch 'hoge' $ touch "hoge" $ touch ¥hoge お好きなのをどうぞ
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/16(水) 18:25:24 ] 普通にできるのね、失礼w
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/24(木) 16:26:39 ] $ cp /foo /bar まで打ってからCtrl+wを押すと、1ワード消えて $ cp /foo / になりますが、もう1回押すと $ cp / になります。これを $ cp /foo で止める方法はありませんか?
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/24(木) 23:13:19 ] ある。
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/24(木) 23:25:17 ] 普通にできるのね、失礼w
616 名前:613 mailto:sage [2010/06/25(金) 11:43:43 ] >>614 かなりググりましたが、分かりませんでした。すいません教えてください。 ちなみに WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' にしています。 空白も単語の区切りに設定できれば出来そうな気がしますが・・・
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/04(日) 04:34:19 ] >>606 その設定だと aaaaa.bmp/ が青boldで出るけど。 baaaa.bmp はマゼンダboldで出る。 % echo $ZSH_VERSION 4.3.9
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/10(土) 01:44:41 ] >>616 backward-kill-word-match とか使えばなるんじゃない? とか適当いってみる。
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 00:07:51 ] 二段プロンプトなんてログ見づらくなるだけじゃね、と思ってたけど、 PROMPT="┌[${USER}@${HOST}][%~] └ " こんな設定を見て目から鱗が落ちた。かなり良い。
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 01:05:08 ] プロンプトに全角使うのはちょっと・・・
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 01:11:01 ] 俺はプロンプトと入力行が別だとすげー落ち着かない 余所の家のトイレぐらい落ち着かない
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 01:36:59 ] 漢は黙ってPROMPT=$
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 15:32:27 ] 一行に色々つめ込むと見にくいんで 多段プロンプトにしてPROMPT=$派かな
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/25(日) 16:38:07 ] 俺はさらに頭に空行入れて、色付きにしてる
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/28(水) 20:53:00 ] 1行目にユーザ、ホスト、PWD、現在時刻表示させて、 2行目に$ だけ
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/28(水) 21:22:23 ] 俺もそんな感じ 時刻は2行目のRPROMPTでやってるけど
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/29(木) 13:11:09 ] 時間は何気に役に立つんだよね。 そういえば、スクリプトの完了通知が欲しい時ってどうしてる? 終わったらgnomeのnotifier呼ぶとかかな
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/30(金) 02:53:46 ] 時刻は、端末の右下にscreenの機能で表示させる そうか。プロンプトに時刻出しておくと、コマンドの実行時刻が分かるのか。 たしかに便利そうだ。
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/07/30(金) 08:34:40 ] 実行した時刻でよければ extended_history にも載ってるよ。
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/03(火) 20:27:33 ] i-searchでCtrl-rで遡っているときにバックスペースを押すと 逆方向に降りる(つまりCtrl-s)動作になるのですが、 これを普通に検索ワードの後方削除にする方法を教えてください。
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/12(木) 13:55:03 ] 2つ下にcdする用に alias -g ....='../..' とやってるけど、なんか一抹の不安が・・・ 同じことしてる人いますかね?大丈夫だよね? 昔どっかで rm -rf .* で全て消えたってスレがあったのを思い出した
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/13(金) 02:43:27 ] rm .... したらって話? rm ../.. とそう変わらない気がするけど。 alias ....='cd ../..' じゃだめなの? まあ俺は c () { cd ../${*:gs@.@../@} } で c . ってしてるけど。 >>630 こんなことは知っているかもしれないが、 backward-delete-char とかのkeyを押すとそうなる。 backward-delete-word とかのkeyを押すと削除される。
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/16(月) 20:29:00 ] >>631 下?
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/30(月) 18:01:59 ] >=とかの算術演算子って使えるはずだよね? [ 1 <= 2 ] && echo "true" ってやったらエラーになるんだけど
635 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/30(月) 18:14:37 ] (( 1 <= 2 )) && echo true
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/30(月) 20:14:24 ] >>635 どうもです。(( ))って条件文でも使えるんだ てか、[[ と (( って機能が被ってないですかね? <は両方とも使えるけど、<=は((だけ、-eなどの条件文は[[だけみたい
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/31(火) 15:37:27 ] [ ] [[ ]] (( )) の使い分けはzshの難関の一つだねぇ zshall読んでもなかなか覚えられん
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/31(火) 19:19:58 ] compdef書けるようになるとかなり幅が広がるな つーかラッパーにもってこいだな
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/08/31(火) 19:29:36 ] >>636 [[ の中の < と、 (( の中の < は意味が違うんだよ。 [[ 12 < 3 ]] && echo TRUE と、 (( 12 < 3 )) && echo TRUE を試せばわかる。
640 名前:636 mailto:sage [2010/08/31(火) 22:15:17 ] >>639 [[ の<は文字列比較でしたか・・・Σ(゚д゚;;) やばいミスをしでかす前に気づいてよかった つまり[[と((はちゃんと使い分けろってことね
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/01(水) 18:34:41 ] zkbdをautoloadしてから実行したら zkbd: must be run as a function or shell script, not sourced ってなった。 直接 zsh -f /usr/local/share/zsh/4.3.10/functions/zkbd ってすれば動くけど。なんだこれ
642 名前:641 mailto:sage [2010/09/01(水) 20:30:30 ] zsh 4.3.5から冒頭の部分が変わったのが原因みたいだけど、 そもそもこの部分に何の意味があるのかが分からない。 $ diff zsh-4.3.10/Functions/Misc/zkbd zsh-4.3.5/Functions/Misc/zkbd | head -n 6 4,5c4,5 < local -hi ARGC # local is a no-op outside of a function < (ARGC=0) 2>/dev/null || { # so ARGC remains read-only for "source" --- > local -i ARGC > (ARGC=0) 2>/dev/null || {
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/01(水) 21:12:51 ] それ、コメントの書き方間違ってないか?
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/02(木) 04:39:19 ] diffの引数逆にするだろ普通。
645 名前:名無しさん@お腹いっぱい。 [2010/09/02(木) 23:02:14 ] >>644 普通?ってwwww いいだろ、どうだろうと、カチカチあたまくん
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 00:17:10 ] >>645 diff使い慣れないから普通が分からないだけだろ。
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 08:48:01 ] 古い方を前にするのが普通だよ。 でないと -u の -,+ とあわない。
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 11:22:46 ] lnだって ln -s 古くからあるファイル 新しい名前 みたいな順だしなあ
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 11:25:34 ] >645 みたいなのは徹底して叩いておかないと、 いずれ凡ミスが原因で他人の足を引っ張った挙げ句逆ギレするタイプ。
650 名前:641 mailto:sage [2010/09/03(金) 12:08:57 ] なんか変な流れになってるが俺のせいなのか・・・ >>641 は新・旧という意識でdiffしたわけじゃなかったのでこうしただけだが。 別にいいじゃないすかパッチ作るわけじゃないし(駄目? ググったら極わずかだけど同じこと言ってる人いた。だいぶ前だが
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 13:36:07 ] >>649 その通り。 無能な働き者はあらかじめ粛清しておくに限る。
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 13:41:23 ] >>650 駄目ではないけど、普通ではない。
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 14:33:30 ] >>648 ln の仕様は確かに糞だな
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 14:56:41 ] それはlsとかで 古い -> 新しい みたいな表示をするせいだろ。
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/03(金) 15:22:53 ] lnの順序はcpやmvと同じ。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/04(土) 22:56:55 ] 関数のexportってexport -fですよね?以下が駄目なのは何故ですか? $ zsh --version zsh 4.3.10 (x86_64-redhat-linux-gnu) $ a () { echo "calling a" } $ export -f a a () { echo "calling a" } $ a calling a $ zsh $ a zsh: command not found: a
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/05(日) 07:13:06 ] >>656 > 関数のexportってexport -fですよね? は?
658 名前:656 mailto:sage [2010/09/05(日) 21:03:37 ] >関数のexportってexport -fですよね? bashだとそうですが、zshだと違うみたいですね というか単に出力するだけ?
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 17:59:14 ] Windows7上のCygwin on rxvt SJIS環境 zsh 4.3.9で printf()による出力がある自作CUIプログラムを実行すると 出力の末尾に%記号が反転されて表示されるのですが、原因としては何が考えられるでしょうか? 同様にbashでもプログラムを実行しましたがこちらでは問題ありませんでした 通常のCygwin上で実行したzshだとコマンドラインを空の状態で Enterキーを押しても反転された%が表示されます コマンドを実行した際は末尾に表示されます プログラムは以下でgccとVSのclコマンドでコンパイルして試しました --------------- #include <stdio.h> int main(void) { printf("hoge"); } --------------- 出力 $ gcc -o main.exe main.c $ ./main.exe hoge% --------------- .zshrcの設定 export TERM=vt100 export TERM=xterm export LANG=ja_JP.SJIS export LESSCHARSET=japanese-sjis
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 18:38:37 ] >>659 printf()の文字列に改行を入れてないのが間違い。 bashではたまたま設定で頭に改行コードが付いたプロンプトを使っていたので うまくいってるように見えただけ。 zshでは、設定で反転文字の%のプロンプトが設定されていたというだけ。 で、zshの話題とは全然関係ない。
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 18:41:24 ] >>660 どうどうと、嘘つくな
662 名前:659 mailto:sage [2010/09/17(金) 18:56:35 ] PROMPT変数にWindowsが$P$Gを入れてたので prompt elite2 greenなどでプロンプトを設定していましたが PROMPT=''で表示を変えても%が表示されるのは確認しました Windows標準のコマンドプロンプト上でzshを起動しても同様です
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 19:06:53 ] だから printf()に改行コードを入れろよ。それですべて解決。
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 19:10:06 ] zshもCも関係なくUNIXのお約束として特別な事情がないかぎり入出力とかファイルの末尾は改行じゃなきゃいけないの 本来末尾にあるべき改行がねえぞって注意してくれてんの % echo "hoge" hoge % echo -n "hoge" hoge% % echo -n "hoge\n" hoge
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 19:59:09 ] >>664 偉そうに、デタラメ言うな
666 名前:659 mailto:sage [2010/09/17(金) 23:00:07 ] >>664 お約束事でしたか。詳しく書いてくださってありがとうございます。 CUIプログラムに改行を付け加えたら無事に動作しました。
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/17(金) 23:20:39 ] >>661 = >>665 の立場がなくなったなww
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/18(土) 08:51:36 ] cddってtmuxでも動くのか
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/08(金) 15:12:52 ] historyって宝ですよねー 何度か消えてしまって泣いたことがある setopt share_historyしてるからかな
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/15(金) 12:25:21 ] みんなHISTSIZE はどのくらいにしてるのかな? 自分は↓ % echo $HISTSIZE 10000
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/15(金) 13:15:10 ] $ echo $HISTSIZE 10000000
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/15(金) 15:06:42 ] 俺も HISTSIZE=10000 だった ついでに、何故か LISTMAX=10000000000 とかしてた あまり考えずに大きい値にしたから 32ビット超えてるけど動いてるからいいか
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/15(金) 19:58:14 ] >>671 すげえなw でもある意味プライバシーの塊だな
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/15(金) 20:57:00 ] >>669 ディスクが100%になって端末がおかしくなってログアウトしたら historyの書き込み失敗したのかhistoryファイル自体があぼーんしたわ それ以来historyもバックアップとるようになった
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/16(土) 00:14:59 ] >>673 今見たら.zsh_historyが1.2MBもあったw
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/16(土) 18:07:21 ] 昔はwgetとかでエロ画像をシコシコ落としてたらしいし、historyは絶対人に見せられないだろうな
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/16(土) 18:44:41 ] 俺は今でもエロ画像落とすのにwget使ってるというのに… まあ滅多にないけどさ
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/16(土) 19:13:37 ] ファイル名が連番のエロ画像はcurlで落とす
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/17(日) 00:27:21 ] >678 敢えて zsh スレでそんなこと書くって釣り宣言?
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/17(日) 18:25:06 ] つかcurlなんてあったんだ
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/17(日) 18:33:20 ] えっ
682 名前:名無しさん@お腹いっぱい。 [2010/10/30(土) 19:43:55 ] cygwinのzshでHISTFILE=$HOME/.zsh-history と設定してヒストリーを使おうとすると、 zsh: failed to create hard link as lock file .zsh-history.LOCK: permission denied とエラーが出るのですが、回避方法はないでしょうか? よろしくお願いします。
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/31(日) 11:19:35 ] 極限のシェルzsh これを極めし者は時空をも超える
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/03(水) 10:49:01 ] >>682 そんぐらいググってくれ ntfsにすれば解決
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/07(日) 07:59:12 ] うんこー! しょんべー!
686 名前:名無しさん@お腹いっぱい。 [2010/11/12(金) 17:28:50 ] >>82 僕もなぜか新しいscreen立ち上げたときは反映されなくてsourceしたらようやく反映される設定があったけど .zshenvに書いたら大丈夫だったよ.
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/13(土) 18:09:16 ] >>686 インタラクティブシェルのときは.zshrcは読まれるはずなんだけどな
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/14(日) 02:34:18 ] .zshrcの該当箇所より前にエラーがあったとか
689 名前: [―{}@{}@{}-] 名無しさん@お腹いっぱい。 [2010/11/14(日) 03:00:43 ] >>687 そうだよね.そう思ってたんだけどなぜか読まれない設定もあるみたい
690 名前: [―{}@{}@{}-] 名無しさん@お腹いっぱい。 [2010/11/14(日) 03:10:44 ] >>688 エラーがあったらzshはそのエラーの箇所を教えてくれるじゃん
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/14(日) 21:31:33 ] .zshrc を bindkey "^P" history-beginning-search-backward-end だけにしても同じなのかね。
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 15:38:06 ] sshのログイン先で実行したzshスクリプトをdisownしてからログアウトすると、 何故かプロセス終了まで待たされてしまいます。 $ cat hoge.sh #!/bin/zsh sleep 3 $ ./hoge.sh &>/dev/null </dev/null &! $ exit <---待たされる スクリプトをzsh以外にしたり直接プロセスを実行したりすると、ちゃんとログアウトできます。 $ cat hoge.sh #!/bin/sh sleep 3 $ sleep 3 &>/dev/null </dev/null &! 入出力は全部閉じてるはずなんですが、zshだと何故こうなるんでしょうか?
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 19:50:47 ] 試したけど待たされなかったよ。なんか他に条件があるのかも。
694 名前:692 mailto:sage [2010/11/18(木) 21:20:48 ] >>693 そうですか。 check_jobs が関係するかなと思いましたが、有りと無しともに同じでした。 他の設定が悪いのかと思い、rm -r .z* して試しましたが、やはり同じでした。 ↓バージョンです $ zsh --version zsh 4.3.10 (x86_64-redhat-linux-gnu)
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 20:15:39 ] たまに「.zhistory.84VoUD」みたいなテンポラリ的な履歴が作られるんだけど何でだろう? ログアウトはちゃんとしてるのに
696 名前:名無しさん@お腹いっぱい。 [2010/12/02(木) 10:47:13 ] 初心者質問すいません。 シェルをbashからzshに代えたら、ログインし直すたびにhistoryコマンドの履歴が消えてしまっています .zshrcには HISTFILE=$HOME/.zsh_history # 履歴をファイルに保存する HISTSIZE=100000 # メモリ内の履歴の数 SAVEHIST=100000 # 保存される履歴の数 と書いていて、.zsh_history自体をlessで覗くと記録が残っているのですが…
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/02(木) 13:16:49 ] 別のファイルで先にHISTFILEが設定されていてそっちから読まれちゃったとか?
698 名前:696 [2010/12/06(月) 13:00:10 ] すいません、超勘違いで無事に書き込みされていました!
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/06(月) 20:39:58 ] SuSEとかだと/etc/zsh*で結構設定してるんだよな HISTFILEを.zshenvに書いてたせいでハマった覚えが
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 19:12:31 ] bashの「変数のn文字目からm文字目を取り出す」という機能はzshにはないんですか? こんな感じのやつです $ str=hoge $ echo ${str:1:2} ←先頭は0から og $ echo ${str:1} ←2つ目を指定しないと末尾まで oge
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 21:06:59 ] >>700 % str=hoge % echo $str[2,3] # 先頭は 1 から og % echo $str[2,-1] # 末尾は -1 から oge % echo $str[2] # n 文字目 o
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 22:01:16 ] >>701 ありがとうございます!そんな方法があったとは・・・ 配列の場合もできるんですね $ str=( hoge fuga ) $ echo ${str[2][1,-1]} fuga
703 名前:名無しさん@お腹いっぱい。 [2010/12/23(木) 03:08:11 ] hoge.txt 内から、piyoという文字列を検索して、それ以降の行を取得するのってどうすればいい? perl使えば可能ではあるけど・・・・これはシェルスクリプトスレで聞くべきか cat hoge.txt |perl -ne 'if($i==0){if(m:piyo:){$i=1}}else{print}'
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 03:41:15 ] スレチだね grep -A99999999 'piyo' hoge.txt perl -ne '$f|=/piyo/and print' hoge.txt
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 05:54:50 ] 9999999とか使うよりも、`wc -l`使ったほうが良いんでないかい?
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 08:20:45 ] sedでええやん
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 10:39:34 ] sed '1,/piyo/d' hoge.txt ってな感じ? >>700 12/20 に出たばかりの 4.3.11 のリリースノートを読んであまりのタイムリーさに笑ってしまった > Parameter expansion has been enhanced to provide the ${NAME:OFFSET} and ${NAME:OFFSET:LENGTH} syntax > for substrings and subarrays present in several other shells.
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/31(金) 00:47:09 ] >>695 うちもそれ偶にみると大量(でもないか)にできてて、 rm .zsh_history.* とかしてたんだけど、 今みるとないな。前消してからけっこうたった気がするけど。
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/01(土) 23:31:40 ] ネットが瞬断して端末が切れたとかはないの?
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/06(木) 23:45:20 ] zsh-4.3.[10,11]のelite2プロンプトで変な文字が入る ┌┌(hoge@hage)┌(10001/pts/6)┌(11:42pm:01/06/11)┌- └┌(%:~)┌- 誰か同じ症状の人いない? prompt_elite2_setupはzsh-4.3.9(正常なプロンプトが出る)に含まれる物と同じみたい
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/08(土) 21:48:53 ] >>703 % sed '1,/piyo/d' hoge.txt で簡単にできるはず。
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/09(日) 01:27:28 ] すでに>>707 にあるがな
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/09(日) 04:00:39 ] zsh睾丸
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 00:17:01 ] >>710 prompt は使ってないけど… 期待値は? prompt_special_chars は変わってない? ┌┌(hoge@hoge)┌(516/pts/4)┌(12:13午前:01/14/11)┌- └┌(%:~)┌- あー俺もヒストリ10000ぐらいにしよっかなー
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 00:18:14 ] 書き忘れたけど >>714 のプロンプトはうちで試した結果ね。
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 10:29:40 ] prompt テーマだかは使ったことないけど それのどこが "変" でどうなっているべきなの? ↓と似たような感じに見えるけど… www.linuxaria.com/wp-content/uploads/2010/10/prompt.jpg
717 名前:710 mailto:sage [2011/01/14(金) 20:30:04 ] >>714 prompt_special_charsが変ってるみたい 4.3.9のelite2プロンプトは下記の通り '┌' が付かない (hoge@hage)(10015/pts/7)(08:26pm:01/14/11)- (%:~)- diff -u prompt_special_chars-4.3.* --- prompt_special_chars-4.3.9 2011-01-14 20:26:13.012731694 +0900 +++ prompt_special_chars-4.3.10 2011-01-14 20:26:13.012731694 +0900 @@ -8,7 +8,7 @@ typeset -gA schars -if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then +if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then schars[300]=$'\xe2\x94\x94' schars[304]=$'\xe2\x94\x8c' schars[332]=$'\xe2\x94\x8c' @@ -20,6 +20,6 @@ schars[260]=$'\xe2\x96\x91' else for code in 300 304 332 333 371 372 262 261 260; do - eval "char[$code]=\$'\\$code'" + eval "schars[$code]=\$'\\$code'" done fi
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/22(土) 23:57:26 ] 解決 ?
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/23(日) 21:50:20 ] zshマスターは時空を超える
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/28(金) 07:30:14 ] 引数リストの長さの制限を自動で超越して欲しいことは時々ある
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/28(金) 18:01:18 ] cvs updateできないの俺だけ? Fatal error, aborting. anoncvs_zsh: no such system user
722 名前:名無しさん@お腹いっぱい。 [2011/01/29(土) 03:48:58 ] 補完で優先順位を察して補完してくれる機能ってありますか? autoload predict-on predict-on の先方予測は試したけどtab打たなくても勝手に出てるっていうのが気持ち悪い。一応Tab打った時だけ反応して欲しい。
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/31(月) 00:57:02 ] ?つまり?
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/12(土) 18:27:10 ] ho
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/11(月) 02:01:20.99 ] _history-complete-{older,newer} って menu select ができないのかな
726 名前:名無しさん@お腹いっぱい。 [2011/04/15(金) 18:13:04.18 ] /a/b/c が /A/B/C というディレクトリへの symlink のときに、/a/b/c に移動してから ls ../[TAB] とすると /A/B 以下のファイルが補完対象になります。 これを /a/b 以下のファイルを対象にしたいのですが、どのようにすればいいのでしょうか? ちなみに CHASE_DOTS と CHASE_LINKS はオフにしています。
727 名前:名無しさん@お腹いっぱい。 [2011/04/15(金) 22:59:29.50 ] >>726 plus mkdir /a and /A mkdir /b and /B mkdir /c and /C ON files of directory.
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 09:02:53.75 ] >>726 そんな補完したところでlsは失敗するだけなので意味がないのでは?
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 09:50:13.12 ] そもそも >727 がなにが言いたいのかわからん
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 15:01:31.51 ] tempfile==(foo_process) と一時ファイルの名前を取得しておいて、後で $tempfile を 処理するような zsh スクリプトを書くことがあるのだけど、4.3.6 から 4.3.11 に バージョンアップしたら動かなくなった。 後で処理する段階では削除済みになっている。セキュリテイの問題か何かで、一時ファイルの 寿命を変更したのだろうか。お手軽に一時ファイルを扱えて便利だったんだが。
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/30(土) 00:44:02.87 ] 元からそう動くと思っていたが、 前は作りっぱなしだったのか。
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/01(日) 01:48:08.75 ] >>731 それで思い出した。スクリプト終了時には多くの場合自動的に消えるのだが、 たまに /tmp/zsh* が残ったままになるので、trap で消すようにしてあったんだった。 やはりバグだったのかもしれない。
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 16:48:39.90 ] 内蔵コマンドのniceが欲しい
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 21:01:39.43 ] なぜ?
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 23:16:30.10 ] そっちの方がniceだから
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/16(月) 12:00:38.09 ] そういうコマンドはないスね。
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/16(月) 19:33:27.50 ] ナイスな切り返し!
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/17(火) 01:48:06.20 ] ナイスな椅子
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/17(火) 20:54:54.76 ] コッシーか
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/24(火) 04:21:47.89 ] 電動オナホールをzshで制御
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/25(水) 00:17:08.52 ] 俺は童貞だ!
742 名前:名無しさん@お腹いっぱい。 [2011/05/26(木) 00:23:11.80 ] すみません。zmvの使い方を教えてください 1.pdf 2.pdf ... 9999.pdf を ↓ 0001.pdf 0002.pdf ... 9999.pdf と、 先頭に0を含むファイル名に変えるにはどうすればできますか?
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/26(木) 01:00:04.31 ] zmv '(*).pdf' '${(l:4::0:)1}.pdf' でいいのかな? 正直こういうzshの変な機能を使うのはどうかと思う
744 名前:742 mailto:sage [2011/05/26(木) 01:40:01.29 ] >>743 ありがとうございます。 >正直こういうzshの変な機能を使うのはどうかと思う 痒いところにピンポイントで、とても助かりました。
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 13:12:40.65 ] 変な機能はいいんだけど、次に必要になる時までに使い方を忘れてしまうのが難点。
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 13:16:40.66 ] >>745 HISTSIZEもっとでかくしようぜ?
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 19:43:09.37 ] % echo $SAVEHIST 0 % echo $HISTSIZE 100000 保存したいなー、と思ったときだけ % SAVEHIST=1 fc -W $HISTFILE
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/11(土) 02:40:20.24 ] また変わったことを‥ 似たことを考えたことはあるけど。 さて、ひとまず 10倍にするか。
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/14(火) 07:27:59.44 ] 4.3.12
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:10:11.82 ] zshで時空を超えた奴はいないか?
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:14:02.51 ] 色即是空、空即是色 シェル製作者は冥界へ行ったまま帰ってこない
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:25:26.73 ] zsh 4.3.12 で setopt ksh_arrays にしてると _main_complete でエラーが出て 補完が効かなくなるのはおれだけ? そのファイルで setopt localoptions no_ksh_arrays すると大丈夫っぽいけど、 正しい方法か分からない。
753 名前:名無しさん@お腹いっぱい。 [2011/07/13(水) 21:45:12.61 ] 「# cp /us」で上キー押すと履歴が補完されて 「# cp /usr/home .」のようになるのですが、 たまに、「# cp /us」で上キー押しても履歴補完されず、もう1度押すと 直前のコマンドが表示されてしまいます。 これはどこか.zshrcがおかしいのでしょうか? ちなみに、大地さんのjournal.mycom.co.jp/column/zsh/024/index.html を、履歴補完のキーだけ改造しただけだったと思います。
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/18(月) 16:57:18.63 ] >>752 まだ 4.3.11 だしエラーの内容知らんけどまあ正しいんじゃない? >>753 ↑キーには何 bind してんの?
755 名前:753 [2011/07/19(火) 03:17:01.85 ] autoload history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "\e[A" history-beginning-search-backward-end bindkey "\e[B" history-beginning-search-forward-end bindkey "\\ep" history-beginning-search-backward-end bindkey "\\en" history-beginning-search-forward-end です
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/20(水) 23:31:23.84 ] よく起きるなら history-search-end の先頭で setopt xtrace してみれば何かわかるかもね
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/06(土) 12:36:50.68 ] 前から思ってたけど **/* は ** でいい気がする。表記法として。 /* が無駄に思える。 要らなくね?と思いながら / を打っている。
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/06(土) 15:51:31.14 ] え?
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 14:30:44.99 ] そういやMSX-DOSにはディレクトリがなかったっけ かつてファイルしかない世界がそこにはあった >>757 はそんな時代に生きているんだ
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 17:54:21.35 ] いや **/* だけ特別扱いしたらっていう提案でしょ。 単に ** の時は **/* に、 **/*.c みたいなやつは今までどおりでと。
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 19:43:41.53 ] 特別扱いというより、**のみの意味を考えた時に **/*と何ら変わりがなくね?って話かと
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 21:32:22.84 ] /** ここはコメントです **/
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 23:20:40.36 ] >>760 それなら、グローバルエイリアスで '**'='**/*' すればいいだけじゃね?
764 名前:757 mailto:sage [2011/08/12(金) 03:16:42.94 ] >>761 が近い、というよりそのものかな。 >>763 なので、悪くない案だけど理想は dir/** -> dir/**/* になることかな。 alias -g '**=**/*' じゃ dir/ 付きは変わらなかった。 色々やってまで実現したい訳じゃないので。個人的にはこういう仕様の方がよかったなー、というだけで。 まあ熟慮した訳じゃないので破綻してるかも知れないけど。 つか man zshexpn の Recursive Globbing 見ると As a shorthand, `**/' is equivalent to `(*/)#' とあり directory についての記法になってるけど、 感覚的には `**' が `(*/)#*' なんだよなー。 まあこれだと **/foo が foo に match しないけど。 無理に書くと ** を ./(/*)# として match したものから . を除いて正規化したものが期待結果かな。 zsh の glob として正しくないけど。 なんかもう破綻してる気がする。 いや、というか訳わからんこと書いたけど結局こうなってほしいってことか。 ** -> (*/)#* **/ -> (*/)# 更にいうとこうか。最初に戻ってるよ。 ** -> **/* どうやら混乱していたようだ。
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/26(金) 03:48:57.64 ] #!/bin/zsh
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/30(火) 04:55:18.98 ] zshの本っていうの買ってきた。 まだ読んでない。
767 名前:名無しさん@お腹いっぱい。 [2011/09/20(火) 00:02:11.12 ] リンク先のないシンボリックリンクファイルをまとめるglobってあります?
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/20(火) 04:23:59.57 ] *(-@)かな?
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/20(火) 10:31:57.15 ] ウナー *(-@-)*
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/25(日) 14:52:34.21 ] ttp://www.clear-code.com/blog/2011/9/5.html
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/25(日) 15:18:54.59 ] >770 +1
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 04:20:36.81 ] 最近、zshに入門した者なんですが Mac10.6の環境で PROMPT=$'%(!.#.%%)' ; を実行するとスーパーユーザだとプロンプトの接頭辞が(そう呼んで正しいのか否かもわかりませんけど) # になり、その他だと % になるこの原理がどうしてなのかわからず謎めいているのですが おわかりになる諸先生方いらっしゃいましたらご教授ねがえませんでしょうか
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 06:05:16.72 ] zshmisc(1)に書いてある。
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 09:58:43.77 ] キターーーーー!! ハッカーさんありがとうww
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/02(日) 21:41:07.32 ] zshってbashのスクリプト使える?
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/03(月) 00:05:32.72 ] tukaeru
777 名前:名無しさん@お腹いっぱい。 [2011/10/03(月) 09:18:40.25 ] ある程度は。
778 名前:名無しさん@お腹いっぱい。 [2011/10/03(月) 09:27:19.51 ] スーパーユーザだとプロンプト山桐慎也
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/10(月) 20:00:44.39 ] zshで function { local a=("hoge"); } とやろうとすると怒られる。 bashでは出来るのに。そういう仕様なの? local a a=("hoge") ってやるしかないの?
780 名前:名無しさん@お腹いっぱい。 [2011/10/10(月) 20:33:33.77 ] man zshbuiltins の typeset (localの本体) の説明より。 For each name=value assignment, the parameter name is set to value. Note that arrays currently cannot be assigned in typeset expressions, only scalars and integers. ということで現行の制限事項という感じじゃないだろうか。
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/11(火) 00:08:27.49 ] >>780 ありがとう。そういう事なら仕方ないね。
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/13(木) 22:45:40.31 ] エイリアスに補完を効かせるにはどうしたらいいですか? たとえば、alias adx='chmod +x' とした場合、このadxにchmodと同様の補完を 効かせたいんですが、やはり _adx みたいな補完ファイルを自分で用意しろってことですか?
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/13(木) 22:58:24.95 ] 俺の環境では何もせんでも chmod +x [TAB] と同じ補完になるが……
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/14(金) 13:06:26.35 ] 多分 compdef adx=chmod とかいう話なんでは
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/15(土) 19:25:37.60 ] ctrl E で行末に移動したあと、単語単位でカーソル位置を戻したいんだけど、どうやんの?
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/15(土) 19:39:23.41 ] bindkey -e なら Alt-B?
787 名前:名無しさん@お腹いっぱい。 [2011/10/15(土) 21:52:03.41 ] なお、何をもって単語と見なすかは WORDCHARS 次第。
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/18(火) 02:25:40.80 ] これってreadlineの機能?
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/18(火) 02:37:36.81 ] readline使ってないよ 独自実装
790 名前:名無しさん@お腹いっぱい。 [2011/10/20(木) 23:52:27.78 ] キーバインドの一覧を知りたいのですがどうやればいいですか?
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/21(金) 00:42:05.88 ] bindkeyでした
792 名前:名無しさん@お腹いっぱい。 [2011/11/05(土) 22:41:39.08 ] zshを使ってみようと思うのですが、勉強するために最適な書籍などはありますか?
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/05(土) 23:07:47.87 ] >>792 この本がお勧めです。 Introduction of the ZSH www.gentei.org/~yuuji/rec/pc/intro-zsh.html#zshbook
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 08:15:47.33 ] man zshall
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 10:18:22.94 ] 迷宮の入り口晒すな
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/12(土) 18:58:04.35 ] TABキーの補完をbashのようにファイル・ディレクトリのみにするには どう設定すればよいでしょうか? 低スペックのノートPC上でcygwinのzsh 4.3.11 を使っていますが、 TABキーを押すと5〜10秒近く待たされることもあります。 bashだと一瞬なので、zshでも補完の検索をカレントのファイルのみにしたいです。
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/13(日) 22:52:50.08 ] compinit しなければいいんじゃないかな。 てか bash でもいいような気がしたけど、きっと気のせいだな。
798 名前:796 mailto:sage [2011/11/14(月) 22:49:23.21 ] おまじないのようにcompinitしてましたが、 プログラマブル補完機能というのが効いていたのですね。 これを外して何か副作用あるかなと思いましたが、特に問題なさそうです。 ありがとうございました。 ヒストリの複数行コマンド編集やTABキーで補完候補の選択ができるとこが bashになくて気に入ってる機能です。
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/18(金) 22:34:45.85 ] あーなんか履歴検索とかって space を and にした絞り込みにしたら使いやすいかもなあ。 とか最近 unite.vim を使って今 history-incremental-search-backward 呼んだら思った。
800 名前:名無しさん@お腹いっぱい。 [2011/11/18(金) 22:53:12.54 ] history-incremental-pattern-search-backward で我慢してくれ。
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/20(日) 08:59:19.42 ] >>799 そこでvimshellですよ!
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/21(月) 14:05:04.51 ] vimshel使うのと、screenでターミナル分割して使うのと何がちがうの?
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/23(水) 10:57:13.05 ] screenだと、デタッチアタッチが出来るのがかなり大きいと思う
804 名前:名無しさん@お腹いっぱい。 mailto:sageage [2011/11/27(日) 20:14:54.56 ] bindkey "^p" history-beginning-search-backward-end bindkey "^n" history-beginning-search-forward-end bindkey "\\ep" history-beginning-search-backward-end bindkey "\\en" history-beginning-search-forward-end これって↓↑キーと同じですか? なら自分はいらないんですが
805 名前:名無しさん@お腹いっぱい。 [2011/11/27(日) 20:21:18.83 ] うちでは Ctrl-P/Nには up/down-line-or-history が割り当てられているな。
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 17:40:25.43 ] case ${UID} in 37 0) 38 PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') %B%{${fg[red]}%}% /#%{${reset_color}%}%b " 39 PROMPT2="%B%{${fg[red]}%}%_#%{${reset_color}%}%b " 40 SPROMPT="%B%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b " 41 ;; 42 *) 43 PROMPT="%{${fg[red]}%}%/%%%{${reset_color}%} " 44 PROMPT2="%{${fg[red]}%}%_%%%{${reset_color}%} " 45 SPROMPT="%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%} " 46 [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && 47 PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') ${PROMPT}" 48 ;; 49 esac これの tr の定義がわかりません? どっかにありますか?
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 17:42:34.33 ] en.wikipedia.org/wiki/Here_document#Unix_Shells これ?
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 18:17:54.45 ] ${HOST%%.*} これっの%%.*って意味的には %% %. %* みたいなことでしょうか?
809 名前:名無しさん@お腹いっぱい。 [2011/11/28(月) 20:37:32.06 ] >>808 HOST の後の部分で .* というシェルのパターンに合致する部分をできるだけたくさん捨てる。 HOST=www.google.co.jp なら .google.co.jp を捨てた www になる。 % が一つなら最小限捨てる。(.jpを捨てたwww.google.co)
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 22:42:29.40 ] >>805 >>809 どうも
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/08(木) 23:47:37.72 ] 4.3.14
812 名前:アンネ [2011/12/09(金) 23:59:43.22 ] やぁ(笑)
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 16:39:36.98 ] zshで↓のようなプロンプトにしたいんだけどどうすればいい?めんどくさいから丸投げする。 PS1="\[\033[1;32m\][\u@\h \w]\[\033[0m\]\n\[\033[1;37m\]>> \[\033[0m\]" 教えてください。
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 19:19:24.11 ] autoload -U colors && colors PS1="%{$fg_bold[green]%}[%n@%M %~]%{$reset_color%} %{$fg_bold[white]%}>> %{$reset_color%}"
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 21:25:31.79 ] >>814 ありがとうございます!
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 23:20:55.64 ] fwd-searchして今の場所でOKのときにfwd-searchを抜けるのってどうやってますか? Ctrl-F,Bで移動するとfwd-search解除されるのでそうやってますが、もっと良い方法ないかなと思って・・・ Enterしたらコマンド実行しちゃうし
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 00:36:11.96 ] >>816 C-eってやってる。
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 06:48:36.41 ] Type RET to exit, leaving point at location found.
819 名前:816 mailto:sage [2011/12/28(水) 01:19:08.43 ] >>817 C-eって行末移動ですよね?行末じゃなくてその場に留まりたいんですが >>818 RETすると実行しちゃうんですけど・・・設定の違い?
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 08:10:40.33 ] すまんEmacsの話だと思ってた
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:17:17.49 ] >>816 ESC ESC ESC でカーソルがその場に残るよ。
822 名前:816 mailto:sage [2011/12/29(木) 11:16:03.68 ] >>821 ほんとですね。でも3連打はまんどいな・・・
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 14:50:12.84 ] isearch 中の話なら accept-search を適当なキーに割り当てておくとか bindkey -M isearch '^[g' accept-search
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:29:20.63 ] >>821 ESC ESC で足りるけど… 最新だと違うんかな search 専用の keymap がないからなあ… と思っていたら isearch なんて追加されてたのか 久しく進化を追ってない内に
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:39:02.48 ] >>822 Alt で ESC が入れば A-C-[ で 1 key だよ。これは 3 key というのか?同時押し key 数多くて勧めないけど。 ちなみに ESC ESC は undefined-key だから副作用がないだけで、 他の unbound key でも同じだよ。俺の環境だと "^[@" とか。
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:20:44.81 ] ^[^| @
827 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/01/14(土) 10:44:12.89 ] sudo command てすると、commandのaliasが展開されない どすればsudoでもaliasコマンド使える?
828 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 12:10:30.76 ] global aliasでどうか?
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 16:53:03.33 ] alias sudo='sudo ' がよくある解
830 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/01/14(土) 23:01:13.40 ] >>829 それ見つけたけどなんかうまくいかない $@とか含むエイリアスはダメなのかな?
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 23:23:23.21 ] >>827 そのエイリアスってroot権限なくても展開できるのかな。
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 01:05:45.91 ] >>829 なにそのクールなトリック全然解らない、と思ったらそういう仕様があんのね。 見たのは↓の話で bash だけど。man zshall に該当記述が見付からない… ttp://d.hatena.ne.jp/Yudoufu/20110326/1301129885 この人の言っている偶然の抑止力って何のことだ? >>830 alias 内での $@ は多分期待動作と違うと思うよ。普通に使えない。 あーでもそれは alias sudo 関係ないから違う話なのかな? もしかして alias ではなく function が混ざってるのかも。 ↓ でも同じことができると思うけど、これもダメ? function が原因なら同じ話だけど。 # 1回まで展開する sudo () { command sudo ${aliases[$1]:-$1} $*[2,$] } >>831 root 関係ないような… なんか試してたら alias echo='echo[TAB]' # ([TAB] は "^[^I" is self-insert-unmeta で入れた tab) の後に echo a とか実行すると履歴に echo[TAB]a が残ることを発見してしまった。 どーでもいいけどなんだコレ。 そしてこれもどーでもいいが history では [TAB] も \t (2文字) も \t と表示されて区別できない。
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 01:07:36.87 ] ちなみに展開1回までとかアホかという場合はこれで。 # 展開回数制限なし sudo () { local cmdline arg local -A hist cmdline=($1) while (( ! ${+hist[$cmdline[1]]} && ${+aliases[$cmdline[1]]} )) do hist[$cmdline[1]]= cmdline=($aliases[$cmdline[1]]) arg="$cmdline[2,$] $arg" done command sudo $cmdline[1] $arg $*[2,$] }
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:22:12.80 ] RC_EXTENDED_PARAM って代入のときは効かないんですかね? % num=(1 2 3) % echo A${^num}B A1B A2B A3B % str=A${^num}B % echo $str A1 2 3B こうすれば目的を果せますが… % str=$(echo A${^num}B) % echo $str A1B A2B A3B
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:28:21.85 ] ちゃんと効くけど? str=(A${num}B)
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:29:28.68 ] おっと ^ を入れ忘れた。 ${^num}ね。
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 01:08:51.91 ] >>835-836 なるほど、ちゃんと配列として代入せにゃならんのですね
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/31(火) 11:30:31.32 ] zshでcat file_not_exist >/dev/null 2>&1 | w3mとやると、 catのエラーメッセージがw3mに渡されることに気付きました。 shのリダイレクションの解釈だとパイプには何も渡されないはずですけど、zshはどうしてこういう動作にしてるんですか? 何か理由があるんでしょうか。
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/31(火) 14:32:40.13 ] >>838 unsetopt multios
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 07:31:41.94 ] >>839 じゃなくて、どうしてmultios状態をデフォにしてるのか、何か理由があるのかを聞いてるんだが。
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:02:56.24 ] >>840 command > file1 > file2 とやると両方のファイルに出力されるのがzshというかmultiosの特色だね 開発者の意図は知らんが、有効にすることでデメリットがあるわけでもないから有効になってるんじゃないかな
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:03:33.59 ] そりゃ作者が便利だと思って取り入れた機能はデフォにするだろ
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:07:08.37 ] であれば、 command > /dev/null | command の場合は別にするべき。 大きなデメリットだな。
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:11:02.94 ] teeを使いたくなかった奴が作ったのにそりゃないな
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:14:01.25 ] >>842 作者が便利だと思っても互換性に問題がある機能はデフォではOFFにするのが鉄則。
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:32:47.47 ] はて、非互換ってどのシェルに対して。shとかだとほとんどデフォで使える機能なくなる気が
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:34:55.21 ] >>846 他のシェルに対する互換性じゃなくて、multios導入前のzsh自身に対する互換性ね。
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:11:56.10 ] そんなこといったら zsh v0.0.1 とかから何も進歩できないじゃん
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:25:05.49 ] >>845 作者にそう言えばいいじゃない。
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:56:27.96 ] >>845 >作者が便利だと思っても互換性に問題がある機能はデフォではOFFにするのが鉄則。 こういう鉄則始めてみたんだが、どこで言われてる奴?
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 11:12:17.72 ] まあ互換性に関しては原則としては理解できる主張だが ことインタラクティブ関係の便利機能はどこかでデフォルト on にする タイミングってものはあってもいいわけだ いやなら古いの使ってろってのも間違ってないし
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 11:14:19.56 ] 互換性を重視するか互換性捨てて新機能を重視するかは 単にポリシーの問題、決めの話でしょ。 ぜんぜん鉄則ではないよ。
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 12:08:24.98 ] >>840 ウダウダ書かずに最初からそう書けよ
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 13:57:53.03 ] まぁすぐ書いたからいいじゃん。
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:34:26.24 ] >>854 そうだね。連投に次ぐ連投で予想以上の嫌悪感を撒き散らしていたよね。
856 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:42:13.97 ] >>838 →>>839 →>>840 だから連投ってほどのこともしてないじゃん。
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:46:18.61 ] >>838 =>>840 =>>843 =>>845 =>>847 IDじゃなくてもこれだけ書き込んだら目立つ
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:47:04.58 ] >>853 は>>840 への指摘でしょ? それ以降の話は関係ないじゃん。
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 15:20:42.30 ] >>858 そう、>>853 の意図としては>>840 に対してのみの指摘。 元々のウダウダ書いている>>838 は multios を知らない人間の質問の仕方。 だからその回答は「zsh には multios って機能があるから」で十分で、 あとはググりでもすればいくらでも満足してもらえると思ったんだがな。
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:08:39.89 ] 838です。私の書き込みは838だけで、840以降のレスは別の方です。 zshが複数ファイルへのリダイレクションができるのは知ってましたが、 その機能がcommand >/dev/null 2>&1 | commandの動作に影響することまで頭が回りませんでした。 あとは自分でzshmisc読んで勉強しようと思います。 回答して下さった方、どうもありがとうございました。
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:10:04.40 ] 2chとは思えないまともすぎる書き込み…
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:16:08.78 ] なりすまし多いよなぁ。 質問する際はトリップ推奨ってことにした方がいいね・・・。
863 名前:855=857 mailto:sage [2012/02/01(水) 17:32:02.57 ] >>860 了解しました。
864 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/03(金) 01:55:09.12 ] 初めてトリップつけるけど、これでいいの(´・ω・`)?
865 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/03(金) 01:55:36.82 ] できたっぽ(´・ω・`)ノみんなよろしくな
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/03(金) 02:15:05.15 ] なんの必要があって…?
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 14:52:47.90 ] >>844 ファイルと標準出力の両方にリダイレクトしたい場合もmultiosで出来るんですか? これはteeじゃないと駄目かと思ってました
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 16:55:57.40 ] ・マシン毎にzsh_historyを使い分けたい ・異なるマシンのzsh_historyを参照したい この両方を同時に実現する方法はないかな。 今は複数マシンのzsh_historyをsamba等で共用してるけど、 マシン単位で区別ができないのがツライ。
869 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:07:58.08 ] HISTFILEにホスト名を含むようにすればいいんじゃないの?
870 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:10:24.09 ] いや、エディタでファイルを読めればいいという意味なのじゃなくて、 履歴検索時全ホスト分から探して欲しいという意味なのか。
871 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:16:18.66 ] zshmiscのzshaddhistory関数の使用例に、通常の履歴に加えて カレントディレクトリにも履歴を書き出す例があった。
872 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 19:59:07.40 ] OpenSUSEなんだけどPATHを.zshenvに書くと /etc/zprofileで参照される/etc/profileで上書きされる. SUSEで使っている人はPATHをどこに書いてますか?
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 21:25:43.31 ] つーか/etcのファイルを読まないようにする方法ってあったっけ? 大抵のzshユーザは/etcのファイルよりも細かく設定してるし、邪魔なだけだよね
874 名前:872 mailto:sage [2012/02/04(土) 21:40:29.86 ] >>873 PATHも追加ならいいんだけど最初から設定するみたいで消されちゃう スクリプトを使うから必要なんだけど,.zshrcに二重で書くのも変だし…
875 名前:名無しさん@お腹いっぱい。 [2012/02/05(日) 01:26:19.14 ] 最初に /etc/zshenv を読み込むのは不可避。 ユーザーが介入できるのはその次の ~/.zshenv か。 setopt no_global_rcs だっけ?
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 07:18:57.19 ] >>867 そりゃできますよ。843が文句言ってるけどw
877 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 11:14:06.71 ] >>876 複数ファイルへのリダイレクト時にはmultiosで動作して、 ファイルとパイプの組合せの場合はmultiosにならないような設定とかオプションとかないの?
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 13:05:09.41 ] >>875 サンクス。読み込み順は↓ ttp://cocelo.s201.xrea.com/wiki/index.php?Shell%2Fzsh というわけで>>874 は setopt no_global_rcs を .zshenv に書くのがよろし
879 名前:872 mailto:sage [2012/02/05(日) 15:12:20.38 ] >>875 >>878 うまくいきました ありがとうございます
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 17:59:39.17 ] >>876 もしかして、こんなふうに標準出力のデバイスファイルを指定するんですか? echo hoge >file >/dev/stdout しかし標準出力には何も出ない・・・
881 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 18:32:09.66 ] >>880 を試そうとして、 echo hoge >file1 >file2 >/dev/stdout のようにファイル2つと/dev/stdoutを指定したら、 zshがCPU使用率100%になって固まった。 echo hoge >file1 > /dev/stdout ←だと固まらない。 echo hoge >file1 >file2 >/dev/stdout ←で固まる。 再現率100%。バグか?w
882 名前:880 mailto:sage [2012/02/05(日) 19:38:57.92 ] stdoutじゃなくてstderrだと出る・・・ echoって標準エラー出力に出す仕様だっけ?? >>881 自分もそうなりました。zshは4.3.10です。
883 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 20:05:06.90 ] 25016 read(15, "hoge\n", 4092) = 5 25016 write(13, "hoge\n", 5) = 5 25016 write(14, "hoge\n", 5) = 5 25016 write(16, "hoge\n", 5) = 5 25016 read(15, "hoge\n", 4092) = 5 25016 write(13, "hoge\n", 5) = 5 25016 write(14, "hoge\n", 5) = 5 25016 write(16, "hoge\n", 5) = 5 止めかたがわからずPCが焼け石になるところでした
884 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 20:37:13.09 ] うーん、こんな危険なmultios状態をデフォにするべきじゃないねw
885 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 21:42:57.78 ] ん? echo hoge >file1 >file2 >/dev/stdin じゃないのか
886 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 21:46:28.52 ] >>885 stdinじゃないよ。 echo hoge >file1 >file2 >/dev/stdout なのに、ストリームがループして無限にhoge hoge .... データが吐かれる。
887 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 23:38:13.30 ] そうじゃない。885は正しく動作するコマンドライン 誤記の指摘ではなくて、やりたいことはstdinじゃないのか?と
888 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/05(日) 23:46:02.29 ] じつはぼくはまだzsh使ってなくて、bashなんだけど(´・ω・`) みんなはなんでzshを使い始めたの? bashから乗り換えたくなるような機能って何があるの?
889 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:06:28.69 ] ないよ
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:13:22.46 ] >>889 だな。 今のbashはzshの持っている機能を100%持ってる。 bashにしかない機能も山ほどある。
891 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:16:57.70 ] >>887 ほんとだ・・・なんでstdinなんですかね?逆のイメージ持ってた スレチですが教えてください
892 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/06(月) 00:27:31.43 ] >>889-890 そ、そうなんだ(´・ω・`)
893 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:29:26.85 ] >>892 そうだよお。 bashがなんでLinuxでスタンダードシェルになってるかこれでわかるよね? おじさんを信じてzshなんて使うのやめようねぇ。
894 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/06(月) 00:36:22.89 ] >>893 LinuxじゃなくてMacを使ってるんだけど(´・ω・`) じゃあ、おじさんはどうしてzshを使っているの?
895 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 01:15:11.82 ] >>890 じゃ具体例挙げてくれ 最近のbashはインクリメンタルサーチなど対応してるというのは聞いたけど
896 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 06:46:06.66 ] >>881 >>886 が指摘してる件は重大なバグだろ? echo hoge >file1 >file2 >/dev/stdout って実行しただけで固まって無限サイズファイルができるって、 危なくて使えない。
897 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 09:56:43.30 ] > 今のbashはzshの持っている機能を100%持ってる。 > 今のbashはzshの持っている機能を100%持ってる。 > 今のbashはzshの持っている機能を100%持ってる。 > 今のbashはzshの持っている機能を100%持ってる。
898 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 12:00:37.83 ] >>897 言いたいことがあるなら具体的に。
899 名前: 忍法帖【Lv=2,xxxP】 mailto:sage [2012/02/06(月) 20:48:23.62 ] 出来るかもしれんけど、より簡単に設定出来るのはzshなんじゃね?
900 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 20:57:22.55 ] bashでzleとかいじれる?
901 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:11:50.27 ] >>898 100% 知っているとは思えないってことじゃないかな。
902 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:29:09.15 ] >>901 だったらそれを自分で言うべき。
903 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:54:16.33 ] 矛先が非建設的な方向に向いております
904 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 23:27:59.71 ] bash にしかない機能って何?いいのある? よさそうなら使いたい。
905 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 23:33:50.86 ] bashがzshの機能を入れるのはzshユーザにとっても喜ばしいことじゃない?
906 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 00:22:28.90 ] >>890 bash にも既にあるってフレーズはよくきくからそうなんだろうなー、って思ったけど ちなみに bash で multios ってどうやんの? やり方がわからなかった。
907 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/07(火) 00:24:29.43 ] けんかはやめて(´・ω・`)
908 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 01:30:33.03 ] >>889-890 はどうみてもクソコテのクソ質問を適当にあしらってるだけだろ
909 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 02:12:44.28 ] だとして >>893 は要らんけどな。
910 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 02:39:27.57 ] >>885 それなら echo hoge >file1 >file2 >/dev/tty じゃないか?これだと抽象度に欠けるが。 echo hoge >file1 >file2 |cat が解りやすいけど cat とか書きたくなければ echo hoge 3>&1 >file1 >file2 1>&3 かな。試してみたら echo hoge 1>&1 >file1 >file2 もできるね。しかし echo hoge 3>&1 1>&1 1>&3 1>&1 で hoge が 4つでるのに対して echo hoge 1>&1 1>&1 で hoge が 2つじゃなく1つでるのは何故なんだろう。 >>896 zsh にはバグが多い印象があるけどそれは仕様だろう。 自分が何をしようとしてるか理解してるか確認するなんて 気の利いたことは zsh はしないからな。 それがバグだってんならそうかもしれないが、まあ余計だろう。 あーでも rm * はするんだっけ?
911 名前:名無しさん@お腹いっぱい。 [2012/02/28(火) 22:50:26.88 ] 2012-02-23 : Release 4.3.17 Complete fixes from last release.
912 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/02(金) 23:20:33.32 ] 2行目ってどう訳すん?
913 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 08:40:54.41 ] 2行目は動詞がない名詞区。fixesは3単現の s じゃなくて、fixの複数形。 あとはわかるな。
914 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:27:07.25 ] 主語のIかWeが省略されてるんじゃないかな completeは動詞でfixesが名詞 訳すと「この前のリリースからの(バグ等の)修正を完了したよ」
915 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:30:11.26 ] 主語がないと訳せない人がいるのか ニュアンスでわかんないものかねぇ
916 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:48:41.16 ] いや、completeは形容詞として訳して欲しい。全体で箇条書風の名詞句。
917 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:50:42.66 ] >>914 completeを動詞と考えると、現在形なのはおかしいね。 なので >>916 説に1票。
918 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 10:05:43.36 ] >>917 ああ言われてみれば確かにおかしい。というわけでリリースノート見てきた zsh.sourceforge.net/releases.html > Changes between versions 4.3.16 and 4.3.17 > Complete fixes from last release. 「4.3.16と4.3.17の間の変更点は何か」なので 自分もComplete fixesでひとつの名詞句と考える>>914 説に改説します 「この前のリリースからの(バグ等の)完全な修正」
919 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 10:50:18.07 ] 4.3.16で直し方が半端だったバグがあって、それを完全に修正したってこと?
920 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 13:41:34.71 ] はい
921 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 16:35:59.06 ] zshの設定って面倒くさいな zshの本読んでたら頭痛くなってきた・・・ うまく構成して見やすいドキュメント整えた配布版ってないの
922 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 16:44:15.83 ] デフォルトでも十分に便利だと思うが。。。
923 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 17:14:39.37 ] oh-my-zshでも使ったら。
924 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 20:49:21.06 ] 更に面倒だよ...
925 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/04(日) 01:23:46.40 ] 大丈夫か。辛いなら fish とか使ったら。今どうなってんのか知らんけど。 >>915 いやー主語はどうでもいいんだけどニュアンスでしか読めなかったから あんまり考えずに聞いてみた。 ニュアンスで読んだら見当違いの内容も浮かんだんでね。 >>919 どっちかというと 4.3.16 に対して完全にバグ修正しかしてないよってことじゃないかな。
926 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/09(金) 03:35:07.50 ] fish初めて知ったわw 悪くなさそうだが最終更新が2009年・・・
927 名前:名無しさん@お腹いっぱい。 [2012/03/09(金) 14:06:16.31 ] fishと名のつくシェルは fish.x しか知らんかった。
928 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 19:56:00.78 ] sudo -s でrootユーザになると、TAB押して補完するときに↓のようになるけど何でじゃろ? 補完自体はできてるんだけど _path_files:17: command not found: _have_glob_qual _path_files:201: command not found: _have_glob_qual _path_files:202: command not found: _have_glob_qual _path_files:695: command not found: _list_files
929 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 21:17:22.57 ] どうじゃろ?
930 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 22:20:52.25 ] root の設定が悪いとか
931 名前:928 mailto:sage [2012/03/18(日) 00:45:06.34 ] 「sudo -u 自分 -s」 で自分のアカウントになっても同じっす。 CentOS5.7でそうなる一方、CentOS6.2では出ない。 でも、どちらもzsh4.3.17をソースからビルドしてるし、.zsh*自体も同じなんだよなぁ。
932 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/18(日) 01:35:14.43 ] ググって最初に出てきたものくらいは当然試してるだろうけど、 「試したけど駄目だった」くらいは書け > Remove ~/.zcompdump and restart zsh.
933 名前:928 mailto:sage [2012/03/18(日) 02:16:08.50 ] >>932 実は.zcompdump消すのは試してたんだけど、問題がでたりでなかったりで よく分からずじまいだった。・・・で、今一度調べてやっと分かりました。 .zprofileにて if [[ $SHELL == /bin/zsh ]] ;then SHELL=$HOME/bin/zsh exec $SHELL fi とすることでログインシェルの/bin/zshを最新のzshに切り替えてたんだけど、 インタラクティブシェルは.zprofileを読み込まないのを忘れてました。 新しいzshが作った.zcompdumpを古いzshで読んだのでこうなったと。 実にくだらないミスで・・・orz。皆さんお騒がせしました。
934 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/21(水) 23:26:33.31 ] 以下のようなディレクトリ構成のところで、hoge下にdir1/dir2へのシンボリックリンクがあるとします。 $tree hoge hoge |-- dir1 | |-- dir2 | |-- dir3 | `-- dir4 `-- dir2 -> dir1/dir2/ dir2にcdし、「cd ../」まで打ってからTAB押すと、dir2〜dir4が候補表示され、 実際に「cd ..」するとhoge下にcdします。 ここで、補完をdir2〜dir4じゃなくて、hoge下のdir1〜dir2となるような方法はないですか? ちなみにbashだとその仕様みたいです。
935 名前:名無しさん@お腹いっぱい。 [2012/03/21(水) 23:38:28.15 ] setopt chaselinks ?
936 名前:934 mailto:sage [2012/03/23(金) 00:19:46.27 ] >>935 それだと「cd dir2」でdir1/dir2に移動するだけなんで、やりたいことと違います。
937 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 04:19:32.53 ] こんな方向でどか _directorys_symlink () { local pre="${PREFIX%/*}/"; local -a tmp; tmp=($(cd "$pre" && echo *)); compadd -f -p "$pre" -W "$(cd "$pre" && pwd -P)/" "$@" -a tmp } _cd_symlink () { local expl; _wanted directorys-symlink expl 'directory when retain symbolic links' _directorys_symlink } _cd_wrapped () { local pre="./${PREFIX%/*}" ret=1; [[ "$(cd "$pre" 2>/dev/null && pwd -P)" != "$(cd -P "$pre" 2>/dev/null && pwd)" ]] && _cd_symlink && ret=0; _cd && ret=0; return ret } compdef _cd_wrapped cd 色々足らんけど
938 名前:934 mailto:sage [2012/03/24(土) 18:36:46.18 ] >>937 非常に申し訳ないですけど、さすがにそれは使う気がしないですw でも、ありがとうございます。
939 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 22:21:42.30 ] それは残念。でもないか。 よく知らないけど、多分 cd の補完処理を直さないと無理じゃないかな。 ワーキングディレクトリのシンボリックリンクを残して path を辿るのは cd の特殊な仕様みたいだけど、 cd の補完がそれを考慮せず通常の path 補完をしているようだ。 なんで _cd を直すか cd の compdef を対応版に変える必要がある …ように見える。
940 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 22:27:23.24 ] 関係ないけど compadd の -P と -p の違いがよくわからない。 なんか前調べた気もするけどなんだったかな…
941 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/27(火) 22:42:55.78 ] 今日rsyncを使ってて妙なことに遭遇したのですが、zshスクリプトにおいて ディレクトリのコピーを以下のようにしていたところ、たまにrsyncのコピーが 正しくなされないことが分かりました。 while :;do rsync -av dir.org/ dir 〜dir内のファイルを書き換える処理〜 done rsyncの直前で dir.org と dir の中身を見ると確かに更新されているのですが、 rsyncはそれらのコピーをスルーしていました。今のところ以下が分かっています。 @上記現象は再現性が一定でない(正常コピーできるときもある) Arsyncの直前でsleep 1を入れると何故か正常にコピー Bbashだと無問題 zshの問題とも限らない気がしますが、このスレの方々は経験豊富だと思うのでお尋ねします。 何かアドバイスあればお願いします。
942 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/30(金) 11:06:21.55 ] , -'"´  ̄`丶、_ ,.∩ `ヽ 〃∪'´ ̄`二二人\ ヽ | ツ´ ̄ ̄ ̄ ̄´ ヾ ヽ. ', |ハ ,ニ、 ,. - 、 | | | l | | ハ ィハ ,二ヽ. | | | | | 同じ板にコピペするとそのままだけど、 | | | じ' |トJ〉 /)} l | 違う板にコピペすると鬼のような怖い顔 | ハ 、'_,  ̄,, 厶イ川| に変わる摩訶不思議な佳子様コピペ。 l l /\ .. イV\川 | ,' l l ,イ `l ̄´ / /ヽl l l | l ハ `メ、 〃 ヽヽ、__ノ
943 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/31(土) 00:58:41.59 ] dir内の〜 がなにかによるんじゃないの。 つーか dir が dest なんだよね。それだとコピーしない気がするけど、するんだね。 rsync はよーしらんから勘違いしてるかな。
944 名前:941 mailto:sage [2012/03/31(土) 21:41:34.17 ] すいません、自己解決しました。以下、zshとは関係ない話で恐縮ですがいちおう報告します。 rsyncはタイムスタンプを見てコピーするか否か判断しますが、>>941 のファイル書き換え処理が 一瞬で終わるためにタイムスタンプが変化しないのが原因でした。 実際、ls -l --full-timeで見ると↓のように秒以降が全部0になっています。 -rw-r--r-- 1 hoge users 326 2012-03-31 21:24:24.000000000 +0900 file ちなにみ環境はCentOS6.2です。おそらく、秒以降のタイムスタンプも記録するシステムならば 今回の問題は起こらないはずだと思います。あと、>>941 で言った@とAも勘違いでした。 この現象がランダムに出たために、誤って解釈してしまいました。失礼いたしました。
945 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/27(金) 23:45:48.02 ] ls とかのソートって unsetopt numeric_glob_sort の場合は以下の順ですよね? 特殊文字( _ を除く) 数字 大文字 _ 小文字 実は、あるホストへ自宅からログインすると上記の通りなのが、 職場からログインすると「 _ 」の存在が無視されたようにソートされます。 たとえば、A _b C というファイルがA C _b の順でソートされます。 こんなことってあるんですかね?全く同じホストにログインしてるのだから、 もう残る違いはログイン元の端末環境ぐらいしか・・・
946 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/27(金) 23:58:15.17 ] >>945 > 大文字 > _ > 小文字 > たとえば、A _b C というファイルがA C _b の順でソートされます。 大文字 大文字 _ の順になってる ってのは正常な動作じゃないのか?
947 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 00:11:03.30 ] >>946 すいません、間違えました。以下の意味に訂正します。 「辞書順で A C _B となるのが、A _B C となってしまう」
948 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 00:34:14.98 ] LC_COLLATEの値は?
949 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 14:06:53.07 ] >>948 自宅からの接続ですが、空でした。 こうなったら、自宅からと職場からとで環境変数が同じかどうか調べるしかないですね。 ところで「 _ 」って特殊文字には入らないんですかね?
950 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 17:38:50.08 ] LC_COLLATEをみるなら それより優先されるLC_ALLと 最後の砦のLANGも見ないと…
951 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:22:15.90 ] >>949 ていうか ascii 順でしょ。
952 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:32:43.75 ] $ LC_COLLATE=en_US.UTF-8 ls a _a b _b $ LC_COLLATE=C ls _a _b a b
953 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:59:07.34 ] てか、「lsとかのソート」の時点でzshもsetoptも関係なくね?
954 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 22:08:06.56 ] そうは思ったがきっとglobの展開のことだと汲み取ってあげたい。
955 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 22:10:50.41 ] lsは表示するファイルを自力でソートしているのでlsの問題。 (directory entryの出現順のままソートせずに表示するオプションがある) glob展開の結果の順序はシェルの問題。
956 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 22:15:19.85 ] $ LC_COLLATE=en_US.UTF-8 zsh -c 'echo *' a _a b _b $ LC_COLLATE=C zsh -c 'echo *' _a _b a b
957 名前:名無しさん@お腹いっぱい。 [2012/04/30(月) 00:17:44.41 ] 最近はzshあんま更新されてないし、bashのがいいってまじ?
958 名前:名無しさん@お腹いっぱい。 [2012/04/30(月) 07:45:44.90 ] そろそろ5を出そうかというタイミングで何言ってるんだ?
959 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/04(金) 23:55:38.50 ] >>952 >>956 両方 _a _b a b になるじゃねーか。試しちまった。
960 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 11:39:09.60 ] >>959 え? お前の環境変だろ。LC_ALL設定してしまってるとか。
961 名前:名無しさん@お腹いっぱい。 [2012/05/05(土) 12:00:08.94 ] en_US ロカールが定義されているか、未定義かで変わる?
962 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 12:10:33.40 ] 各地域ロケールの内容ってどこかで決まってたりするの? 環境依存だと思ってた。
963 名前:名無しさん@お腹いっぱい。 [2012/05/05(土) 12:12:56.73 ] >>959 ではないけどやってみた。OSX Lion。 普段の環境は LC_ALL 未定義、LC_MESSAGES=C、LC_TIME=C、他のLC_xxxは未定義、LANG=ja_JP.UTF-8 $ LC_COLLATE=en_US.UTF-8 zsh -c 'echo ZSH_VERSION=$ZSH_VERSION LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE; echo *' ZSH_VERSION=4.3.11 LC_ALL= LC_COLLATE=en_US.UTF-8 _a _b a b $ LC_COLLATE=C zsh -c 'echo ZSH_VERSION=$ZSH_VERSION LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE; echo *' ZSH_VERSION=4.3.11 LC_ALL= LC_COLLATE=C _a _b a b
964 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 12:21:42.24 ] 多分、en_US localeをインストールしてない環境ってオチ。それならLC_COLLATE=C と同じになって当然。
965 名前:963 [2012/05/05(土) 13:42:40.15 ] うちのzshはここ見てないのかねぇ。 $ ls -l /usr/share/locale/en_US.UTF-8/LC_COLLATE lrwxr-xr-x 1 root wheel 28 2011-08-02 23:22 /usr/share//locale/en_US.UTF-8/LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE $ ls -l /usr/share/locale/la_LN.US-ASCII/LC_COLLATE -r--r--r-- 1 root wheel 2086 2011-08-02 23:22 /usr/share/locale/la_LN.US-ASCII/LC_COLLATE LNってどこだよw
966 名前:963 [2012/05/05(土) 13:52:07.08 ] $ strings =zsh | grep strcoll 少なくとも strcoll は呼んでないわー。 libiconvとかはリンクしてるけど。
967 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 22:53:05.58 ] >>960 片方 a _a b _b になるじゃねーか。LC_ALL設定失念しちまった。 なにこれ _a を 1文字として扱ってるの? >>966 % echo $ZSH_VERSION 4.3.17 % strings =zsh | grep strcoll strcoll
968 名前:名無しさん@お腹いっぱい。 [2012/05/06(日) 04:10:16.92 ] >>967 configure 次第か。
969 名前:名無しさん@お腹いっぱい。 [2012/05/13(日) 00:17:40.31 ] 以下のように拡張子の前の数字を取り除きたいのですが、zmvでどのように実行をすれば良いでしょうか? hoge1.mp3 → hoge.mp3 #数字を取り除く hoge1hoge.mp3 → hoge1hoge.mp3 #そのまま 試行錯誤したのですが、うまく行きません。 以下のように実行すると、"hoge1.mp3"と"hoge1hoge.mp3"を"hoge.mp3"に変換しようとして失敗します。 zmv -n '([a-z]*)[0-9]*.mp3' '$1.mp3' 以下のように実行すると".mp3"に変換しようとして失敗します。 zmv -n '^([a-z]*)[0-9]*.mp3$' '$1.mp3'
970 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 00:22:52.56 ] >>>969 basename使うわけにはいかないの?
971 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 02:07:28.60 ] いつも for で zmv 使ってないから知らんけど '(*)<->.mp3' じゃないか? 多分それ re じゃないよ。
972 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 10:25:40.61 ] それだと (hoge12)3.mp3 になるぜ
973 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 12:02:16.55 ] 自分も普段は for 文を使っちゃうけど zmv '(*)[0-9]##.mp3' '$1.mp3' とかでいいのかな。まあ便利なのかもw
974 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 12:06:46.39 ] ああ>>972 と同じになってしまうのか zmv '(*).mp3' '${1%%[0-9]##}.mp3' かな?
975 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 15:41:51.71 ] おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3'
976 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 16:34:24.13 ] そうか shortest match flag とかはないんだな。 うーん *(#c,)<-> で落ちる。こんなパターン使わないけど。
977 名前:969 mailto:sage [2012/05/13(日) 17:35:45.22 ] ありがとうございます。 >zmv '(*).mp3' '${1%%[0-9]##}.mp3' でうまく行きました。 これは$1のうちの%%と##で挟まれた正規表現を取り除くという書式なのでしょうか? >おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3' <-->はどういう処理ですか? こちらは使いかたがよく分かりませんでした。 すみません。zmvのパラメータについて解説しているサイトはありませんか? zmvの書式が難しくて。
978 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 18:03:15.98 ] man zshcontrib
979 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 19:04:25.29 ] >>978 ありがとうございます。 man zmvで見つからない、とか思っていたので。
980 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 21:42:08.02 ] >>977 man zshexpn すれば詳しいことが載っているが ${name%%pattern} と x## の組み合わせだよ 前者はシェルスクリプト一般でよく使われる <-> は <[x]-[y]> の特殊例で数字にマッチする
981 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/15(火) 01:08:56.08 ] >>980 ありがとうございます。 ようやく理解できました。
982 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/15(火) 19:43:39.12 ] man zshall しかうたないな
983 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 01:24:52.01 ] >>982 俺もman zshall派 でもそうすると目当てのものみつけにくいんだよなw
984 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 01:34:37.45 ] 使うのは zshall でも人に示すときは絞る 昔から言われてるけど zsh 関係のドキュメントは読み物としては面白くないな
985 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 23:36:44.49 ] 言われてた気もするけど今思うに特別そうでもない
986 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/17(木) 12:33:01.23 ] うん。