[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/10 02:55 / Filesize : 218 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

zsh その6



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/

153 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:09:02 ]
zsh -f できどうしてもそうなる?

154 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:10:58 ]
>> 153

zsh -f だとだいじょうぶみたい。
これは、zshrc のせいってことでしょうか?

155 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:17:34 ]
>>153

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:18:21 ]
ミスった

alias ls="ls --color"
のせいか・・・

zsh 関係ないのね。

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 22:44:27 ]
どの色付きlsかにもよるが、GNU coreutilsのlsだと、
ls --color=auto
で、出力先が端末の場合だけ色が付く。

ただ、ページャに食わせた場合も色が付かないことになるので、
色を認識できるページャを使っている場合に味気ないかもしれない。


158 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 01:48:35 ]
>>157
うちは --color=auto だったから>>150と同じ結果にならなかったのね
知らなかった

159 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 13:05:23 ]
なるほど、--color= を指定しないとalwaysになるのか

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 14:42:54 ]
>>153
-fって何?
.zshrcを読み込まないとか?

161 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 15:49:59 ]
>>160
tcsh -f と一緒JK



162 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 16:28:42 ]
そうだったthx
csh系はほとんど使わないんで忘れてた

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/14(木) 11:17:03 ]
fpathの設定ってzshがログインシェルじゃないと自動でやってくれないみたいですね。
自分で設定すればいいかと思ったのですが、ログインシェルがbashの状態で、.zshrcに
fpath=(${fpath} /usr/share/zsh/site-functions /usr/share/zsh/4.2.6/function)
を追加した上でzshを起動しても、相変わらず↓のエラーが出るのですが、何故でしょうか?
zsh: compinit: function definition file not found

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/18(月) 09:34:37 ]
補完候補、アルファベット名より漢字名が先に並ぶんだけど

$ ls <Tab>
亜 a あ

どゆルール?

165 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/18(月) 19:40:01 ]
俺の手元ではそんなことにはならないなぁ。

166 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/19(火) 10:51:01 ]
>>164
試した
同じ結果になった


167 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/20(水) 14:38:11 ]
日本語なんて使うなって話じゃね

168 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/20(水) 18:00:39 ]
OSのロケールがそういう奇天烈なcollationを定義しているからじゃないのかな?

169 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/22(金) 20:14:31 ]
補完についての質問です。
cdでカレントディレクトリのhomeにというディレクトリに移動したいとき
cd h[Tab]
と入力すると、~hogeなどのユーザーのホームディレクトリも補完候補
にでてしまます。これを消すにはどうすればいいですか?

170 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/22(金) 20:18:27 ]
>>169
setopt nocdable_vars

171 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/22(金) 20:23:54 ]
>>170
できました。
ありがとうございます。




172 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/23(土) 21:34:13 ]
bashのnohupと類似の方法で、&!とかdisownとかあるようですが、どういう風に使い分けるものですか?

173 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/24(日) 10:51:04 ]
&! は & の代わりに使う。
disownは&で実行開始してしまったものに対して使う。


174 名前:名無しさん@お腹いっぱい。 [2009/05/24(日) 17:59:55 ]
あんまりエロ画像落とさないからzsh使わないなw
たまに連番が必要になってもbashで
echo {0..9}{0..9}
とかやるだけ。

175 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/24(日) 19:11:12 ]
もうzshからkshに乗り換えた

176 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/24(日) 23:55:35 ]
>>173
ありがとうございます。

177 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/25(月) 01:01:22 ]
bashは0で始まる数字が8進数扱いになるので
ファイル名から数字を切り出して処理するときとかにやりにくくてしょうがない。

178 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/25(月) 06:55:15 ]
時代はzsh
おまいたちも普及活動に励んでください

179 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/25(月) 06:59:16 ]
zshは、
> file
で、ファイル内容を切り詰めできないからやりにくくてしょうがない。

180 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/25(月) 09:54:28 ]
>>179
設定ファイルを理解せずに、コピペする方ですか?

181 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/25(月) 10:02:12 ]
179のような脳味噌の足りてない奴にはzshも宝の持ち腐れってことだな。猫に小判。



182 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 07:52:59 ]
>>177
それが理由でbashから乗り換える気になった
zshは本当に便利杉

183 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:04:19 ]
CFLAGS='-O2 -fomit-frame-pointer'
って設定してる時、

gcc $CFLAGS hoge.c
ってやると、$CFLAGSのオプションがくっついてしまって、
cc1: error: invalid option argument '-O2 -fomit-frame-pointer'
となるから、zshはやりにくくてしょうがない。

184 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:34:12 ]
>>183
export CFLAGSしてmake hogeする位の頭はないのか?

185 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:39:05 ]
>>184
それが面倒だろ。

Makefileには別のことを書いていて、
make hoge だと別のオプションまで付いてしまう。
臨時で、Makefileとは別に
gcc $CFLAGS を直接実行したい時に困る。

zsh以外のシェルならできるんだよ。

186 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:44:30 ]
${=CFLAGS} かね。


187 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:54:58 ]
>>185
お前はmanもロクに読まずに偉そうな奴だな
${=CFLAGS}使うかSH_WORD_SPLITでも設定しとけ馬鹿が

188 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:57:15 ]
>>187
そんな余分な手間が増えるだけ面倒だろ。
従来のシェルと非互換になってると問題が多いってこと。

189 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 08:59:44 ]
zshは、
stty -echo
しても、コマンドラインでは勝手にもとに戻されてしまうから、
やりにくくてしょうがない。

190 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:00:39 ]
従来のシェルって何のことだよ
そんなに互換性がお望みならshでも使えばいいだろうが

191 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:06:58 ]
自分の無知を棚に挙げてわめくような人にzshを使うのは難しいでしょう。



192 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:08:08 ]
>>187
「manも読まずに」という言い方は論点がずれてる。
回避方法を質問してるんじゃなく、
回避しなければならないような仕様が問題だ、って主張してるわけだから。

193 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:11:23 ]
>>192
>>183でも>>185でも「回避しなければならないような仕様が問題だ」
なんて主張をしてないだろうが。お前こそが論点をずらしているだろうが。

194 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:17:11 ]
わざわざ違えて作ったものを別のものと同じと決めつけて
自分の思い込みと違うからと文句を言うのはキチガイでしかない。
婉曲な自己紹介乙。

195 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:19:43 ]
>>193
「やりにくくてしょうがない」
→「やる方法はあるが手間がかかる」
→「わざわざ手間を増やすのは問題だ」
→「回避しなければならないような仕様が問題だ」

主張してるねw


もし、やる方法を本当に知らない場合は、
「やりにくくてしょうがない」じゃなくて「できないので困る」と言うだろうし、
それを質問してるなら、「やる方法はありますか?」って言うはず。

196 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:21:34 ]
朝から基地外が登場かよ。全く大概にしろ。

197 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:23:43 ]
>>194
kshやbashも違えて作って(独自)拡張もしてる。
が、shとの互換性は保ってる。

zshは、独自拡張したのは言いが、互換性を犠牲にしたのが大きな欠点。
もちろん、互換モードで回避はできるけど、通常状態では互換性がないし、
互換モードにしてしまうとzshの特徴がなくなってしまうので本末転倒だし。

198 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:24:29 ]
>>194の言う通りだな
キチガイはスルーで

199 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:27:00 ]
>>196
名古屋人発見

200 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:30:00 ]
>>199
名古屋人じゃないが、方言なのか?

201 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:47:55 ]
zsh.dotsrc.org/FAQ/zshfaq02.html

2.1: Differences from sh and ksh

The classic difference is word splitting, discussed in question 3.1;
this catches out very many beginning zsh users. As explained there,
this is actually a bug in every other shell. The answer is to set
SH_WORD_SPLIT for backward compatibility. The next most classic
difference is that unmatched glob patterns cause the command to abort;
set NO_NOMATCH for those.


FAQも読まずに筋違いな文句をつけるあたり、気違いと言わざるを得ない。



202 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:48:39 ]
ふぁqなんて誰も読まねえよ

203 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 09:51:36 ]
>>202
お前が英語も読めない馬鹿なのは分かったから黙ってろ

204 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 10:03:05 ]
>>201
いや、だから、>>192 さんは >>201 を知った上で
「それがよくない」と言っているんではないかと。

205 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/26(火) 10:15:20 ]
>>204
明らかに読んでないだろ。読んでいれば、こういう回避法があるのは知ってるが
それは気に食わないという言い方にになる。

206 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 00:10:19 ]
ふぁqなど読まずに寝ラーを利用するのが賢いzsher

207 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 03:20:19 ]
英語も読めない馬鹿が賢いとは笑止千万だわ

208 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 08:56:44 ]
>>203>>207みたいに読まない=読めないって決め付ける奴って何なんだろう
自分がロクに読めないから他人もそうだと思うんだろうか
日本語で書かれてても読まないものは読まないのにね

209 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 09:51:11 ]
ドキュメントを読みもせずに偉そうな物言いをするなってこった

210 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 09:59:41 ]
>>208
>>202が「誰も読まない」と決めつけているがそれはスルーなの?
おまえ>>202か?

211 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 10:01:54 ]
シャドーボクサーはお帰りください



212 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 18:02:28 ]
ログインシェルを変えることができない環境で擬似的にzshをログイン
シェルにすることはできますか?


213 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/27(水) 18:22:31 ]
exec zsh

214 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 15:14:33 ]
rootでzshをログインシェルにするのは、やっぱやめたほうがいい?

215 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 17:25:49 ]
自分で判断できないなら止めとけ

216 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 19:29:09 ]
>>212
screen -s zsh

217 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 21:55:16 ]
>>215
ずっとそうやってたんだけど、知り合いに言ったら呆れられてしまった
理由を聞いても、rootではそもそもzshみたいなもんは使うな、の一点張りで
確かにbashのほうが安心だとは思うけどさ・・・

218 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 22:06:27 ]
オレはrootでこそzsh使いたいんやけどやっぱ甘いんかねえ

219 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 22:41:57 ]
自分の鯖で自分しかrootにならないんならいいんじゃね

220 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 23:11:16 ]
zshが駄目なら同じ理由でbashも駄目だろ。/bin/shのみ許可とか。
もちろんvimも駄目だ。viかed。

221 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 23:32:40 ]
>zshが駄目なら同じ理由でbashも駄目だろ。
ズンドコベロンチョみたいなもんか



222 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/28(木) 23:55:23 ]
>>220
一行目には同意だがvimは関係ないな。使えれる環境なら使えばいいだけの話。

223 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 00:13:27 ]
viはディスク復旧時に/var/tmpだのtermcapが見えないと云々というのは
最近でも言うのかね。


224 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 06:57:57 ]
純正viはSolarisとかの商用系にしか存在しない。ソース非公開だから。
それ以外のOSでは、viの正体はvimかnviだな。

>>223
vimならtermcap/terminfoがなくてもデフォでbuilt-inのvt100で立ち上がる。

>>222
「ら抜き」ならぬ「れ入れ」やめれ

225 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 07:33:49 ]
>>224
単なるtypoに過剰反応しすぎだろ

226 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 07:45:13 ]
typoか? 最近こういう言葉流行ってると思うが

227 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 08:24:13 ]
>>226
>>222だがtypoだ。こんな使い方が流行ってるのか?

228 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 09:06:21 ]
zshのソースはどこのFTPサイトから落せれますか?
FWのせいか、一部のサイトには行けれないようなんですが。
あと、手元のCD-Rは何故か読めれなくなってしまいました。

229 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 09:07:46 ]
それは教えれません

230 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 09:44:56 ]
>>228
朝からつまんねーぞ

231 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 09:47:21 ]
>>229
それは「れ入れ」じゃなくて「ら抜き」

ハイ、やり直し



232 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 16:07:02 ]
それは教えれられません

233 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 16:38:42 ]
>>232 は「れ入れ」の意味を理解していないようだ。

234 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 16:54:21 ]
それは教えられれません

235 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 17:38:14 ]
られれのおじさん

236 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 17:46:06 ]
その答えは、ここには書けれません

237 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 21:13:51 ]
お前ら、zshの話しろよ

238 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 21:18:29 ]
zshのことは、これ以上話せれません

239 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 22:26:07 ]
いい加減にしれよ

240 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 19:13:12 ]
zshの読み方はズシュッ!でいいのでしょうか

241 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 19:19:52 ]
雑種



242 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 19:22:52 ]
ツェッシュ

243 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/31(日) 01:27:43 ]
ズィーッシュ

244 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 20:46:01 ]
昨日bashからzshに引越したんですけど,
bashではalias rma='rm -f *~ .*~ *#'で通じたんですけど,zshだと
zsh: no matches found: *~
となります.

bashだと存在しなかったらなにもコメントがでてこないんですけど

245 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 21:10:19 ]
>>244
setopt nullglob


246 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 21:30:49 ]
>>217
/bin/sh に比べれば bash も zsh も等しくリッチすぎる環境

247 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 21:55:41 ]
純粋のshなんて何年も触ってないや
最近のLinuxは/bin/shがbashのシボリックリンクだし
他のお堅いunix系から見れば甘過ぎなんだろうけど

248 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 22:00:57 ]
純正の定義を頼む

249 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 23:48:31 ]
>>248
sh:
libedit.so.5 => /lib/libedit.so.5 (0x28096000)
libncurses.so.6 => /lib/libncurses.so.6 (0x280ab000)
libc.so.6 => /lib/libc.so.6 (0x280ed000)
# ldd /usr/local/bin/zsh
/usr/local/bin/zsh:
libzsh-4.3.4.so => /usr/local/lib/zsh/libzsh-4.3.4.so (0x2807d000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2810f000)
libncurses.so.6 => /lib/libncurses.so.6 (0x28207000)
libm.so.4 => /lib/libm.so.4 (0x28249000)
libc.so.6 => /lib/libc.so.6 (0x28260000)
# ldd tcsh
tcsh:
libncurses.so.6 => /lib/libncurses.so.6 (0x280c6000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x28108000)
libc.so.6 => /lib/libc.so.6 (0x28121000)

250 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/11(木) 22:27:21 ]
リモートでプロセスをnohupなり&!なりdisownなりで動かした状態でexitすると、
ターミナルが固まってしまうんですが、こういう場合はどうすれば良いですか?

251 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/12(金) 00:33:35 ]
お前も一緒に固まればいい



252 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/12(金) 10:40:45 ]
どうやったらそんなことになるのか謎

253 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/12(金) 10:44:34 ]
>>252
OpenSSH の FAQだろ

254 名前:250 mailto:sage [2009/06/12(金) 13:32:53 ]
sshやrshなどの仕様として、入出力ストリーム(標準入力、標準出力、標準エラー出力)が
EOFを返すまでコネクションを維持するんですね。スレチで失礼しました。


255 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 01:24:11 ]
history共有はOFFのほうが好みなので切っています。
この場合、historyファイルへの保存はログアウトするときにされると思いますが、
ログアウトせずにその場で強制的に書き込ませるコマンドなどはないでしょうか?

256 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 15:09:37 ]
tcshのように
何もない所からtabを押したら
カレントディレクトリにあるファイル一覧を表示したいのだが、
どうすればよろしいですか?


257 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 17:30:14 ]
tcsh使っとけハゲ

258 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 20:33:44 ]
ハゲじゃないもん!

259 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 02:11:51 ]
>>255
fc -W
好みに応じて -I オプションをつける

260 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 03:43:26 ]
zshでmanでコマンド調べたときに引数のところに色がつくのってどうすればいい?
teratermから接続したときは色づけされてるけど、Xの端末からmanで調べたときに色が付いてない。
zshrcの色関係はdircolorしかしてません

261 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 03:46:50 ]
それはたぶん
「強調」のエスケープシーケンスを
「ターミナル」がどう表現するかを設定すべきトコロだと思うぞ。




262 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 17:59:56 ]
>>259
ありがとうございました。

263 名前:260 mailto:sage [2009/06/27(土) 21:41:16 ]
>>261
setopt prompt_subst
でもだめだった他になにかあるんですかね?


264 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/28(日) 07:51:58 ]
>>260
ちゃんとlsで色がつくんだったら、
alias lv='/usr/bin/lv -c'
とか
alias less='/usr/bin/less -r'
とか
alias man='/usr/bin/w3mman'
compdef _man w3mman
とかpagerのオプション変えてみたら?

265 名前:名無しさん@お腹いっぱい。 [2009/06/29(月) 11:54:58 ]
みなさん、はじめまして。じつは、これが2ちゃんねるデビューです。ところで、zsh を愛用しているのですが、
たとえば
% ls ~/documents/hoge
と打ったあとで、hoge のhにカーソルを持ってきて、fと打ってtabおすと、つまり
% ls ~/documents/f[tab]hoge

bashだと
% ls ~/documents/fuga/hoge
となりますが、zshだと補完してくれません。何かオプションの設定があるのでしょうか。

266 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 12:11:28 ]
bindkey "^i" として出てきたものを man zshall で検索してその周辺を読む

267 名前:名無しさん@お腹いっぱい。 [2009/06/29(月) 14:25:43 ]
266さん ありがとうございます。 さて、bindkey "^i"と、プロンプトで入力
すると、menu-expand-or-complete と出ます。というのは、.zshrcでそういう設定
をしているからなのですが、デフォルトはexpand-or-completeですよね。
それで、man zshall とかinfoファイルなどを読んでもどうも関連のありそうな
ものは見当たらないのですが。。。

268 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 14:26:46 ]
じゃあそういうものだと思って諦める。

269 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 19:15:25 ]
ubuntuのデフォルトbashでインストールしてないコマンド打つと
パッケージリストから探してきてこれ入れれって感じのメッセージ出るんだけど、
zshではどうやるの?

270 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 21:22:21 ]
>>269
source /etc/zsh_command_not_found

271 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 21:24:44 ]
command-not-foundパッケージの機能だな。
bashでコマンドが見付からなかったときに実行されるシェル関数
command_not_found_handleを定義することで実現している。
コマンドとパッケージの対応DBは別途作るみたいだね、これ。

相当するものはzshにはないと思うけど、入力文字列の先頭語を
whenceで探し、見付かれば実行、見付からなければパッケージを提案
という動作をするwidget(シェル関数)を作って^M(Enterキー)にバインド
すれば出来るはず。




272 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 21:25:28 ]
あら、zsh用も含んでるのか、これ。


273 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 21:35:03 ]
>>271
書き込む前にリロードしるw

274 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 09:55:43 ]
>5 の本(zsh最強シェル入門)とは別の
「zshの本」って出てるのね
www.amazon.co.jp/dp/4774138649


275 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 10:03:56 ]
最近流行ってるの?

276 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 11:47:58 ]
>>274
書店でめくってみたけど、最強〜よりはまともな感じ。
補完関数の書き方とか詳しかった。

277 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 18:15:33 ]
>>270
>>271
どうもです。試してみます

278 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/02(木) 22:29:43 ]
>>202
どうでもいい。黙れ。、

279 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/03(金) 01:14:28 ]
>>278
遅レスにマジレスカコイイ><

280 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/04(土) 08:48:57 ]
>>274
「tcshなんてうんこ」の広瀬さんが本出してたのか

281 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/08(水) 10:32:49 ]
広瀬本関連の記事? かな

zshで究極のオペレーションを
・ 第1回 zshで広がる世界
ttp://gihyo.jp/dev/serial/01/zsh-book/0001

本を出そうという話になってから6年かかったそうで。
お疲れ様です〜



282 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/08(水) 10:35:27 ]
俺はマニュアル読むのに6年かかった

283 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/08(水) 14:59:04 ]
読み終わったら仕様が変わってた

284 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/09(木) 22:40:15 ]
あるあるw

285 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/10(金) 16:03:58 ]
>274
買ってみた

まあ日本語レファレンス的な感じかな

zshが巨大でマニュアル自体が巨大なので
仕方ないとは思うし,ちょっと手にとって
見るために置いておくのも悪くないかな.

できれば冒頭の「デモンストレーション」の章で

ヲラヲラ,すげーだろ

的なノリのzsh魅力紹介がもっとあると良かったかなぁ


286 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/11(土) 16:31:56 ]
一般的に言って、zshがあればファイラなんてものはいらない、て感じなんでしょうか。

287 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/11(土) 16:33:50 ]
人それぞれ

288 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/14(火) 20:48:17 ]
タイプしたコマンドの末尾に空白があると、ヒストリにはその空白を削った形で記録されるようですが、
末尾の空白を削らずにそのまま記録させるには、どうしたらいいでしょうか?

289 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/14(火) 21:23:53 ]
>>288
なんでそんなことしたいのかが、さっぱり分からん。

290 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/14(火) 21:29:38 ]
bashならスペースも含めてヒストリに記録されるよ。

291 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/14(火) 22:19:08 ]
unsetopt hist_reduce_blanks



292 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/14(火) 22:25:35 ]
>>291
それは「末尾の空白削らずに」にはならない。
というか、最初から unsetopt hist_reduce_blanks 状態だし。

293 名前:288 mailto:sage [2009/07/15(水) 23:25:10 ]
少し勘違いしてました。仰る通り、最初からunsetopt hist_reduce_blanksでした。
何がしたかったかというと、例えば、(■はカーソルです)

ls /etch/zshr■ ・・・@

まで打ってからTAB押すと

ls /etc/zshrc ■ ・・・A

と補完され、■の直前にスペースが挿入されますが、これを実行するとヒストリには
このスペースが取り除かれます。Aの状態でさらにスペースを押すと、見た目上は
名にも変化しませんが、履歴にはスペースも含めて記録されます。

デフォルトではこういう設定なのだと思いますが、見た目通りにヒストリに
記録できたほうが使いやすいなと個人的に思った次第です。

294 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/17(金) 22:02:45 ]
zshrcで、PROMPTの中に改行を含めて2行で表示しています。
この状態でRPROMPTを設定すると、2行目の右端に表示されます。
1行目の右端にも文字を表示したいのですが、どうしたらいいですか?

295 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 14:43:54 ]
「zshの本」って買いですか?
当方 zsh 歴1ヶ月の noob です。

296 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 16:33:24 ]
コマンドラインの展開で、

$ ls
a1.txt a2.txt a3.txt

として

$ echo a{1,2,3}.txt
a1.txt a2.txt a3.txt

$ echo a*.txt
a1.txt a2.txt a3.txt

と、なりますが、

$ echo --option=a{1,2,3}.txt
--option=a1.txt --option=a2.txt --option=a3.txt

$ echo --option=a*.txt
zsh: no matches found: --option=a*.txt

こういった感じに、展開したファイル名の前に、同じ文字列を付け足したいのです。

上記の操作で、行われていない理由は、理解しています。

展開したファイル名の前 or 後に文字列を足す方法って、ありませんでしたっけ?

# 前に、どっかで見た気がするんだよな〜。


297 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 17:04:43 ]
% setopt histsubstpattern
% echo a*.txt(:s/#/--option=/)
--option=a1.txt --option=a2.txt --option=a3.txt

298 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 17:52:22 ]
zshのインストールの時点でつまりました><

zsh-4.3.9.tar.bz2は解凍できたんですけど…
システム管理者じゃないのでスーパーユーザーになれません。

ここで質問なんですけど
スーパーユーザーじゃなくてもzsh-4.3.9はインストール出来ますか?

299 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 17:53:26 ]
出来る。回答終了。

300 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 18:56:11 ]
>>298
             +-----------------------+ +------+
G o o g l e  | configure --prefix    | | 検索 |
             +-----------------------+ +------+

301 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/25(土) 19:39:59 ]
zsh以前の問題だな



302 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/26(日) 01:00:04 ]
/etc/shellsに書かないとログインシェルに使えない環境なら
ログインシェルからzshをexecすれ。


303 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/26(日) 06:45:53 ]
素人がそれをやると無限ループしたりするけどな

304 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/26(日) 20:23:06 ]
昔はよくやらかして死す缶に怒られたもんだ><

305 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/28(火) 06:32:37 ]
>>298だが…
返信ありがとう!
configure --prefix したんだが
「checking if tcsetpgrp() actually works... error
configure: error: unexpected return status」と最後の2行に出て
インストールできなかったorz

Solalis 10 のバージョンが低いのが原因か…?

306 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/28(火) 08:31:56 ]
ncursesとかいれている?

307 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/28(火) 17:39:47 ]
「zshの本」に「うんこ」の単語発見

308 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/28(火) 17:54:52 ]
>>307
ありがと。あやうく買うところだったよ。やっぱくそ本なんだな。

309 名前:307 mailto:sage [2009/07/28(火) 18:23:41 ]
>>308
いや、買うなとは言ってないんだけど。
一見「tcshはうんこ」みたいな表現を抑えたのかなと思ったら消し忘れがあってちょっと笑った、て程度の話。

310 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/31(金) 04:19:25 ]
>>309
え,あれ,消し忘れだったのかw
なんでいきなりtcshの仕様をうんこで修飾してるんだろうとは思ったがw

311 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/31(金) 19:00:10 ]
ls
Desktop/ aa.file bb.file cc.file

ってあって,D入力してタブでDesktopって補完してほしいけど
他にDBUS_SESSION_BUS_ADDRESS DESKTOP_SESSION DISPLAY
やらがでて来てうっとうしいんですけども,どうすればいいですか?



312 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/02(日) 17:14:20 ]
>>309
ワロタ
わざとなんじゃないのかそれw

313 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/04(火) 19:11:12 ]
cp でフォルダ渡したときに 頭よく再起でフォルダごとコピーしてくれないかね?
フォルダかファイルで判別するとか

314 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/04(火) 19:25:14 ]
>>313
alias cp='cp -r'

315 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/04(火) 20:00:08 ]
>>314
あっ ほんとだ・・・・・ 恥ずかしいっす

316 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/04(火) 22:01:38 ]
ESC-h で$#0を引数にrun-helpしてくれますが
これを $#0がniceだとかsudoだとかのときに$#1を引数にrun-helpしてくれる
ようにできませんかね。ESC-H とかで。

317 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 16:23:26 ]
zshって、ゼットシェルって発音でおk?
で、英語発音だとズィーシェルになるんかね?

318 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 16:37:25 ]
>>317
Cシェルのもじりでもあるので、Cに濁点を付けたイメージで。


319 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 20:52:19 ]
俺の職場の人は雑種って呼んでたけど少数派かな

320 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 20:55:17 ]
ズィーシュ

321 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 21:06:43 ]
ズシュ(刀で切られた感じで)



322 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/05(水) 22:40:20 ]
デジャヴです

323 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 00:44:20 ]
zsh使いは「ゼッシャー」でおk?

324 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 00:48:57 ]
Z武

325 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 09:10:08 ]
>>324
やめろ

326 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 19:48:58 ]
>>324
笑いどころはどこでしょうか

327 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 21:13:02 ]
$SHELLがbashの環境で、screen起動時に、rcを指定したzshを起動しようとしています。
ただのzshならscreenrcに shell zsh と書けばいいのですが、自分のzshrcを指定する方法が分かりません。
今はscreenの各ウィンドウでいちいち source /path/to/myzshrc としてます。
どうしたらrcを指定してzshを起動できますか?

328 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/07(金) 21:19:17 ]
環境変数でも使えば。

329 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/08(土) 00:01:56 ]
>>316
こんなんで COUNT 指定で COUNT-th の arg を run-help している。
似たかんじでやればいいかな。

autoload -U run-help-arg
zle -N run-help run-help-arg

% cat .zfunc/run-help-arg
emulate -L zsh

if (( NUMERIC )); then
local bufwords
# This splits the line into words as the shell understands them.
bufwords=(${(z)BUFFER})

zle .push-line -N
BUFFER="$WIDGET $bufwords[NUMERIC]"
zle .accept-line

return
fi

zle .run-help

return 0

330 名前:名無しさん@お腹いっぱい。 [2009/08/10(月) 22:33:12 ]
質問させてください。

vim app/views/users/show.html.rb
まで打ったのを
vim app/views/users/
まで戻したいとき、何かコマンド一発でできないでしょうか?
Ctrl+wのような感じです。

/とか、デリミタっぽいところまで一気にbackspaceさせたいのです。
教えていただけると幸いです。

331 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/10(月) 23:06:29 ]
>>330 WORDCHARS=`echo "$WORDCHARS" | sed 's!/!!'` とでもしてWORDCHARSから / を抜いてしまうのはグローバルに影響するから 宜しくないかな?



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 ]
うん。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<218KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef