1 名前:名無しさん@お腹いっぱい。 [02/11/03 20:49] パート2ですよ,にーさん
74 名前:65 mailto:sage [02/11/16 19:09] >>73 > 02-11-16 02-11-16s > となってうまくできなかったのでその部分をdate +%sに置き換えました。 zsh のオプション設定によっては、ブレースが更に特別な意味を持つためです。 >>65 で '%D{%H}' などのように quote してあるのはそのためです。 >>72 でも、オプションに左右されないようにそうした方がいいでしょうね。 > ${1-$(print -Pn %D)}のように:が無くてもいいようですが、違いはなんでしょう? たしか : がなければ null かどうかは問わなかったはずです。 ${1-$(print -Pn %D)} で $1 が null だとそのまま null が評価値になります。
75 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/16 22:38] $(( )) -> $[ ] は気がついたから変更してたんだけど、 ''は気づいてなかった。 ブレースの解釈に影響があるオプションって何? と思って探してみたら BRACE_CCL で動作が変わった。 : の有無はzshに限らずshell scriptのFAQという気がする。
76 名前:73 mailto:sage [02/11/17 22:16] >>74 ありがとうございます。 >>75 FAQでしたか。すいません。
77 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/29 00:24] さがってるからあげるね。 setopt printexitvalueってやつさ、シェル関数の返り値はおしえてくれないんだね。 例えば hoge(){ false } ってのを実行して$statusは1なんだけど、printexitvalueは教えてくれない。不便だ。
78 名前:名無しさん@お腹いっぱい。 [02/12/01 00:08] compctl -g '*.l' + flex lex と定義してもflexは*.lexファイルしか補完してくれない。 autoload -U compinit compinit -u これを実行しなければ問題ないんだが、そう言うわけにはいかないので だれか教えてください。
79 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 17:18] >>78 _flex を ~/.zfunc/ にコピーして input files の部分を書きかえる。 その後 $FPATH=~/.zfunc:$FPATH を .zshenv 等に加える。 そしてzshを起動しなおす。
80 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 17:58] >>79 できた。ありがとう。 今までオプションの補完ができるなんてスゲーとか思ってたけど、 _flexとかのファイルに書いてあるだけなのか。
81 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 19:40] むしろ_flexとかのファイルに書いてあるから 自由自在にカスタマイズ(のはず)
82 名前:名無しさん@お腹いっぱい。 mailto:age [02/12/07 22:59] age
83 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/09 21:35] %cat dummy 001 aho 002 boke 003 hage というファイルを 001 002 003 と aho boke hage に分けるとき、 cut -f1 dummy>f1 cut -f2 dummy>f2 というのを一気にやりたいですが、どうすればいいでしょう。 <() <() や >f1 >f2 などを使ってできないでしょうか?
84 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/09 21:51] cut -f1 dummy > f1; cut -f2 dummy > f2 いやー、セミコロンって便利♥
85 名前:83 mailto:sage [02/12/12 11:11] ぼくは真面目に質問してるのです!!
86 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 11:26] >>85 >>84 は真面目に答えてると思うが。
87 名前:84 mailto:sage [02/12/12 12:28] >>86 フォローして貰っといてなんだが、別にマジメって程のモンではありませぬ(w
88 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 14:16] というか、awk使うべきだろ この場合
89 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 17:37] ↑キボン
90 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 23:30] >>89 スレ違い awk '{print $1 > "f1"; print $2 > "f2";}' dummy
91 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/13 00:43] 84 の方が短い罠
92 名前:84=90 mailto:sage [02/12/13 02:43] そして 84=90 という罠
93 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/13 19:34] オークの中でリダイレクトできるのか。
94 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/15 02:53] zshでの関数定義内において 標準入力をファイルに書き出すには どのような書き方がありますか? 使い方: last | x2w コード: x2w(){ while read line do echo >>dummy-memo.txt done <略> } の read line do;〜;done しか思い当たりません。
95 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/16 02:40] 短く書くのならcatでいいのでは? x2w () { cat >> dummy-memo.txt }
96 名前:83 mailto:sage [02/12/17 14:03] どうもです。 cut -f1 dummy>f1 cut -f2 dummy>f2 ・ ・ cut -f5 dummy>f5 を連続して実行したいのですが、 ^1^2 のグローバル置換ありませんか? ^1^2だと cut -f1 dummy>f2 になります。
97 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/17 14:59] date -3 で今日の日付をhighlight表示させる方法ありませんか?
98 名前:65 mailto:sage [02/12/17 16:57] >>96 r 1=2 とか。それよりも for loop を廻した方が早いと思うが >>97 くだ質へ行きたまえ
99 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/18 01:12] >>96 !:gs/1/2/ はどう?
100 名前:100 [02/12/19 02:07] zsh (・∀・)イイ!!
101 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 02:29] シェル変数を補完しないようにするにはどうすればよいのでしょう?
102 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 08:24] awk --help |grep hoge grep --help | grep hoge のようにhelpの出力をgrepしたい時は | を使うのでしょうか?
103 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 09:49] >102 そうですが何か?
104 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 10:48] sourceコマンドの補完で質問。 原因不明で、以下のものが動かなくなった。 他のサンプル持ってないので、皆さんの _source見せてください。 おながいします。 % cat _source #compdef . source compadd ~/.zsh.d/.zsh(rc|env) || _files
105 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 14:33] あー、グローバルエイリアスってすごいね。 これだけでzshに存在意義を見出させてしまいます。 zsh以外で実現しているシェルってあるの?
106 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 17:36] >>102 もしできなかったら awk --help 2>&1 |grep hoge >>105 なに設定してる? 漏れは alias -g I=/dev/stdin alias -g O=/dev/stdout alias -g E=/dev/stderr alias -g N=/dev/null alias -g L='|less' alias -g G='|grep'
107 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 19:52] foreach i (ココの部分) ^^^^^^^^ グローバルエイリアスがいちいち展開されてウザイっす。 例えば、bindkeyでキーバインディングの空き情況を調べる時、 foreach i (w \W i \I);bindkey "^x$i";end のように展開を避ける必要があって、面倒です。 グローバルエイリアス展開の有無を情況ごとに調整する オプションありませんか?
108 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 20:52] bindkeyを引数なしで実行すればいいのでは?
109 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 22:47] >>107 > グローバルエイリアス展開の有無を情況ごとに調整する > オプションありませんか? これは自分も以前思ったことがあった。しかし、グローバルエイリアス の有効・無効を「簡単に」切り替えられる方法は見つけられなかったが、 一応の方法は見つけた。 無効にしたいとき、 disable -a $galiases[(I)*] 有効に戻したいとき enable -a $dis_galiases[(I)*]
110 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 23:36] 漏れはグローバルエイリアスって使ったことないんだけども、 それって使い方を間違えているんじゃない? もっと、衝突しづらい文字列のエイリアスをあてがうのが正しい使い方かと。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 00:25] そうでもない
112 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 21:55] %echo ' >hoge >hoge >ho ここまで入力して上の行に戻れる?
113 名前:104 mailto:sage [02/12/21 02:48] いろいろ調べていますが、結局のところ % cat _source #compdef . source compadd ~/.zsh.d/.zsh(rc|env) || _files でsourceの補完が聞かなくなった理由が わかりませんでした。 だれか理由か関連情報ご存知ありませんか?
114 名前:名無しさん@お腹いっぱい。 [02/12/22 01:52] zshで、makeなどの出力結果をコンソールに出しながら 標準出力と標準エラー出力をそれぞれ別ファイルに吐き出すことは出来ますか?
115 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:02] make >LOG.stdout 2>LOG.stderr >& /dev/tty とか make >LOG.stdout 2>LOG.stderr |& tee の方がいいか
116 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:38] どうもありがとうございます。 shじゃできないけど、zshだと出来るのですね。
117 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:13] history内部コマンドの表示行数はデフォルトでは10行ですが 変更方法はありませんか?
118 名前:名無しさん@お腹いっぱい。 [02/12/22 23:19] おまいら便利なbindkey教えてください。 unix userに載ってたのを書いてみる accept-and-hold(M-A) コマンドを実行して再び表示する。 transpose-word(M-T) 単語を入れ代える quote-line(M-') 'でくくる insert-last-word(M-.) 直前のコマンドの最後の引数を挿入 autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが でてこないのは漏れだけ?
119 名前:名無しさん@お腹いっぱい。 [02/12/22 23:21] >>117 たぶんHISTSIZE=10000(byte)
120 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:22] >>117 勘違いスマソ alias history='history -20'
121 名前:117 mailto:sage [02/12/23 00:09] alias使うと、 % history -m 'hoge*' などのマッチングが出来ません。 そうすると、 % function history{history 〜}使うしかないのかな?
122 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 00:10] >>121 > % history -m 'hoge*' > などのマッチングが出来ません。 ということにしたいのですね。
123 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 01:23] そもそもhistoryコマンドって何に使う? >>121 grep使えば?
124 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 03:01] >>118 > autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが > でてこないのは漏れだけ? 手許では unalias run-help; autoload run-help で内部コマンドのマニュアルが動いている。 もっとも zshbuiltins(1) が先頭から表示されるだけで、それほど便利ではない(w >>119 単位は byte でないよ。履歴の数そのもの >>117 history は fc -l の別名だから適当に使い分ければ?
125 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 16:35] >>124 run-helpがaliasされてたのですか。おもしろい使い方ですね。 >単位は byte でないよ。履歴の数そのもの スマソ
126 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 01:38] $@, $*の扱いがzshとshで違うのは仕様ですか?
127 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 10:12] >>126 どう違う。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 21:33] #test.sh arg.sh $@ arg.sh $* arg.sh "$@" arg.sh "$*" 引数の数を表示 #!/bin/sh #arg.sh echo $# sh test.sh 'a b' 'c d' 4 4 2 1 zsh test.sh 'a b' 'c d' 2 2 2 1 勘違いしてたらスマソ>>127 bashは4421になった。
129 名前:名無しさん@お腹いっぱい。 mailto:age [03/01/03 11:52] から揚げ
130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 15:49] うまうま
131 名前:名無しさん@お腹いっぱい。 [03/01/03 18:08] zsh を 3.0.8 から 4.0.4 に上げたら job control が変になりました。 具体的には % less nannoa.txt として見てるときに kill -STOP `pidof less` して止めたとき、 fg で less をフォアグラウンドにだすと jk では上下せず、 j + return, k + return というように改行キー入れないと動かなくなります。 これ、どのへんの設定を直せばいいんでしょうか。
132 名前:777 mailto:sage [03/01/03 19:06] >>826 すんばらしい。 ありがとうございました。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 20:16] >>826 に期待がかかるわけだが。
134 名前:826 mailto:sage [03/01/03 22:49] >>777 いえいえ、どーいたしまして
135 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/04 13:11] >>131 4.06にしたら?
136 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 01:08] >>128 see SH_WORD_SPLIT % zsh -y test.sh 'a b' 'c d' 4 4 2 1
137 名前:128 mailto:sage [03/01/07 19:35] >>136 ありがとうございます。 zshってzshのオプションは補完してくれないのか。
138 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 20:04] -o
139 名前:名無しさん@お腹いっぱい。 [03/01/11 12:07] 日経Linuxでちょろっと取り上げられてたage
140 名前:名無しさん@お腹いっぱい。 [03/01/12 12:54] zshrcの置き場所って ~/.zsh/zshrc で正しいですか? 設定を読み込んでくれないのですが
141 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:01] >>140 /etc/zshrc
142 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:17] >>140 ~/.zshrc
143 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:22] >>140 $HOME/.zshrcでいいんじゃない?
144 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:24] >>140 ドキュメントを読まない方はお断りします。
145 名前:名無しさん@お腹いっぱい。 [03/01/12 16:59] >>12 のwikiが無くなってるんだけど、どっかに移転しましたか?
146 名前:140 [03/01/13 03:33] 140ですが $HOME/.zshrc を読み込んでくれません aliasも有効にならないし 環境変数も有効にならないし 書式がおかしいというエラーも出ません なんででしょうか chpassでログインシェルを変更しました またログインシェルを変更せずとも ただたんにフォアグラウンドで走らせようとも 関係なく読み込んでくれません 関係ないか なんででしょうか?
147 名前:140 [03/01/13 03:40] ちなみにパーミッションは -rw-rw-rw-: こんな感じですね とくに意味は無いですが そのうち変えます 自分に読み込み権限はあります と
148 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 10:14] >>147 source $HOME/.zshrc って打ったらどうなる?
149 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 11:00] >>147 > -rw-rw-rw-: こんな感じですね (゚Д゚)ハァ?
150 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 13:55] >>140 # $HOME/.zshenv ZDOTDIR=$HOME export ZDOTDIR man zsh に目を通しておきませう
151 名前:150 mailto:sage [03/01/13 13:59] あ、 >>150 は zsh 4.0.6 (i686-pc-cygwin) での話なんで、 他の環境では違うのかも...
152 名前:山崎渉 mailto:(^^)sage [03/01/15 12:53] (^^)
153 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 20:56] GUIでアイコンをクリックすると適切なアプリが起動するように、 プロンプトでファイル名をうったら適切なアプリが起動したら便利だと思う。 zshのpreexecとかでできないかな? preexec(){ if [ -f "$1" ]; then vi $1 fi } と定義して %.zshrc とやるとviは起動するんだけど、 そのあとに zsh: command not found: .zshrc となる。ちょっとうざい。
154 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 21:11] >>153 スクリプトで拡張子見て起動するようにしてみれば?
155 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 09:36] >>154 まず magic を見て、次に拡張子の方がいいだろうな。 file の出力を拾うのがいいかな?
156 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 18:13] >>154-155 スクリプトだとたとえ1文字にしても %a hoge.txt としなければいけない。 %hoge.txt ってのはやっぱり無理かな。
157 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 22:12] bindkeyで適当な関数を割り当てればいいんじゃないかな。 内容はあんまりいい例じゃないかもしれないけどこんな感じで。 function my-accept-line { emulate -L zsh local -a cmd; cmd=(${(z)BUFFER}) case "$cmd[0]" in *.log) BUFFER="$PAGER $BUFFER" ;; *) if [ -z "`whence $cmd[0]`" ]; then BUFFER="echo $BUFFER" fi ;; esac zle accept-line } zle -N my-accept-line bindkey '^J' my-accept-line 参考にしたのは dengaku.org/~naoki/zsh/FAQ-J/zshfaq02-j.html のrun-fg-editorと www.zshwiki.org/cgi-bin/wiki.pl?ZshHardStatus のpreexec。
158 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 23:31] >>157 カッケー!サンキュウ!
159 名前:158 mailto:sage [03/01/22 01:58] よく考えたら補完が使えなくなるのか。うーん。
160 名前:155 mailto:sage [03/01/22 09:43] おれはpreexecの中で一時的にaliasを定義したらいいかな? と思ってやってみたんだが、aliasの展開はpreexecより前 みたいなんだよなー。 ソースをちょっと直せば対応できそうな気がするけど。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 14:25] faq っぽいですがよろしくです。 shell> aaa bbbbbbbbbbb ccccc とかあって、bbbb の中頃にカーソルがあるとします。そこで、 次の単語までジャンプする方法ってありますか? # つまり ccccc の頭まで。 矢印キー押しっぱなしというのは美しくないので・・
162 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 16:10] >>161 ESC f とか ESC b とか
163 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 02:15] さんくすです! esc か・・。 ctrl に適当に割り当てられれば便利そうですね。 ^F も ^B も日頃使わないからそれに振ってみます ;-)
164 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 11:06] >>163 Meta-b(Alt-b) でイくない??
165 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 15:09] macos 上のターミナルなので alt は無いです。option キーだと 変な文字が入力されるだけだし・・。ううむ。
166 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 23:28] >>161 ではありませんが、C-, とか C-. に割り当てることは出来ませんよね? ってこれは、terminalの問題か...。
167 名前:名無しさん@お腹いっぱい。 [03/02/06 23:32] 実行しているコマンド名をウィンドウのタイトルに設定したいんですが、そんなこと 可能でしょうか? Enterでコマンドが投入された直後にそのコマンドラインをウィンドウのタイトルに 設定できればいいと思ったんですが、うまい方法を見つけられませんでした。 実行が終了して元に戻すのはPROMPTでいいんでしょうが。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/07 00:04] >>167 preexec を設定してはどうでしょうか。 cf. ttp://www.zsh.org/mla/workers/2000/msg03993.html
169 名前:167 mailto:sage [03/02/07 00:45] >>168 そういうフックがあったのですね。ありがとうございました。試してみます。
170 名前:fushianasan mailto:sage [03/02/07 17:49] zshって、tcshとくらべると、 動作速度、メモリの使用量はどうなの?
171 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 01:01] >>170 起動はおそい
172 名前:fushianasan mailto:sage [03/02/08 01:06] 一回起動しちゃうと、サクサク? screenとかmlterm多様してると、 シェルのプロセス立ちまくるから、 あんまり重い||遅いとこまる。 tcshマンセーな俺はzshを愛せるだろうか
173 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 04:20] こんな感じ % ps aux |grep '[tcz]sh' xxx 2172 0.0 0.8 2436 2016 p3 Ss 4:17AM 0:00.14 -zsh (zsh) xxx 2178 0.0 0.4 1384 996 p3 S 4:17AM 0:00.03 tcsh うーむ、実質二倍って感じ?
174 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 08:58] >>172 一回起動するとサクサク! screenはdetatchしてatatchすれば起動の遅さは気にならないはず