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


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

zsh入門 パート2



1 名前:名無しさん@お腹いっぱい。 [02/11/03 20:49]
パート2ですよ,にーさん


101 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 02:29]
シェル変数を補完しないようにするにはどうすればよいのでしょう?

102 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 08:24]
awk --help |grep hoge
grep --help | grep hoge
のようにhelpの出力をgrepしたい時は
| を使うのでしょうか?







103 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 09:49]
>102
そうですが何か?

104 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 10:48]
sourceコマンドの補完で質問。
原因不明で、以下のものが動かなくなった。
他のサンプル持ってないので、皆さんの
_source見せてください。
おながいします。


% cat _source
#compdef . source
compadd ~/.zsh.d/.zsh(rc|env) || _files


105 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 14:33]
あー、グローバルエイリアスってすごいね。
これだけでzshに存在意義を見出させてしまいます。

zsh以外で実現しているシェルってあるの?

106 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 17:36]
>>102
もしできなかったら
awk --help 2>&1 |grep hoge

>>105
なに設定してる?
漏れは
alias -g I=/dev/stdin
alias -g O=/dev/stdout
alias -g E=/dev/stderr
alias -g N=/dev/null
alias -g L='|less'
alias -g G='|grep'

107 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 19:52]
foreach i (ココの部分)
      ^^^^^^^^
グローバルエイリアスがいちいち展開されてウザイっす。
例えば、bindkeyでキーバインディングの空き情況を調べる時、
foreach i (w \W i \I);bindkey "^x$i";end
のように展開を避ける必要があって、面倒です。

グローバルエイリアス展開の有無を情況ごとに調整する
オプションありませんか?

108 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 20:52]
bindkeyを引数なしで実行すればいいのでは?

109 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 22:47]
>>107
> グローバルエイリアス展開の有無を情況ごとに調整する
> オプションありませんか?
これは自分も以前思ったことがあった。しかし、グローバルエイリアス
の有効・無効を「簡単に」切り替えられる方法は見つけられなかったが、
一応の方法は見つけた。

無効にしたいとき、
disable -a $galiases[(I)*]
有効に戻したいとき
enable -a $dis_galiases[(I)*]



110 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 23:36]
漏れはグローバルエイリアスって使ったことないんだけども、
それって使い方を間違えているんじゃない?
もっと、衝突しづらい文字列のエイリアスをあてがうのが正しい使い方かと。

111 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 00:25]
そうでもない

112 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 21:55]
%echo '
>hoge
>hoge
>ho
ここまで入力して上の行に戻れる?

113 名前:104 mailto:sage [02/12/21 02:48]




いろいろ調べていますが、結局のところ

% cat _source
#compdef . source
compadd ~/.zsh.d/.zsh(rc|env) || _files

でsourceの補完が聞かなくなった理由が
わかりませんでした。

だれか理由か関連情報ご存知ありませんか?





114 名前:名無しさん@お腹いっぱい。 [02/12/22 01:52]
zshで、makeなどの出力結果をコンソールに出しながら
標準出力と標準エラー出力をそれぞれ別ファイルに吐き出すことは出来ますか?


115 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:02]
make >LOG.stdout 2>LOG.stderr >& /dev/tty
とか
make >LOG.stdout 2>LOG.stderr |& tee
の方がいいか

116 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:38]
どうもありがとうございます。
shじゃできないけど、zshだと出来るのですね。

117 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:13]
history内部コマンドの表示行数はデフォルトでは10行ですが
変更方法はありませんか?

118 名前:名無しさん@お腹いっぱい。 [02/12/22 23:19]
おまいら便利なbindkey教えてください。
unix userに載ってたのを書いてみる
accept-and-hold(M-A) コマンドを実行して再び表示する。
transpose-word(M-T) 単語を入れ代える
quote-line(M-') 'でくくる
insert-last-word(M-.) 直前のコマンドの最後の引数を挿入

autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが
でてこないのは漏れだけ?

119 名前:名無しさん@お腹いっぱい。 [02/12/22 23:21]
>>117
たぶんHISTSIZE=10000(byte)



120 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:22]
>>117
勘違いスマソ
alias history='history -20'

121 名前:117 mailto:sage [02/12/23 00:09]
alias使うと、
% history -m 'hoge*'
などのマッチングが出来ません。

そうすると、
% function history{history 〜}使うしかないのかな?




122 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 00:10]
>>121
> % history -m 'hoge*'
> などのマッチングが出来ません。

ということにしたいのですね。

123 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 01:23]
そもそもhistoryコマンドって何に使う?
>>121
grep使えば?

124 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 03:01]
>>118
> autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが
> でてこないのは漏れだけ?
手許では unalias run-help; autoload run-help で内部コマンドのマニュアルが動いている。
もっとも zshbuiltins(1) が先頭から表示されるだけで、それほど便利ではない(w

>>119
単位は byte でないよ。履歴の数そのもの

>>117
history は fc -l の別名だから適当に使い分ければ?

125 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 16:35]
>>124
run-helpがaliasされてたのですか。おもしろい使い方ですね。
>単位は byte でないよ。履歴の数そのもの
スマソ

126 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 01:38]
$@, $*の扱いがzshとshで違うのは仕様ですか?

127 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 10:12]
>>126
どう違う。


128 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 21:33]
#test.sh
arg.sh $@
arg.sh $*
arg.sh "$@"
arg.sh "$*"

引数の数を表示
#!/bin/sh
#arg.sh
echo $#

sh test.sh 'a b' 'c d'
4
4
2
1
zsh test.sh 'a b' 'c d'
2
2
2
1
勘違いしてたらスマソ>>127
bashは4421になった。

129 名前:名無しさん@お腹いっぱい。 mailto:age [03/01/03 11:52]
から揚げ



130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 15:49]
うまうま

131 名前:名無しさん@お腹いっぱい。 [03/01/03 18:08]
zsh を 3.0.8 から 4.0.4 に上げたら job control が変になりました。
具体的には
% less nannoa.txt

として見てるときに kill -STOP `pidof less` して止めたとき、
fg で less をフォアグラウンドにだすと jk では上下せず、
j + return, k + return というように改行キー入れないと動かなくなります。

これ、どのへんの設定を直せばいいんでしょうか。


132 名前:777 mailto:sage [03/01/03 19:06]
>>826
すんばらしい。
ありがとうございました。


133 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 20:16]
>>826 に期待がかかるわけだが。

134 名前:826 mailto:sage [03/01/03 22:49]
>>777
いえいえ、どーいたしまして

135 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/04 13:11]
>>131
4.06にしたら?

136 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 01:08]
>>128
see SH_WORD_SPLIT

% zsh -y test.sh 'a b' 'c d'
4
4
2
1


137 名前:128 mailto:sage [03/01/07 19:35]
>>136
ありがとうございます。

zshってzshのオプションは補完してくれないのか。

138 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 20:04]
-o


139 名前:名無しさん@お腹いっぱい。 [03/01/11 12:07]
日経Linuxでちょろっと取り上げられてたage



140 名前:名無しさん@お腹いっぱい。 [03/01/12 12:54]
zshrcの置き場所って
~/.zsh/zshrc
で正しいですか?
設定を読み込んでくれないのですが

141 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:01]
>>140
/etc/zshrc

142 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:17]
>>140
~/.zshrc


143 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:22]
>>140
$HOME/.zshrcでいいんじゃない?

144 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:24]
>>140
ドキュメントを読まない方はお断りします。

145 名前:名無しさん@お腹いっぱい。 [03/01/12 16:59]
>>12 のwikiが無くなってるんだけど、どっかに移転しましたか?

146 名前:140 [03/01/13 03:33]
140ですが
$HOME/.zshrc
を読み込んでくれません
aliasも有効にならないし
環境変数も有効にならないし
書式がおかしいというエラーも出ません
なんででしょうか
chpassでログインシェルを変更しました
またログインシェルを変更せずとも
ただたんにフォアグラウンドで走らせようとも
関係なく読み込んでくれません
関係ないか
なんででしょうか?

147 名前:140 [03/01/13 03:40]
ちなみにパーミッションは
-rw-rw-rw-: こんな感じですね
とくに意味は無いですが
そのうち変えます
自分に読み込み権限はあります


148 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 10:14]
>>147
source $HOME/.zshrc って打ったらどうなる?

149 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 11:00]
>>147
> -rw-rw-rw-: こんな感じですね

(゚Д゚)ハァ?



150 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 13:55]
>>140

# $HOME/.zshenv
ZDOTDIR=$HOME
export ZDOTDIR

man zsh に目を通しておきませう


151 名前:150 mailto:sage [03/01/13 13:59]
あ、 >>150 は zsh 4.0.6 (i686-pc-cygwin) での話なんで、
他の環境では違うのかも...

152 名前:山崎渉 mailto:(^^)sage [03/01/15 12:53]
(^^)

153 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 20:56]
GUIでアイコンをクリックすると適切なアプリが起動するように、
プロンプトでファイル名をうったら適切なアプリが起動したら便利だと思う。
zshのpreexecとかでできないかな?

preexec(){
if [ -f "$1" ]; then
vi $1
fi
}
と定義して
%.zshrc
とやるとviは起動するんだけど、 そのあとに
zsh: command not found: .zshrc
となる。ちょっとうざい。

154 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 21:11]
>>153
スクリプトで拡張子見て起動するようにしてみれば?

155 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 09:36]
>>154
まず magic を見て、次に拡張子の方がいいだろうな。
file の出力を拾うのがいいかな?


156 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 18:13]
>>154-155
スクリプトだとたとえ1文字にしても
%a hoge.txt
としなければいけない。
%hoge.txt
ってのはやっぱり無理かな。

157 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 22:12]
bindkeyで適当な関数を割り当てればいいんじゃないかな。
内容はあんまりいい例じゃないかもしれないけどこんな感じで。

function my-accept-line {
emulate -L zsh
local -a cmd; cmd=(${(z)BUFFER})
case "$cmd[0]" in
*.log)
BUFFER="$PAGER $BUFFER"
;;
*)
if [ -z "`whence $cmd[0]`" ]; then
BUFFER="echo $BUFFER"
fi
;;
esac
zle accept-line
}
zle -N my-accept-line
bindkey '^J' my-accept-line

参考にしたのは
dengaku.org/~naoki/zsh/FAQ-J/zshfaq02-j.html
のrun-fg-editorと
www.zshwiki.org/cgi-bin/wiki.pl?ZshHardStatus
のpreexec。

158 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 23:31]
>>157
カッケー!サンキュウ!

159 名前:158 mailto:sage [03/01/22 01:58]
よく考えたら補完が使えなくなるのか。うーん。



160 名前:155 mailto:sage [03/01/22 09:43]
おれはpreexecの中で一時的にaliasを定義したらいいかな?
と思ってやってみたんだが、aliasの展開はpreexecより前
みたいなんだよなー。
ソースをちょっと直せば対応できそうな気がするけど。


161 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 14:25]
faq っぽいですがよろしくです。

shell> aaa bbbbbbbbbbb ccccc

とかあって、bbbb の中頃にカーソルがあるとします。そこで、
次の単語までジャンプする方法ってありますか?
# つまり ccccc の頭まで。
矢印キー押しっぱなしというのは美しくないので・・

162 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 16:10]
>>161
ESC f とか ESC b とか

163 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 02:15]
さんくすです! esc か・・。
ctrl に適当に割り当てられれば便利そうですね。
^F も ^B も日頃使わないからそれに振ってみます ;-)

164 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 11:06]
>>163
Meta-b(Alt-b) でイくない??

165 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 15:09]
macos 上のターミナルなので alt は無いです。option キーだと
変な文字が入力されるだけだし・・。ううむ。

166 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 23:28]
>>161ではありませんが、C-, とか C-. に割り当てることは出来ませんよね?
ってこれは、terminalの問題か...。


167 名前:名無しさん@お腹いっぱい。 [03/02/06 23:32]
実行しているコマンド名をウィンドウのタイトルに設定したいんですが、そんなこと
可能でしょうか?
Enterでコマンドが投入された直後にそのコマンドラインをウィンドウのタイトルに
設定できればいいと思ったんですが、うまい方法を見つけられませんでした。
実行が終了して元に戻すのはPROMPTでいいんでしょうが。

168 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/07 00:04]
>>167
preexec を設定してはどうでしょうか。
cf. ttp://www.zsh.org/mla/workers/2000/msg03993.html


169 名前:167 mailto:sage [03/02/07 00:45]
>>168
そういうフックがあったのですね。ありがとうございました。試してみます。



170 名前:fushianasan mailto:sage [03/02/07 17:49]
zshって、tcshとくらべると、
動作速度、メモリの使用量はどうなの?

171 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 01:01]
>>170
起動はおそい

172 名前:fushianasan mailto:sage [03/02/08 01:06]
一回起動しちゃうと、サクサク?

screenとかmlterm多様してると、
シェルのプロセス立ちまくるから、
あんまり重い||遅いとこまる。

tcshマンセーな俺はzshを愛せるだろうか

173 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 04:20]
こんな感じ
% ps aux |grep '[tcz]sh'
xxx 2172 0.0 0.8 2436 2016 p3 Ss 4:17AM 0:00.14 -zsh (zsh)
xxx 2178 0.0 0.4 1384 996 p3 S 4:17AM 0:00.03 tcsh

うーむ、実質二倍って感じ?

174 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 08:58]
>>172
一回起動するとサクサク!
screenはdetatchしてatatchすれば起動の遅さは気にならないはず

175 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 10:28]
486 なマシンだと zsh の方が completion とか明らかに遅かった。ヲレには
耐えられないレベルだったので使用を諦めた記憶がある。

176 名前:fushianasan mailto:sage [03/02/09 00:03]
>>173-175
御丁寧にどうも。
とりあえず、つかってみようかと思います。
多機能なぶん、おもいのはしかたないのかなぁ。


177 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/10 18:26]
>>175
Pentium/120MHzでもcompletionとか明らかに遅いよ。
でもなんとかつかえる範囲なので使ってるけど。
普段余り触ることのないルータ機だからってものあるけど。

178 名前:fushianasan mailto:sage [03/02/10 22:12]
P2/233Mhzでも、微妙に遅いかも…。

使用感ですが、かなりカスタマイズできるようになっていて、
tcshよりも、かなり自由度がたかそうです。

うちのtcshはいじりすぎて、実メモリを1.8Mくらいメモリくっちゃうんで、
zshへの移行もありかなとおもってますが、
.*rcの移行が非常に面倒くさい…。

地道にzshの勉強しながら移行します。

179 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/10 22:53]
>>178
2.xでも使ってみれば?
それでも現行のtcshより便利じゃないかな。
ってtcshの事はよく知らないんだけど。




180 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/10 22:57]
ソンナワケ(ry

181 名前:名無しさん@Emacs mailto:sage [03/02/11 18:44]
>>179
|>!|2.xでも使ってみれば?
|>!|それでも現行のtcshより便利じゃないかな。

ということにしたいのですね?

182 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 00:56]
>>180,181
いや、おれの.zshrcは2.6の頃から大して変わって
ないからさ(細かい所はいじってるけど)。
最近追加された機能なんて使わなくても十分
便利なんじゃないかな、と思っただけ。


183 名前:名無しさん@お腹いっぱい。 [03/02/12 01:49]
~/.zshrcって何書いています? キーバインドくらいでしょうか?

私は以前、~/.zshenvには環境変数、~/.zshrcにはシェル変数やエイリアス、
キーバインドの設定を書いていましたが、
rshしたときには ~/.zshrcが読み込まれないみたいなので、
今は全部 ~/.zshenvに書いています。


184 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 02:54]
ssh だと読み込まれるけど

185 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 06:38]
rsh host command
では読み込まれない。

rsh host
では読み込まれる。

sshでも一緒。


186 名前:名無しさん@お腹いっぱい。 [03/02/12 06:39]
Mac OS X 10.2.3 付属の zsh 4.0.4 を使っています。
端末エミュレータ (Terminal.app) で表示言語を UTF-8 にしているのですが、
日本語を入力すると文字化けします(EUC だと文字化けしません)。
zsh で utf-8 を通す方法があったら教えて下さい。

187 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 09:40]
>>186
「utf-8移行スレ」なんてスレ立てて情報集めてみるのはどう?
各プログラムの utf-8 対応度が知りたい。


188 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 20:16]
.zshrcってないの?

189 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/12 21:31]
ある



190 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/13 03:19]
sjisなファイル名はちゃんと補完できないのか?

191 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/13 16:21]
なんだか404から406にした時かなり遅くなったように感じますた。

192 名前:名無しさん@お腹いっぱい。 [03/02/13 21:31]
zsh上でとあるソフトを make install として/usr/bin なんかに入っても
zshを再起動させないとコマンドの補完に含まれないんだけど、なんか設定あるのですか?
逆にPATHの中のコマンドを削除した場合、ずっとそのコマンドが補完対象に含まれるし。

193 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/13 21:34]
>>192
rehash

194 名前:_ [03/02/14 22:11]
zshのオプションに文字列を渡せてそれを実行させてプロンプトに欝って欲しいのですけど
どうしたらできますか?

195 名前:_ [03/02/14 22:42]
-e -cだと実行した後zsh死んでしまうし。

196 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/14 23:10]
>>194
なんでそんなことしたいの?

197 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/17 19:06]
hoge.c
int main(){
fprintf(stderr, "err\n");
fprintf(stdout, "out\n");
}
./hogeのエラー出力をerr.txtに標準出力をout.txtに出力して
画面には両方を出力するにはどうすればいい?
./hoge 1>&2 2>&1 2>error.txt 1>out.txt
これで一応できたけど、意味不明。shでもできる方法ない?

198 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/17 23:18]
>>197
わかりやすいのがいいのなら、
./hoge > out.txt 2> error.txt |& cat
とか。
197もそうだけど、setopt multios されてないとダメ。
hでは
((./hoge |tee out.txt >&3) 2>&1 |tee error.txt) 3>&1
くらいかな。もっと簡単な方法あるかな?


199 名前:198 mailto:sage [03/02/17 23:19]
s/hでは/shでは/




200 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/18 00:15]
>>198
> ./hoge > out.txt 2> error.txt |& cat
これだと、out.txt に stderr も含まれない?

./hoge > out.txt 2> error.txt >& /dev/tty
なら大丈夫だが、あまり好みではない






[ 続きを読む ] / [ 携帯版 ]

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

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