zsh その6at UNIX
zsh その6 - 暇つぶし2ch120:名無しさん@お腹いっぱい。
09/02/12 16:40:56
インストールしたパッケージのコマンド (ns) に対する補完が期待した挙動ではなかったので
(具体的には、ns [tab] でカレントディレクトリのファイル名を補完して欲しいのに、host が補完
されてしまう) 。
$FPATH を調べてみたところ _hosts ファイルで compdef されているのが見つかりました。
そこで _hosts ファイル一行目の #compdef から ns を削ったのですが、それでも ns コマンドに
対する補完は期待した挙動にはならず _hosts ファイルでの設定を引きずっています。
デフォルトで設定された挙動を解除するためには他にどのような手順を取るべきでしょうか。

121:名無しさん@お腹いっぱい。
09/02/13 08:16:19
>>120
$HOME/.zshrcでcompinitより後に
compdef _files ns
とか

122:名無しさん@お腹いっぱい。
09/02/13 11:42:05
>> 121
すばらしい。ありがとうございます。

123:名無しさん@お腹いっぱい。
09/02/24 16:33:45
r って押すと直前のコマンド実行するのを抑制する設定ありますか?

124:名無しさん@お腹いっぱい。
09/02/28 15:56:28
タブをどんどん押していって補完ディレクトリ名を次々切り替えていくとき、
名前の最後に/を付加しないようにできませんかね?
そのディレクトリでおkってときは手動で/を付加する、という形にしたい

125:名無しさん@お腹いっぱい。
09/02/28 18:03:26
むしろデフォルトはそうなってますけど

AUTO_PARAM_SLASH <D>
If a parameter is completed whose content is the name of a
directory, then add a trailing slash instead of a space.



126:124
09/03/03 12:27:15
いや、それじゃなくて

例えば、カレントディレクトリにhoge hoge1 hoge2というディレクトリがあって
$ ls h
と打ってタブを押すと
$ ls hoge
まで補完されて、さらにをタブ押すと
$ ls hoge
hoge hoge1 hoge2
と候補が下にリストされ、さらにタブを押すと
$ ls hoge/
となる。このディレクトリ 以下に行きたいときは/を追加して
$ ls hoge//
とすると補完対象がhogeディレクトリ以下に切り替わる。
で、この/がダブるのが何か気持ち悪いってだけの話っす。

まぁ見た目だけの問題だけど・・・

127:名無しさん@お腹いっぱい。
09/03/03 12:35:00
>>126
自分では
ls hoge/
のところでEnterを押して確定していた。

/を押しても確定するって初めて知ったから試してみたけど、
ls hoge//にはならずに、ls hoge/のままの表示になるぞ。

128:名無しさん@お腹いっぱい。
09/03/03 15:52:27
>>127
autoremoveslashしてるとそうなるね。

確定するときはその方が/をダブらないぶんスマートだけど、ディレクトリで終わるコマンドの場合
末尾の/が取り除かれた状態でhistoryに残るが嫌なんだよね。(ディレクトリの最後は常に/で終えたい)

まぁこの辺は個人の嗜好だし、しょうがないか・・・

129:名無しさん@お腹いっぱい。
09/03/08 08:00:23
最近attr.cでコンパイルエラーになる
早く直してくれ > 誰か

130:名無しさん@お腹いっぱい。
09/03/08 14:02:16
チミのところだけぶっこわれているのさ

131:名無しさん@お腹いっぱい。
09/03/08 17:07:37
attr.cって3月4日に入ったんだ。
*attr関数をLinuxあたりに決め打ちしてるんだな。
ちゃんとconfigureしろとレポート送っておきました。

132:名無しさん@お腹いっぱい。
09/03/17 10:26:27
グッバイ野郎ども! コピペではじめるzshファイナル
URLリンク(journal.mycom.co.jp)

133:名無しさん@お腹いっぱい。
09/03/17 16:48:59
後藤乙

134:名無しさん@お腹いっぱい。
09/03/23 22:20:19
function chpwd()を使って、cdを行った後、画面クリア>ls -lを実行、としようと思いました。
function chpwd() { clear;ls -l } だと、画面最上部にプロンプトが出ません。
今、PROMPTとRPROMPTにはパスやユーザ名やマシン名を出しているのですが、
画面クリア後、両プロンプトを出してからls -lの結果を出すようにはできませんか?

135:名無しさん@お腹いっぱい。
09/03/28 01:07:15
>>134
clear; echo $PROMPT; ls -l
じゃダメ…だよね。右プロンプト出ないしな。

136:名無しさん@お腹いっぱい。
09/04/03 15:13:14
zsh の completion で

rm <TAB>

としたときは、補完候補にディレクトリを含めず

rm -r <TAB>

としたときは、補完候補にディレクトリを出して欲しいのですが、どのような補完関数を書けば出来ますかね。

137:名無しさん@お腹いっぱい。
09/04/03 17:21:19
>>136
> としたときは、補完候補にディレクトリを含めず

それではカレントディレクトリ以外にあるファイルを対象にできないのでは?

138:名無しさん@お腹いっぱい。
09/04/04 00:10:25
>>137
あーなるほど。なかなかうまくいかないもんですね……

tar xvf hoge.tar.gz
した後に
rm ho<TAB>
とすると hoge/ に先にマッチするのが嫌だったのです。

139:名無しさん@お腹いっぱい。
09/04/10 23:22:02
シェル関数の中で、その関数からだけ見えるローカル関数って
定義できませんか?

下請的に何度も使うけど、人が直接呼ぶことはないので、
表に出したくない、といったところです。


140:名無しさん@お腹いっぱい。
09/04/11 08:29:31
初歩的な質問で申し訳ないのですが、モジュールとファンクションの違いがよくわかりません。
モジュールの読み込みにはzmodload、ファンクションの読み込みにはautoloadを使うんでしょうか?

141:名無しさん@お腹いっぱい。
09/04/11 10:59:34
モジュール
Cで書かれた機能拡張。
zshコンパイル時に組み込むように指示することも出来る。

ファンクション
シェルスクリプトで定義する。


142:140
09/04/11 15:47:30
>>141
ありがとうございます。なるほど、そういうことですか。
というか普通、モジュールという言葉はコンパイル済みの部品を指すものですよね。変に考えてしまいました・・・

ファイルの場所は、私のzshのバージョンだと以下ですね。
モジュールは /usr/lib64/zsh/4.2.6/zsh/
ファンクションは /usr/share/zsh/4.2.6/functions/

autoload -U などのオプションの意味を知ろうとググっても、日本語ではなかなかヒットしないものですね。
結局 URLリンク(zsh.sunsite.dk) などのdocに辿り着きました。
でもなんでmanが用意されてないんでしょう・・・zshの全情報のmanを作ると膨大な量になるからでしょうかね?

143:名無しさん@お腹いっぱい。
09/04/11 16:24:47
zshのマニュアルは長大なので、いくつかに分割されている(とman zshすると書いてある)。

man zshbuiltinsでautoloadを探すと、
Equivalent to functions -u, with the exception of -X/+X and -w.
(-X/+X -wを除いて functions -u と等価)
ということなので、functionsの説明を参照すると
Equivalent to typeset -f, with the exception of the -M option.
(-Mオプションを除いて typeset -f と等価)
ということなので、typesetの説明を参照すると
-U <略> This flag has a different meaning when used with -f; see below.
(このフラグは-fと一緒に使うと違う意味になる。下記参照)
ということなので、もうちょっと下にある -f の説明を読む。
The -u and -U flags cause the function to be marked for
autoloading; -U also causes alias expansion to be suppressed when
the function is loaded.
(-uおよび-Uフラグは関数に自動ロードの印を付ける。-Uはさらに関数ロード時の
エイリアス展開を抑制する)

typesetは(も)複雑すぎる。


144:140
09/04/11 17:24:46
>>143
manあるんですね。失礼しました。
zshのドキュメントの多さと複雑さには気が遠くなりますが、食らい付くしかないですね・・・

どうもありがとうございました。

145:名無しさん@お腹いっぱい。
09/04/14 13:22:51
コマンドスタックってEsc+qの他にCtrl+qでもできるんだ
こっちのほうがやりやすいな

146:名無しさん@お腹いっぱい。
09/04/27 22:51:31
>>142-144
探すの面倒だから、ついman zshallとかしちゃうw

そういえば、未だにLISTMAX=-1が無制限とか大嘘書いてるサイトがあるんだな

147:名無しさん@お腹いっぱい。
09/04/28 16:25:07
LISTMAX=-1は問答無用で表示だと思ってたが違うの?
LISTMAX=-100とかやっても変わらないんだが

148:名無しさん@お腹いっぱい。
09/04/28 23:54:37
ちゃんとmanに書いてある

LISTMAX=N とすると、
N > 0 -- N行以上のとき訊く
N = 0 -- 画面からはみ出るとき訊く
N < 0 -- (-N)行*以下*のとき訊く

-1は兎も角、-100はすぐ気付くと思うけど

149:名無しさん@お腹いっぱい。
09/04/29 17:41:09
>>148
あほんとだ、/binや/usr/binしか見てなかったから気づかんかった・・・アホスw
まぁ普通はLISTMAX=0だよな

ところでmanには↓のように書いてあるが
If the value is negative, the list will be shown if it spans
at most as many lines as given by the absolute value.
「the list will be shown」ってのは「the asking message will be shown」みたいに言うべきじゃないかな?

150:名無しさん@お腹いっぱい。
09/05/02 20:45:17
ls -1 ./dir/* > tmp

見たいにして、ディレクトリ中のファイルの一覧を作ってるんだけど、 zsh でやると

^[0m^[0m./dir/a^[0m
^[0m./dir/b^[0m
^[0m./dir/c^[0m
^[m

見たいにエスケープシーケンスがついてしまう。
このエスケープシーケンスがつかないようにするにはどうすればいいんでしょうか?

とりあえずは、
sh -c "ls -1 ./dir/* > tmp"
で回避できるんだけど。

151:名無しさん@お腹いっぱい。
09/05/02 20:57:38
>>150
\lsや/bin/lsだとどうなる?

152:名無しさん@お腹いっぱい。
09/05/02 21:06:32
>>151

ありがとう。エスケープシーケンスなくなった。
でも、なぜこれだとだいじょうぶなんだろう。
ls だけだと 組み込みの ls を使うとかそういうことですか?


153:名無しさん@お腹いっぱい。
09/05/02 21:09:02
zsh -f できどうしてもそうなる?

154:名無しさん@お腹いっぱい。
09/05/02 21:10:58
>> 153

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

155:名無しさん@お腹いっぱい。
09/05/02 21:17:34
>>153

156:名無しさん@お腹いっぱい。
09/05/02 21:18:21
ミスった

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

zsh 関係ないのね。

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

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


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

159:名無しさん@お腹いっぱい。
09/05/03 13:05:23
なるほど、--color= を指定しないとalwaysになるのか

160:名無しさん@お腹いっぱい。
09/05/03 14:42:54
>>153
-fって何?
.zshrcを読み込まないとか?

161:名無しさん@お腹いっぱい。
09/05/03 15:49:59
>>160
tcsh -f と一緒JK

162:名無しさん@お腹いっぱい。
09/05/03 16:28:42
そうだったthx
csh系はほとんど使わないんで忘れてた

163:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/05/18 09:34:37
補完候補、アルファベット名より漢字名が先に並ぶんだけど

$ ls <Tab>
亜 a あ

どゆルール?

165:名無しさん@お腹いっぱい。
09/05/18 19:40:01
俺の手元ではそんなことにはならないなぁ。

166:名無しさん@お腹いっぱい。
09/05/19 10:51:01
>>164
試した
同じ結果になった


167:名無しさん@お腹いっぱい。
09/05/20 14:38:11
日本語なんて使うなって話じゃね

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

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

170:名無しさん@お腹いっぱい。
09/05/22 20:18:27
>>169
setopt nocdable_vars

171:名無しさん@お腹いっぱい。
09/05/22 20:23:54
>>170
できました。
ありがとうございます。


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

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


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

175:名無しさん@お腹いっぱい。
09/05/24 19:11:12
もうzshからkshに乗り換えた

176:名無しさん@お腹いっぱい。
09/05/24 23:55:35
>>173
ありがとうございます。

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

178:名無しさん@お腹いっぱい。
09/05/25 06:55:15
時代はzsh
おまいたちも普及活動に励んでください

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

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

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

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

183:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/05/26 08:34:12
>>183
export CFLAGSしてmake hogeする位の頭はないのか?

185:名無しさん@お腹いっぱい。
09/05/26 08:39:05
>>184
それが面倒だろ。

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

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

186:名無しさん@お腹いっぱい。
09/05/26 08:44:30
${=CFLAGS} かね。


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

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

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

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

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

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

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

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

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

主張してるねw


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

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

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

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

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

199:名無しさん@お腹いっぱい。
09/05/26 09:27:00
>>196
名古屋人発見

200:名無しさん@お腹いっぱい。
09/05/26 09:30:00
>>199
名古屋人じゃないが、方言なのか?

201:名無しさん@お腹いっぱい。
09/05/26 09:47:55
URLリンク(zsh.dotsrc.org)

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:名無しさん@お腹いっぱい。
09/05/26 09:48:39
ふぁqなんて誰も読まねえよ

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

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

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

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

207:名無しさん@お腹いっぱい。
09/05/27 03:20:19
英語も読めない馬鹿が賢いとは笑止千万だわ

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

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

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

211:名無しさん@お腹いっぱい。
09/05/27 10:01:54
シャドーボクサーはお帰りください

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


213:名無しさん@お腹いっぱい。
09/05/27 18:22:31
exec zsh

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

215:名無しさん@お腹いっぱい。
09/05/28 17:25:49
自分で判断できないなら止めとけ

216:名無しさん@お腹いっぱい。
09/05/28 19:29:09
>>212
screen -s zsh

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

218:名無しさん@お腹いっぱい。
09/05/28 22:06:27
オレはrootでこそzsh使いたいんやけどやっぱ甘いんかねえ

219:名無しさん@お腹いっぱい。
09/05/28 22:41:57
自分の鯖で自分しかrootにならないんならいいんじゃね

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

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

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

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


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

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

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

225:名無しさん@お腹いっぱい。
09/05/29 07:33:49
>>224
単なるtypoに過剰反応しすぎだろ

226:名無しさん@お腹いっぱい。
09/05/29 07:45:13
typoか? 最近こういう言葉流行ってると思うが

227:名無しさん@お腹いっぱい。
09/05/29 08:24:13
>>226
>>222だがtypoだ。こんな使い方が流行ってるのか?

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

229:名無しさん@お腹いっぱい。
09/05/29 09:07:46
それは教えれません

230:名無しさん@お腹いっぱい。
09/05/29 09:44:56
>>228
朝からつまんねーぞ

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

ハイ、やり直し

232:名無しさん@お腹いっぱい。
09/05/29 16:07:02
それは教えれられません

233:名無しさん@お腹いっぱい。
09/05/29 16:38:42
>>232 は「れ入れ」の意味を理解していないようだ。

234:名無しさん@お腹いっぱい。
09/05/29 16:54:21
それは教えられれません

235:名無しさん@お腹いっぱい。
09/05/29 17:38:14
られれのおじさん

236:名無しさん@お腹いっぱい。
09/05/29 17:46:06
その答えは、ここには書けれません

237:名無しさん@お腹いっぱい。
09/05/29 21:13:51
お前ら、zshの話しろよ

238:名無しさん@お腹いっぱい。
09/05/29 21:18:29
zshのことは、これ以上話せれません

239:名無しさん@お腹いっぱい。
09/05/29 22:26:07
いい加減にしれよ

240:名無しさん@お腹いっぱい。
09/05/30 19:13:12
zshの読み方はズシュッ!でいいのでしょうか

241:名無しさん@お腹いっぱい。
09/05/30 19:19:52
雑種

242:名無しさん@お腹いっぱい。
09/05/30 19:22:52
ツェッシュ

243:名無しさん@お腹いっぱい。
09/05/31 01:27:43
ズィーッシュ

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

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

245:名無しさん@お腹いっぱい。
09/06/09 21:10:19
>>244
setopt nullglob


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

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

248:名無しさん@お腹いっぱい。
09/06/09 22:00:57
純正の定義を頼む

249:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/06/11 22:27:21
リモートでプロセスをnohupなり&!なりdisownなりで動かした状態でexitすると、
ターミナルが固まってしまうんですが、こういう場合はどうすれば良いですか?

251:名無しさん@お腹いっぱい。
09/06/12 00:33:35
お前も一緒に固まればいい

252:名無しさん@お腹いっぱい。
09/06/12 10:40:45
どうやったらそんなことになるのか謎

253:名無しさん@お腹いっぱい。
09/06/12 10:44:34
>>252
OpenSSH の FAQだろ

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


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

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


257:名無しさん@お腹いっぱい。
09/06/26 17:30:14
tcsh使っとけハゲ

258:名無しさん@お腹いっぱい。
09/06/26 20:33:44
ハゲじゃないもん!

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

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

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


262:名無しさん@お腹いっぱい。
09/06/27 17:59:56
>>259
ありがとうございました。

263:260
09/06/27 21:41:16
>>261
setopt prompt_subst
でもだめだった他になにかあるんですかね?


264:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/06/29 12:11:28
bindkey "^i" として出てきたものを man zshall で検索してその周辺を読む

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

268:名無しさん@お腹いっぱい。
09/06/29 14:26:46
じゃあそういうものだと思って諦める。

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

270:名無しさん@お腹いっぱい。
09/06/29 21:22:21
>>269
source /etc/zsh_command_not_found

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

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


272:名無しさん@お腹いっぱい。
09/06/29 21:25:28
あら、zsh用も含んでるのか、これ。


273:名無しさん@お腹いっぱい。
09/06/29 21:35:03
>>271
書き込む前にリロードしるw

274:名無しさん@お腹いっぱい。
09/06/30 09:55:43
>5 の本(zsh最強シェル入門)とは別の
「zshの本」って出てるのね
URLリンク(www.amazon.co.jp)


275:名無しさん@お腹いっぱい。
09/06/30 10:03:56
最近流行ってるの?

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

277:名無しさん@お腹いっぱい。
09/06/30 18:15:33
>>270
>>271
どうもです。試してみます

278:名無しさん@お腹いっぱい。
09/07/02 22:29:43
>>202
どうでもいい。黙れ。、

279:名無しさん@お腹いっぱい。
09/07/03 01:14:28
>>278
遅レスにマジレスカコイイ><

280:名無しさん@お腹いっぱい。
09/07/04 08:48:57
>>274
「tcshなんてうんこ」の広瀬さんが本出してたのか

281:名無しさん@お腹いっぱい。
09/07/08 10:32:49
広瀬本関連の記事? かな

zshで究極のオペレーションを
・ 第1回 zshで広がる世界
URLリンク(gihyo.jp)

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

282:名無しさん@お腹いっぱい。
09/07/08 10:35:27
俺はマニュアル読むのに6年かかった

283:名無しさん@お腹いっぱい。
09/07/08 14:59:04
読み終わったら仕様が変わってた

284:名無しさん@お腹いっぱい。
09/07/09 22:40:15
あるあるw

285:名無しさん@お腹いっぱい。
09/07/10 16:03:58
>274
買ってみた

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

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

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

ヲラヲラ,すげーだろ

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


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

287:名無しさん@お腹いっぱい。
09/07/11 16:33:50
人それぞれ

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

289:名無しさん@お腹いっぱい。
09/07/14 21:23:53
>>288
なんでそんなことしたいのかが、さっぱり分からん。

290:名無しさん@お腹いっぱい。
09/07/14 21:29:38
bashならスペースも含めてヒストリに記録されるよ。

291:名無しさん@お腹いっぱい。
09/07/14 22:19:08
unsetopt hist_reduce_blanks

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

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

ls /etch/zshr■ ・・・①

まで打ってからTAB押すと

ls /etc/zshrc ■ ・・・②

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

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

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

295:名無しさん@お腹いっぱい。
09/07/25 14:43:54
「zshの本」って買いですか?
当方 zsh 歴1ヶ月の noob です。

296:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/07/25 17:04:43
% setopt histsubstpattern
% echo a*.txt(:s/#/--option=/)
--option=a1.txt --option=a2.txt --option=a3.txt

298:名無しさん@お腹いっぱい。
09/07/25 17:52:22
zshのインストールの時点でつまりました><

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

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

299:名無しさん@お腹いっぱい。
09/07/25 17:53:26
出来る。回答終了。

300:名無しさん@お腹いっぱい。
09/07/25 18:56:11
>>298
             +-----------------------+ +------+
G o o g l e  | configure --prefix    | | 検索 |
             +-----------------------+ +------+

301:名無しさん@お腹いっぱい。
09/07/25 19:39:59
zsh以前の問題だな

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


303:名無しさん@お腹いっぱい。
09/07/26 06:45:53
素人がそれをやると無限ループしたりするけどな

304:名無しさん@お腹いっぱい。
09/07/26 20:23:06
昔はよくやらかして死す缶に怒られたもんだ><

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

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

306:名無しさん@お腹いっぱい。
09/07/28 08:31:56
ncursesとかいれている?

307:名無しさん@お腹いっぱい。
09/07/28 17:39:47
「zshの本」に「うんこ」の単語発見

308:名無しさん@お腹いっぱい。
09/07/28 17:54:52
>>307
ありがと。あやうく買うところだったよ。やっぱくそ本なんだな。

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

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

311:名無しさん@お腹いっぱい。
09/07/31 19:00:10
ls
Desktop/ aa.file bb.file cc.file

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

312:名無しさん@お腹いっぱい。
09/08/02 17:14:20
>>309
ワロタ
わざとなんじゃないのかそれw

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

314:名無しさん@お腹いっぱい。
09/08/04 19:25:14
>>313
alias cp='cp -r'

315:名無しさん@お腹いっぱい。
09/08/04 20:00:08
>>314
あっ ほんとだ・・・・・ 恥ずかしいっす

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

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

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


319:名無しさん@お腹いっぱい。
09/08/05 20:52:19
俺の職場の人は雑種って呼んでたけど少数派かな

320:名無しさん@お腹いっぱい。
09/08/05 20:55:17
ズィーシュ

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

322:名無しさん@お腹いっぱい。
09/08/05 22:40:20
デジャヴです

323:名無しさん@お腹いっぱい。
09/08/07 00:44:20
zsh使いは「ゼッシャー」でおk?

324:名無しさん@お腹いっぱい。
09/08/07 00:48:57
Z武

325:名無しさん@お腹いっぱい。
09/08/07 09:10:08
>>324
やめろ

326:名無しさん@お腹いっぱい。
09/08/07 19:48:58
>>324
笑いどころはどこでしょうか

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

328:名無しさん@お腹いっぱい。
09/08/07 21:19:17
環境変数でも使えば。

329:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/10 22:33:12
質問させてください。

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

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

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

332:名無しさん@お腹いっぱい。
09/08/11 01:37:58
最近tcshから乗り換えたんだが…
tcshでは「/!* &」をaliasで設定するとbgで常に実行されて便利だったので
zshでも設定したんだがうまくbgで実行されなかったorz

333:名無しさん@お腹いっぱい。
09/08/11 03:33:26
>>332
関数を使って、
xv() { command xv "$@" & }
とかすればOK。
ただ、全部これを定義するのは厄介だと前から
思ってるんだけど、何かいい方法はないだろうか。

334:名無しさん@お腹いっぱい。
09/08/11 05:37:22
地震をzshでなんとかするには?

335:名無しさん@お腹いっぱい。
09/08/11 09:43:20
地震後一定時間キー入力がなかったら
生存していないとみなして
rm -rf /erodata を実行するようにしておくとか



…なんていうタイムアウトがないかと
info 見てみたけどなさそうだぬ

336:名無しさん@お腹いっぱい。
09/08/11 12:47:50
>>330
一発ではないけどvi-backward-kill-wordを使えば多少は楽になる。

337:名無しさん@お腹いっぱい。
09/08/11 17:55:42
>>336
bindkey "^W" vi-backward-kill-word

でいい感じになった。>>330 じゃないけどthx

338:名無しさん@お腹いっぱい。
09/08/12 09:24:09
>333
emacsで設定したらエラーが出てしまうなぁ…

339:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/16 01:35:08
csh由来のmodifierは
head ⇔ tail
root ⇔ ext
extの意味は勘違いしないだろうから、そこからはじめれば他もわかるでしょ。


343:名無しさん@お腹いっぱい。
09/08/16 04:52:49
そういやなんで a/b.ext の a/b が root name なんだろう

344:名無しさん@お腹いっぱい。
09/08/18 01:27:41
なに root name って。

$dirname/$(basename file ext) ?キモ

345:名無しさん@お腹いっぱい。
09/08/18 05:29:48
質問
補完候補からディレクトリを除外するにはどうしたらいいですか?
% vi でタブを押したときにディレクトリがマッチして使い辛いです。
間違ってディレクトリを開くこともしばしば……

346:名無しさん@お腹いっぱい。
09/08/18 05:51:55
その動作で構わんだろ。サブディレクトリ中のファイルを指定することも考えろよ。



347:345
09/08/18 15:33:00
詳しい方のみ回答をお願いします。
また回答者の主義・主観の主張はご遠慮ください。

348:名無しさん@お腹いっぱい。
09/08/18 16:20:42
次の方どうぞ

349:345
09/08/18 18:39:18
自己解決しました。

350:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/20 06:16:14
>>350
>>187

352:350
09/08/20 06:40:46
>>351
うは、同じスレに答えが、しかもFAQネタorz

ありがとうございました。
${=PAGER} でいけましたっす。

353:名無しさん@お腹いっぱい。
09/08/21 17:53:16
実際使っててどっちが使いやすいんだろうな?
zshのデフォがno_sh_word_splitということは、それはそれでメリットがあるからやってるんだろうけど
大してzsh使い込んでないんでよう分からん

354:名無しさん@お腹いっぱい。
09/08/22 01:53:19
個人的には no_sh_word_split だけど migemo 補完って誰かやってる? (前半と後半に関係は特にありません。)

355:名無しさん@お腹いっぱい。
09/08/25 23:40:52
いつのバージョンからかわからないんだけど
ファイルa aaがカレントディレクトリにあるときに
% rm a
の状態でTABを押したときの補完が

% rm a
a aa
と候補が出るのではなく

% rm aa
とaaにだけ補完されるんだけど

どなたか治し方しらないですか
ファイル消えまくりorz

356:名無しさん@お腹いっぱい。
09/08/26 01:00:49
menu complete の動作が嫌ということ? 自分もこの動作があまり好きでないので、
setopt NO_AUTO_MENU にしている。適当なキーに menu-expand-or-complete を
割り当てて、欲しいときは明示的に menu complete を呼び出すようにしているけど。
でも、デフォルトの動作って途中で変わったかな。tcsh から移行したときに
設定したような気がするが、もうよく覚えてない。

357:名無しさん@お腹いっぱい。
09/08/26 01:26:27
違うっす

lsコマンドなどでは、
% ls aの時点でTABを押すと
a aa
と補完候補が出て、次の文字の入力待ちになるにもかかわらず
rmコマンドの時だけ
% rm aの時点でTABを押すと
% rm aa
となり、aは一切無視されるんです

Gentooで4.3.x(失念)です


358:名無しさん@お腹いっぱい。
09/08/26 10:17:02
おいらは
% touch a aa
% rm a[tab]
すると
rm a [かーそる]
になるけど。

aで(他の候補はあれど)完結しているときに
tab 打つとそこで確定、ってことかな?
(tab でなく ^D だと a aa が表示されます)


359:名無しさん@お腹いっぱい。
09/08/26 20:06:16
compdef -d rm
で対処しました。お手数掛けました

360:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/27 04:58:20
zshaddhistoryを使えばどうにでもなるはず 参考 URLリンク(d.hatena.ne.jp) zshは実はファイルマッチで使うようなパターンだけじゃなくて 正規表現も使えたりするのでそういう感じでがんばれ

362:名無しさん@お腹いっぱい。
09/08/29 02:42:07
completion の matcher-list にも正規表現が使えるといいんだけど。
というか、 PATTERN MATCHING でも (a|b) は使えるのにこれも
matcher-list じゃ使えないからなあ。残念な話だ

363:名無しさん@お腹いっぱい。
09/08/29 04:39:08
>>355
_rm が編集行の指定済ファイルを補完対象外にしていて、
入力中の語もその中に入っちゃってるみたいね。
多分期待動作じゃないんだろうな。

_rm 内の↓がそれっぽい。ここらへんの記法が何するものかは忘れたけど
ignored=(${line//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})

364:名無しさん@お腹いっぱい。
09/08/29 12:59:17
>>363
細かい解説どうも。いつからか_rmが追加されて、それ以降の挙動のようですね

期待動作というかlsのような補完と挙動が違うのは バグ だと思ってます
_rm採用以前はすべての対象ファイルが補完されてたわけだですし

cd でディレクトリのみを補完対象にするのとはワケが違うと思うんですけどね


365:名無しさん@お腹いっぱい。
09/08/29 15:42:25
自分でいじったんじゃなくて?

366:名無しさん@お腹いっぱい。
09/08/29 16:16:40
もちろん。自分ではいじってないですよGentooがいじってる可能性はあるかもしれませんが
バージョンは4.3.9でした

367:名無しさん@お腹いっぱい。
09/08/29 23:38:49
>>364
lsとかの単なるファイル補完と違うのは
rm a a
みたいに同じファイルを2回指定することはないから
補完対象から外しているんだと思う。
(lsも2回指定することはない気はするけど、外すようにはしてない。
必要はないしね)

これ自体は個人的には悪くないと思う。
menulistで補完してると、
2つ目にも指定済のファイルが候補にあると邪魔だからね。

通常のファイル補完でこれをやると、例えば
cat a a
とかはありうるから、うまくない。

まあ rm でやっていて ls でやってないことが気になる人もいるってことかな。

_rm が入力中の語も補完対象外にしているのは
バグっぽいなあと思うけど。
その語は入力が完了しているから補完する必要がないとも
強引には考えられるけど。いや無理があるか。他の補完動作とも合ってないしね。

368:名無しさん@お腹いっぱい。
09/08/29 23:41:56
ていうか、
[[ -e file* ]]
みたいなことって、できないんだっけ?(file* にマッチするファイルがあるか判定)
[[ でできないってだけだけど。
これ普通どうやるんだっけな。

369:名無しさん@お腹いっぱい。
09/08/29 23:46:10
>>368
ls file*の戻り値で代用

370:名無しさん@お腹いっぱい。
09/08/30 00:00:59
そうか。そうだね。

tmp=(file*(N)); (( ${#tmp} ))
↑なん考えちゃったよ。
# tmp が消せなかった

それなら
: file*
でよさそうだね。
thx.

371:名無しさん@お腹いっぱい。
09/08/30 00:11:05
( : file* ) 2>/dev/null
としないと errmsg とともに終わる(forが)
そんだけ

372:名無しさん@お腹いっぱい。
09/09/05 02:51:12
補完の設定でフィルタ関数みたいなのはないのかな。
入力語と補完候補をとってマッチするか否かを判定するようなやつ。

373:名無しさん@お腹いっぱい。
09/09/05 10:35:35
内部コマンドの getopts で POSIXLY_CORRECT=0 に相当する
動作にできないものだろうか。履歴を使い回して末尾にオプションを
付け足したいときがままあるので。

374:名無しさん@お腹いっぱい。
09/09/06 12:33:57
bashのスレはどこですか?

375:名無しさん@お腹いっぱい。
09/09/09 13:10:46
zshでプロンプトに
URLリンク(journal.mycom.co.jp)
みたいにpts/xを表示させたいんだが環境変数わからないので教えてください

376:名無しさん@お腹いっぱい。
09/09/09 15:16:38
環境変数でなくてプロンプト記法における %l だね

377:名無しさん@お腹いっぱい。
09/09/11 12:45:00
.zshenvっていつでも読まれるはずだよね?
ログインシェルだと.zshenv読んでくれないんだけど,なんでかな

.zprofileはマニュアル通り(ログインシェル時のみ読み込む)なんだけど,
.zshenvがその反対(ログインシェル以外のとき読み込む)になってるみたい

378:名無しさん@お腹いっぱい。
09/09/11 22:54:50
なんでかなって、1行目の思い込みが間違っているからに決まってる。man読め。

379:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/11 23:20:43
>>379
ログインシェルでも .zshenvを読む。

ただし、zshが sh互換モードで起動されると .zshenvは読まない。

ログインシェルの時だけ /bin/sh -> zsh の symlink 経由で起動してるんじゃない?

381:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/12 00:55:23
>>379
もしかしなくても違ってる。
そのセクションを全文読んでから、ありえる解釈を列挙して
一つ一つ検討してもっとも妥当なものを選べ。
それができなきゃソース読め。

383:名無しさん@お腹いっぱい。
09/09/12 06:39:45
>>382
違ってはいないだろ。
オレの環境では login shellでも .zshenv をちゃんと読み込んでるから。

384:名無しさん@お腹いっぱい。
09/09/13 01:37:04
setopt globcomplete
man (\\|e)[Tab]

ってやると ex* がヒットするよ~。

(e|\\)
(\*|e)
('*'|e)

も同じ。

(\\|a) だと ax* がヒットする。

(記号|文字列) で 文字列x にヒットするようだ。

(\\|\\) だと何故か ex がヒットする。

まるでバグのようだ。

385:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/14 14:38:34
アッー!



スンマセン言ってみたかっただけです

388:330
09/09/15 19:12:50
すいませんお礼忘れてました。
レス下さった方々ありがとうございましたm(_ _)m 参考になりました。

389:名無しさん@お腹いっぱい。
09/09/17 16:20:26
実行したプロセスすぐに終了しなかった場合にそのプロセスをkillする
方法ってありますか?
rshなどでタイムアウトのときに使いたいと思っています。

390:名無しさん@お腹いっぱい。
09/09/17 16:23:59
zshって最強なの?

391:名無しさん@お腹いっぱい。
09/09/17 16:32:35
最低です

392:名無しさん@お腹いっぱい。
09/09/18 04:49:12
最強は Version 7 の Bourne Shell

393:名無しさん@お腹いっぱい。
09/09/18 07:50:11
ソースは最狂だが。


394:名無しさん@お腹いっぱい。
09/09/20 03:21:49
残念ながら buggy な zsh

395:名無しさん@お腹いっぱい。
09/09/20 17:59:16
誰か pulseaudio 0.9.15 向けの _pactl 持ってない?
欲しい。

396:名無しさん@お腹いっぱい。
09/09/21 22:09:00
やっぱり反応ないなあ。
自分で使う pactl move-sink-input だけ実装した。
と一応の自己レス。

397:名無しさん@お腹いっぱい。
09/09/25 02:01:31
zshユーザって日本にどんくらいいるんだろ

398:名無しさん@お腹いっぱい。
09/09/25 13:35:01
たしか5人くらいって効いたよ

399:名無しさん@お腹いっぱい。
09/09/25 14:04:58
じゃあおれアシュラマン役な

400:名無しさん@お腹いっぱい。
09/09/25 14:15:47
じゃあ僕はサンシャイン

401:名無しさん@お腹いっぱい。
09/09/26 19:54:54
アシュラマンと組んだ時のサンシャインって
なんで砂にならなかったの?



402:名無しさん@お腹いっぱい。
09/09/26 20:09:46
ログインシェルがデフォでzshなディストリが出てこないと増えないよなやっぱ

403:名無しさん@お腹いっぱい。
09/09/26 20:31:41
SH_WORD_SPLITがデフォじゃないと増えないよなやっぱ

404:名無しさん@お腹いっぱい。
09/09/27 21:12:40
自分のzshスクリプトをbash野郎に説明すんのにすごいストレス溜まる

405:名無しさん@お腹いっぱい。
09/09/27 21:38:00
zshでスクリプトなんて書かねーよ

406:名無しさん@お腹いっぱい。
09/09/27 21:55:21
>>405
普通に書くぞ。
人に説明しないけど。

407:名無しさん@お腹いっぱい。
09/09/27 22:52:33
01,02,・・・,99が{01..99}でできるってだけで有り難いわ

408:名無しさん@お腹いっぱい。
09/09/27 23:54:05
bashでもできるよ

409:名無しさん@お腹いっぱい。
09/09/28 00:39:33
>>408
マジで?うちの環境ではbashは3.2だが古すぎるのか
bash使ってた頃はいちいちprint文とか使って桁を整えてたわ

410:名無しさん@お腹いっぱい。
09/09/28 01:30:12
ぶっちゃけbashは4でzshに近づくことができたのか?

411:名無しさん@お腹いっぱい。
09/09/28 09:10:22
>407
エロ画像連番スレの基本技5ヶ条の1だね

412:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/28 12:08:23
>>413
bash-4.0-alpha からそうなったみたいね。TNX

415:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/28 19:09:57
>>413
すげー、bashも進化してんだなw
他シェルの便利機能を取り込む姿勢はたいへん宜しい
ただ、3→4へのメジャーバージョンアップはgccのそれを思い出して
ついまともな出来なのかと疑ってしまうw

>>415
そんなことできるのかksh

417:名無しさん@お腹いっぱい。
09/09/30 00:02:28
bashもtcshもいつの間にか機能増えてたりするんで
なかなか機能差異を説明するのも難しい
まだ鍛錬が足らぬだけか

418:名無しさん@お腹いっぱい。
09/09/30 20:59:00
でもよく調べると、やっぱzshに及ばないジャンwって結論に至る

419:名無しさん@お腹いっぱい。
09/10/02 21:42:40
URLリンク(acapulco.dyndns.org)

420:名無しさん@お腹いっぱい。
09/10/03 00:41:39
fish!!

421:名無しさん@お腹いっぱい。
09/10/03 00:46:11
x68000にfishというシェルがありました。
Cシェル系だったけどナー。


422:名無しさん@お腹いっぱい。
09/10/03 00:57:07
いや fishshell.org のことでしょ。

423:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/10/11 20:56:55
zsh金玉

425:名無しさん@お腹いっぱい。
09/10/11 20:58:17
ズィーエスエイチ袋

426:名無しさん@お腹いっぱい。
09/10/18 20:56:20
_7z _convmv 誰か持ってる?くれ。

427:名無しさん@お腹いっぱい。
09/10/27 14:04:29
zftpの使い方がいまいち分からない
これ便利なの?

428:名無しさん@お腹いっぱい。
09/10/27 20:49:02
これ見て便利だと思たら便利なんじゃね?
URLリンク(ttyshare.com)

429:名無しさん@お腹いっぱい。
09/10/29 21:39:15
>>428
感動した
よく作るなこんなの・・・

430:名無しさん@お腹いっぱい。
09/10/30 14:05:44
cd - [TAB]で表示されるディレクトリ一覧の、降順・昇順を切り替えるオプションってありますか?

431:名無しさん@お腹いっぱい。
09/11/06 04:42:36
やっと規制解除きた
>>430
cd +[TAB]
とすれば良いのでは?
+ と - の意味を切り替えるのは
setopt pushd_minus


432:名無しさん@お腹いっぱい。
09/11/06 04:48:20
コマンドを実行せずにヒストリに登録する方法は無いのかな?
zle accept-line のコマンドを実行しない版が欲しいんだが。
# HISTFILE を編集するのは無しの方向で。

433:名無しさん@お腹いっぱい。
09/11/06 07:06:51
過去の話題から。適当なキーに割り当てる。
history-register-line () { fc -R <(<<<$BUFFER); zle send-break }
zle -N history-register-line

434:432
09/11/07 09:44:36
>>433
thx, うまくいきました。

# history-register-line でググったら >>20 がヒットした orz
# FAQ だったか。スマソ


435:名無しさん@お腹いっぱい。
09/11/10 12:14:44
ディレクトリの移動履歴だけを対象にして C-r みたいなことがしたいのですが、
どうやったらいいですか?

436:430
09/11/10 14:39:29
>>431
ありがとうございました!

437:名無しさん@お腹いっぱい。
09/11/14 17:38:35
cd aaa/bbb/ccc
と入力した後に、backward-delete-word で aaa/bbb/ccc をすべて消すのではなく、
最後のスラッシュまで (cccのみ ) 消すことはできるでしょうか。

たしか何かのシェルではできていたのですが、調べてみましたが、zshでのやり方がわかりません。
よろしくお願いします。

438:名無しさん@お腹いっぱい。
09/11/14 17:46:00
全く同じ質問を2ちゃんねるのzshスレで見た記憶があるんだが

439:名無しさん@お腹いっぱい。
09/11/14 17:49:14

/'⌒`ヽ、この質問定期的に来るNE!
ヽ、┗ ノ
  `ーー'        γ⌒`ヽ           /'⌒⌒ヽ、
  ,-ーー-、      .|| ̄ ̄             (     ┃  ⌒ヽ
 /  ┃  )    ||    /⌒ヽ       \ ━┛    )
.(.   ┃   )   ||.   ( ^ω^ )
 ヽ、__,ノ     ||  _(つ¶¶と)__
           /||'''''|  三  |    |'(⌒)
        /    '―――`  ̄ \
        `============'

>>330

440:437
09/11/14 17:57:05
ありがとうございます。
それなりにzshのまとめブログを内外、見て回って使っていたんですが、ここを利用させていただくのは初で。。
これからは過去ログをチェックします。

これは需要があるとおもうんですが、意外と共有されていないのが不思議です。

441:sage
09/11/14 18:14:40
tab で補完完了時に, もう一度 tabを押すのがいやなのですが、自動的に補完内容を表示する事は可能でしょうか。

例)
aaa code/ru
-> [tab]
aaa code/ruby/  # 補完完了
-> [tab]
( やっと一覧表示 )

を、

aaa code/ru
-> [tab]
aaa code/ruby/ # 補完完了
( ここで自動的に一覧表示。)


zstyleを調べていたのですが、よくわからす、よろしくお願いします。

442:名無しさん@お腹いっぱい。
09/11/14 18:25:08
>>437
echo $WORDCHARS


443:441
09/11/15 13:46:37
補完完了時に何かトリガーするってできないのかな、、、

444:名無しさん@お腹いっぱい。
09/11/18 21:48:21
zshの補完にmigemo使えるようにならない?

445:名無しさん@お腹いっぱい。
09/11/18 23:33:46
そりゃmuripo

446:名無しさん@お腹いっぱい。
09/11/19 07:40:07
C-wで削除するときに直前の文字が日本語だと空白区切りまでじゃなく
その一つ前の単語も一緒に削除されちゃうんだけど、これってどうなのよ。
なんか設定で変更できない?

echo だよもん[C-w] → 行頭まで削除されちゃう
echo hoge だよもん[C-w] → echo になる(hogeも削除される)

447:名無しさん@お腹いっぱい。
09/11/29 00:09:09
俺が >>444 書いたんじゃないよな…
migemo補完しようとは思ったけど…

これ[ URLリンク(ja.pastebin.ca) ]を fpath に入れて

zstyle ':completion:*::::' completer _complete _migemo

とかするとなんとなく migemo補完するかも。
migemo展開パターンに記号が入ってたり、なんかすると
動かなかったりして、補完しようとするケースの半分くらいで
使えないという残念仕様だけど。
# 補完に利用している globcomplete が上記ケースで何故か動かない。

一応、PWD直下のファイル名補完なら、migemo入力を3文字程度以上
打ち込んどけば補完したはず。
後、completer 指定から分かる通り、通常補完が優先なので
それにヒットするとmigemoは動かない。
# _complete は外せるけど。

ちなみに俺は使ってない。使えないので。

もっと汚くて使えるものを今書いてるので、
また上げるかもしれない。

# 使えるといっても、対象をファイル名補完に絞った
# 個人的には使用に耐える程度のものだけど。

そういえば、_migemo って名前は compdef migemo で使いそうな名前なので、
_migemo_complete とかにした方がいいかも。

448:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/29 00:28:11
>>448
ならない人もいるのか。
バージョン・環境・ロケールなど教えてもらえる?

450:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/29 12:06:11
変化なし。表示だけおかしいというわけでもない。
バージョン等は4.3.10、FreeBSD 8.0/amd64、ja_JP.UTF-8。
ebuildを見たけど、別段portsと変わっているようにも見えないしなあ。

452:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/30 03:55:40
おつかれ

454:名無しさん@お腹いっぱい。
09/11/30 04:19:22
svn a[TAB] b
すると
unknown svn command: a
ってなる。どうにかならんかな?

svn a[TAB]
だとちゃんと補完するけど。

455:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/30 23:18:33
452だけど、glibcのロケールデータを借用してLC_CTYPEを増強した。
これでFreeBSDでもzshで日本語の文字が単語文字になって満足。

FreeBSDでも URLリンク(wiki.freebsd.org) という
動きがあるらしいのでそのうちよくなるのかな。

457:名無しさん@お腹いっぱい。
09/12/05 02:00:34
TABで補完したときに、ファイル名が一意に定まらない時は
必ずリスト表示してほしいんだけど、いい設定とかないかな?

ls .zs[TAB] → ls .zsh

ここで[^d]すると

.zshenv .zshrc

と出てくるけれど、それなら最初から出してほしい。

458:名無しさん@お腹いっぱい。
09/12/05 15:24:29
autoload predict-on
predict-on
で、先方予測を有効にしているのですが、しばらくログインシェル
として使っていると、何かの拍子に先方予測が利かなくなっている
ことがあります。(source ~/.zshrc するとまた効き始める)
何か、ショートカットで有効になったり無効になったりするもの
なのでしょうか?

459:名無しさん@お腹いっぱい。
09/12/05 15:26:40
あと、先方予測を有効にしていると
apt-get install hoge
と入力したとして、あ、sudo しなきゃ…と思って戦闘に戻って
sudo と打ち込んだ瞬間、今までの apt-get... がそっくり消える
のですが、これは何か回避のしようがないものでしょうか?

zsh使い始めたばかりですが、余りの素晴らしさに感動しきりです
この点のみ未熟なばかりに不便に感じているのでご教示いただければ

460:名無しさん@お腹いっぱい。
09/12/05 16:12:41
>>457
setopt autolist ?
デフォルトで利いてるはずだけど。




461:名無しさん@お腹いっぱい。
09/12/05 17:22:54
>>460
レスありがとう。
autolistがデフォで利いてること、
noautolistでリスト表示は^Dで明示的に指示した時のみとなることを確認しました。

457 に示した用に、autolistが設定されている場合でも、
一意に定まらない場合にリスト表示がされないことがある、のが個人的な不満というか…。
それとも、上記の例の場合でも、常にリスト表示されているということでしょうか?

462:名無しさん@お腹いっぱい。
09/12/05 22:08:48
>>461
unsetopt listambiguous

463:名無しさん@お腹いっぱい。
09/12/05 22:37:38
これは良いことを聞いた

464:名無しさん@お腹いっぱい。
09/12/05 22:51:53
>>462
ありがとう。本当にありがたい。

465:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/12/06 12:15:22
>>463
俺もw

このスレって常駐してるだけで色々勉強になるから助かるわ

467:名無しさん@お腹いっぱい。
09/12/08 00:16:06
深いパスで、ないファイルを補完しようとすると _approximate あたりで
暴走してたんだけど、サンプル zshrc の

zstyle -e ':completion:*:approximate:*' max-errors \
'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )'

の指定が重かったんだ。結構、サンプルから取り込んで未検討のままに
なっているものがあるけど、これもその一部。
_approximate 自体、不要という気もするけど。

468:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/12/10 01:32:38
正規表現に関してはzshは他のライブラリ(OS標準のregexなりPCREなり)を呼んで
るだけだから、そちら側の都合。

470:名無しさん@お腹いっぱい。
09/12/11 18:00:18
egrep は multibyte 認識してるっぽいけど…自前ってことか。
pcretest は UTF-8 で一応動いてるっぽいけど…pcre の UTF-8 support が実験レベルってことで、色々あるんだろうなあ。
まあとにかく動かないってことでいいか。

471:名無しさん@お腹いっぱい。
09/12/12 06:02:44
>>444
もう居ないか知らんけど…
>>447 の代わりのmigemo補完。
これ[ URLリンク(ja.pastebin.ca) ]を 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:名無しさん@お腹いっぱい。
10/01/01 10:19:12
あけおめ

473: 【大吉】 【1999円】
10/01/01 12:09:22
おめ

474:名無しさん@お腹いっぱい。
10/01/01 12:24:05
↑テラトイザラスwww

475: 【豚】 【1829円】
10/01/01 12:26:03
ハア?('A`)

476:名無しさん@お腹いっぱい。
10/01/05 11:18:56
man すると multios では > word 2>&1 と &> word は違うよ、って書いてあるんだけど、
良く分かりません。ありがちな hoge > /dev/null 2>&1 と hoge &> /dev/null だと、
具体的にどう違うのでしょうか?

477:名無しさん@お腹いっぱい。
10/01/05 12:19:50
例が悪すぎ。/dev/nullに捨てるんじゃ一緒だろ。

478:名無しさん@お腹いっぱい。
10/01/09 22:49:00
$ a=`jobs`
$ echo $a
で jobs の結果が a に入らないのはどうしてですか? jobsの結果を直接 tty?に流してる?

479:名無しさん@お腹いっぱい。
10/01/09 23:15:19
入るけど

480:名無しさん@お腹いっぱい。
10/01/10 06:06:17
>>478
jobs の結果が空なだけでは

481:名無しさん@お腹いっぱい。
10/01/10 13:40:00
$ jobs で結果が見れるので、空ってことはないのですが、
>> 479 本当ですか?

結局僕はこれで取れました。
$ jobs | read a
$ echo $a

482:名無しさん@お腹いっぱい。
10/01/10 13:55:01
>>481
zsh 4.3.10で試したけど
普通に入ってる

483:名無しさん@お腹いっぱい。
10/01/10 14:18:37
zsh-4.2.x のバグだ。

484:名無しさん@お腹いっぱい。
10/01/10 16:08:26
$ zsh --version
zsh 4.3.4 (powerpc-apple-darwin9.0)
でした。macだからかなぁ。

485:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/01/18 08:02:43
Ctrl+Rコマンドヒストリ検索で日本語入力が出来なくなってるよ

488:名無しさん@お腹いっぱい。
10/01/18 08:09:03
zsh 4.3.10ではCtrl+Rコマンドヒストリ検索で日本語入力が出来ないよ
ヒストリ検索がちゃんと出来ないzsh使うなんてありえないよな
ここの連中は一体どんな環境でzsh使ってんの?

489:名無しさん@お腹いっぱい。
10/01/18 08:53:08
そもそも、インクリメンタルサーチで日本語を入力したことが無い。

490:名無しさん@お腹いっぱい。
10/01/18 09:54:36
そもそも、日本語名のファイルが無い。

491:名無しさん@お腹いっぱい。
10/01/18 20:53:25
そもそも、インクリメンタル検索で日本語入力という発想が無い。

492:名無しさん@お腹いっぱい。
10/01/18 21:00:12
In the first place, I don't use Japanese.

493:名無しさん@お腹いっぱい。
10/01/19 10:05:28
setopt hist_ignore_space
していると、確かに履歴ファイルには記録されないのですが、
<C-p>で履歴を戻ったとき、出てきてしまいます。
ここでも出てこないようにするにはどうすればいいでしょうか?

494:名無しさん@お腹いっぱい。
10/01/19 12:15:23
vi [tab] とかってやったときにドットファイルも補完候補に表示してほしいんですが、
どうやったらいいですか?

495:名無しさん@お腹いっぱい。
10/01/21 16:21:42
ハローは日本語?
kon'nichiwa は日本語?
ニーハオは?

496:名無しさん@お腹いっぱい。
10/01/21 16:43:42
中間言語

497:名無しさん@お腹いっぱい。
10/01/21 17:00:13
餃子屋

498:名無しさん@お腹いっぱい。
10/01/22 10:16:09
結局 kikaku.doc とかは日本語ファイル名ってことでいいんだよね?


499:名無しさん@お腹いっぱい。
10/01/22 11:54:36
あなたしだいです!

500:名無しさん@お腹いっぱい。
10/01/22 19:44:06
用字と言語は別。

501:名無しさん@お腹いっぱい。
10/01/25 05:39:08
あなただいなしです!に見えた

502:名無しさん@お腹いっぱい。
10/01/25 12:24:41
>>494
vi .[tab]

503:名無しさん@お腹いっぱい。
10/01/27 22:40:16
>>471
condition expected: $words[i]とかいうエラーがでるんだけど何が原因かわかりますか?

504:名無しさん@お腹いっぱい。
10/02/15 02:31:52
Ctrl-. (ピリオド)を
bindkey ”^.” redo
とかに割り当てたいんですけど、
Ctrl-.を入力しても、そのまま.がターミナルに表示されます。
sttyで何か設定すればC-.が有効になるのでしょうか?

505:名無しさん@お腹いっぱい。
10/02/15 07:38:48
Ctrl-.なんて文字は存在しないから受け取りようがないのです。

506:名無しさん@お腹いっぱい。
10/02/15 11:46:12
emacsだと以下で行けるけど、ターミナルだと無理なんかも
(define-key global-map [?\C-.] 'redo)

507:名無しさん@お腹いっぱい。
10/02/15 12:53:11
ターミナルのなかで文字として受け取るか
X-client がイベントとして受け取るかの
違いが理解できていないのか?

508:名無しさん@お腹いっぱい。
10/02/15 13:26:35
emacsのxterm.elでは(define-key map "\e[27;5;46~" [?\C-.])と定義してある。
ターミナルソフト側でC-.を押したら\e[27;5;46~を送出するよう設定すればおk

509:504
10/02/15 23:37:58
ありがとうございます。
設定してxterm上ではC-.キーつかえました
でも、いつも使ってるgnome-terminal上では送出設定できなさげでorz

510:名無しさん@お腹いっぱい。
10/02/15 23:50:34
gnome-terminalは.Xdefaultsが効かないんだっけ

511:名無しさん@お腹いっぱい。
10/02/15 23:53:37
.XdefaultsはAthenaWidgetのもんじゃねーの?


512:名無しさん@お腹いっぱい。
10/02/16 13:48:12
.Xdefaults(.Xresources etc.)については
xrdb の仕組み・罠とかいろいろ知らないといけない

513:名無しさん@お腹いっぱい。
10/02/18 01:37:34
cygwin上ででzshを触り始めたんですが、
.zshrc に
「windows上で動いてるなら "c:\Program files\" の
配下のファルダ全て(もしくは一つ下のサブフォルダまで)をPATHに追加」
(新しくアプリが追加されたら、次回のzsh起動時に自動的に読み込みたい)

このような処理は出来ますか?
もしできるなら、何をどう使って書けば良いでしょうか?

514:名無しさん@お腹いっぱい。
10/02/18 02:38:33
そう書けばいいんじゃないの?

515:名無しさん@お腹いっぱい。
10/02/18 02:43:26
>>514
書く方法がまったくわからないので、何かキーワードを頂けませんか?

516:名無しさん@お腹いっぱい。
10/02/18 03:16:03
>>514

ヒント:
path=($path(N-/) /*/bin(N-/) $HOME/bin(N-/))
typeset -U path

517:名無しさん@お腹いっぱい。
10/02/18 03:18:08
すまん
ミスった
>>515

518:名無しさん@お腹いっぱい。
10/02/18 05:25:02
>>516
回答ありがとうございます。
typeset をキーワードに検索したら、それらしいページがみつかったのですが
URLリンク(en.allexperts.com)

これをやりたい事に書き直すのは自分には無理そうなので
毎回パスを手書きで追加することにします。

519:名無しさん@お腹いっぱい。
10/02/18 05:39:12
ここの説明で >>516 さんのヒントの意味がわかりましたので解決しました。
URLリンク(technique.sonots.com)

520:名無しさん@お腹いっぱい。
10/02/18 23:36:31
>>518
一瞬ジョークのように読めてちょっと笑った。

521:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/02/21 01:14:10
打ち間違いで command not found になった場合は
ヒストリファイルに残してほしくないんだけど
何かいい設定とかないでしょうか?

523:名無しさん@お腹いっぱい。
10/02/21 09:38:43
preexecかzshaddhistoryでなんとかするのかな?

524:名無しさん@お腹いっぱい。
10/03/12 00:31:50
$PWD の長さを取得したいんですが、ホームにいるときは ~/ の2文字ではなく /home/username が返ってきます。ホームのときも考慮した$PWDの長さはどうやって取得できますか?

525:名無しさん@お腹いっぱい。
10/03/12 01:16:02
代わりに print -P '%~' の出力をみればいいと思う。


526:名無しさん@お腹いっぱい。
10/03/12 13:06:45
>>524
${#PWD/${HOME}/\~}

何がしたいのかさっぱり分からないが…

527:名無しさん@お腹いっぱい。
10/03/13 23:58:52
autoload run-help って結構微妙な動作すんだな

528:名無しさん@お腹いっぱい。
10/03/14 12:51:25
zsh -c "do something"
で呼び出したときに .zshenv だけじゃなく
.zshrc も実行前に呼びたいのですが、どうすればできるでしょうか?

オプションを下記サイトで探して
URLリンク(zsh.sourceforge.net)
RCS を使い .zshenvを読み込まない設定はできましたが
.zshrc を読み込む設定は見つかりませんでした。

529:名無しさん@お腹いっぱい。
10/03/14 13:02:11
rcは対話シェル用の設定を書くところだから、
正しいアプローチは.zshenvに該当の設定を移すことではないの?


530:名無しさん@お腹いっぱい。
10/03/14 13:15:27
>>528
一応 zsh -i +f -c 'do sth' で、無理矢理インタラクティブにしてしまえば .zshrc を読んでくれる
何のための .zshenv だよって言いたくなるが


531:名無しさん@お腹いっぱい。
10/03/14 20:56:06
>>529-530
返信ありがとうございます。
そうですね。 .zshenvに設定を移すことにしました。

532:名無しさん@お腹いっぱい。
10/03/17 01:20:42
findしまくりのbashスクリプトと、zshだけで完結しているスクリプトだったら
どっちが早いんだろ?

533:名無しさん@お腹いっぱい。
10/03/17 01:42:54
zsh で ** だとリストが長すぎてダメってことは稀によくある。


534:名無しさん@お腹いっぱい。
10/03/17 03:08:30
俺もよく稀にある。**/** 便利だから取り敢えず使っちゃう。

535:名無しさん@お腹いっぱい。
10/03/17 05:33:53
>>532
zshのほうが速いので比較するまでもない

536:名無しさん@お腹いっぱい。
10/03/17 11:35:22
zsh 使いなら当然 zargs も使うだろう

537:名無しさん@お腹いっぱい。
10/03/26 12:55:03
>>2
それをその速さで貼れるってことは
お前それをコピってずっと待機してたんだろ?
リロードしまくって。誰かスレ立てるの待って。
まじきめーな。氏ねよハゲ。

538:537
10/03/26 12:55:45
ごめんなさい
誤爆しました

539:名無しさん@お腹いっぱい。
10/03/28 14:29:24
ワロタ

540:名無しさん@お腹いっぱい。
10/04/04 15:54:16
>>533
いくつまでなんだっけ?いちいちfind使うのが面倒なんだよなぁ。
自分でソースからコンパイルすれば上限変えれるのかもしれんが・・・

541:名無しさん@お腹いっぱい。
10/04/08 16:31:18
>>540
きょうび自分でカーネルリコンパイルなんてFreeBSDくらいじゃないかね。

542:名無しさん@お腹いっぱい。
10/04/08 16:32:42
そういう話じゃなくて。

543:名無しさん@お腹いっぱい。
10/04/08 16:50:59
exec(2)に渡せる長さの上限は、FreeBSDだと sysctl kern.argmax かな。


544:名無しさん@お腹いっぱい。
10/04/09 08:41:54
だからfind + xargs -> zargs でFA

545:名無しさん@お腹いっぱい。
10/04/09 08:46:43
>>542
いやでも、自分でソースからコンパイルすれば上限は変えられるけど
カーネルリコンパイルってなかなか手を出さないと思うけどな。

カーネルアップデートがある度にやり直しなわけだし。

546:名無しさん@お腹いっぱい。
10/04/10 14:40:25
zargsシランカッタ…こんな便利なものが

547:名無しさん@お腹いっぱい。
10/04/10 19:33:33
zsh% zargs
zsh: command not found: zargs
って言われちゃうけどどう使うの?

548:名無しさん@お腹いっぱい。
10/04/10 19:34:42
autoload zargs


549:名無しさん@お腹いっぱい。
10/04/11 09:21:00
zfags

550:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/04/15 22:09:12
for n in `seq -w 1 2 99`; do

552:名無しさん@お腹いっぱい。
10/04/15 22:18:45
seqはGNU coreutils以外にもあるの?


553:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/04/15 23:23:38
>>552
じゃあ、jotで

jot -w %02d - 1 100 2

555:名無しさん@お腹いっぱい。
10/04/16 02:30:10
内部コマンドだけだと
for ((i=1; i<100; i+=2)); do print -f "%02d\n" $i; done

スマートにはいかんな

556:名無しさん@お腹いっぱい。
10/04/16 05:40:33
typeset -Z2 i

557:名無しさん@お腹いっぱい。
10/04/16 11:43:29
自分だったらこんな感じかな
for i in {1..10}
echo $(printf "%02d" $[i*2] )

>556 辺りが一番すっきりなんだろうけど
たぶん必要なときにこれを思い出さない気がする…

558:550
10/04/16 15:00:37
皆さんありがとうございます。色々ありますね。
自分は今のところprintfで桁数を整えています。

>>553
>bash なら {01..99..2} で大丈夫
こちらのbash 3.2では解釈してくれず、{01..99..2}がそのまま i に入ってしまいました。
4.xでの機能でしょうか?

559:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/04/19 21:53:25
上はバグかな。
下はそういうもん。

561:名無しさん@お腹いっぱい。
10/04/20 18:21:48
>>560
>上はバグかな。
まじすか・・・4.2.6なんですが、新しいのだと直ってるんですかね?

>下はそういうもん。
まじすか・・・ファイルシステムが異なる場合はrename関数でinodeを書き換えるのではなく、
新規に作って元のを消すという仕様だったと思いますが、それがきちんと実装されていない
ということですかね?だとするとこれもバグのような気が・・・

562:名無しさん@お腹いっぱい。
10/04/20 19:07:40
バカかお前。manくらい読めよ。

563:559
10/04/20 19:50:05
>>560の「そういうもん」の意味を、変な風に捉えていました
manにThis may change in a future version.書いてありますね
ついでに本家サイトに行ってmanを見てきましたが同じでした

引数の最大値の制限を受けないのは魅力的だったけど、やっぱりやめとこう・・・

564:名無しさん@お腹いっぱい。
10/04/25 17:31:00
bash の set +h に相当するオプションありますか?

565:名無しさん@お腹いっぱい。
10/04/25 18:47:04
どういう機能か書いてくれないからbashのマニュアルを調べてしまった。
hash_cmds かな?


566:名無しさん@お腹いっぱい。
10/04/29 00:33:11
>565
ごめん, Z な漢たちに bash の説明なんて余計なお世話だったらどうしようかと,

そして, ありがとう. man zshoptions ですね.

567:名無しさん@お腹いっぱい。
10/04/29 20:57:24
hash_cmdsってハッシュテーブル使うって意味だよね
利点がいまいち分からないんだが・・・
体感するほど速くなる?

568:名無しさん@お腹いっぱい。
10/04/29 21:01:16
利点がないからこそ hash_cmdsを無効にしたい、って話だろ

569:名無しさん@お腹いっぱい。
10/04/29 21:11:58
>>564 は (bashの) set +h (ハッシングをしない)相当をやりたいの
だから、zshで実際に設定するのは nohashcmds のほうになるはず。


570:名無しさん@お腹いっぱい。
10/04/29 21:14:21
>>569
それでもいいけど、set +o hash_cmds で無効に設定できるよ

571:名無しさん@お腹いっぱい。
10/04/29 22:59:52
hash_cmds って知らなかったからちょっと調べてみたけど、これがオンの場合

PATH=/usr/local/bin:/usr/bin だとして
/usr/bin/hoge を実行した後、/usr/local/bin/hoge を作成しても
その後 hoge と打ったときに実行されるのは /usr/bin/hoge

というふうに理解したのだけど、これで合ってる?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch