zsh入門 パート2
..
500:名無しさん@お腹いっぱい。
03/06/30 15:10
>>499
普通は bindkey -e してあるから、でない?
501:名無しさん@お腹いっぱい。
03/06/30 15:48
ところで compinit + bindkey -v な状態で ESC 押してちょっと
待ってから / を押すとヒストリの検索になるけど、ESC 押して
すぐ / を押すとヒストリがだらだらっと表示される。どういう
設定したらヒストリの検索にずばっと行けますか?
502:名無しさん@お腹いっぱい。
03/06/30 16:04
>>500
なるほど。
自分が使ってたbashではset -o viでも
Ctrl+Rで履歴の検索だったから、
それがemacs由来なkeybindだってことも知らなかったよ。
503:名無しさん@お腹いっぱい。
03/06/30 17:11
>>501
それは俺もはまった。
screenつかってるだろ。
504:名無しさん@お腹いっぱい。
03/06/30 17:39
>>503
screen使ってます!
で、どうやって回避しました?
505:名無しさん@お腹いっぱい。
03/06/30 17:40
>>504
maptimeout 0
506:名無しさん@お腹いっぱい。
03/06/30 19:06
うーん maptimeout 0 にしたけど直らない・・・
screen なしでもダメだった。
もうちょっと調べてみよ
507:名無しさん@お腹いっぱい。
03/06/30 19:21
bindkey -r '^[/'
したら直りますた。
508:505
03/07/01 13:44
>>506-507
あ、ちがったの。ごめんね
509:名無しさん@お腹いっぱい。
03/07/01 14:16
>>499
メール欄に答え書いてあるだろ?
510:名無しさん@お腹いっぱい。
03/07/01 14:18
OS X
511:名無しさん@お腹いっぱい。
03/07/01 23:22
>>499
てか、答えになってない。
512:名無しさん@お腹いっぱい。
03/07/01 23:23
↑誤爆>>499→>>509
513:名無しさん@お腹いっぱい。
03/07/02 15:36
From: [497] 1 秒で試せるだろ <bindkey -e する必要があるかもな。>
Date: 03/06/30 10:35
>>496
釣れた。
514:名無しさん@お腹いっぱい。
03/07/03 23:28
zsh メーリングリストの spam 嵐は酷いな
515:名無しさん@お腹いっぱい。
03/07/07 05:06
厨な質問だが、zshのプロンプトのカスタマイズ方を教えて欲しい
set prompt="%〜 " と同じことをzshではどのようにしたらよいのだろうか
516:名無しさん@お腹いっぱい。
03/07/07 05:29
>>515
PS1="%〜"
517:名無しさん@お腹いっぱい。
03/07/07 07:41
>>516
thx
518:名無しさん@お腹いっぱい。
03/07/10 02:44
zsh ってなんで、kill -TERM で死なないの?
519:名無しさん@お腹いっぱい。
03/07/10 03:07
Zombie shell とか。
520:名無しさん@お腹いっぱい。
03/07/10 12:00
>>519
座布団一枚!
521:名無しさん@お腹いっぱい。
03/07/15 00:15
%hoge 2>&1 1>/dev/null | cat
とやると、エラー出力だけが、出力されてほしいのですが、
標準出力も出力されてしまいます。
redhatの/bin/shでは、エラー出力だけ出力されました。
どうすればいいでしょうか
522:名無しさん@お腹いっぱい。
03/07/15 00:28
>>521
前スレの438
523:名無しさん@お腹いっぱい。
03/07/15 00:46
(hoge 2>&1 >/dev/null) | hogehoge でもいいけどね
524:521
03/07/15 01:11
>>522-523
ありがとう
525:山崎 渉
03/07/15 11:17
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
526:名無しさん@お腹いっぱい。
03/07/17 17:28
=(command)
<(command)
>(command)
の地害がマニュアル読んでもわかりません。
527:名無しさん@お腹いっぱい。
03/07/18 01:18
そうですか。
それは困りましたね。
528:名無しさん@お腹いっぱい。
03/07/18 01:23
< と = の違いは lseek がどうのとか書いてあるがどういうことなんだろう
誰か解説きぼん
529:名無しさん@お腹いっぱい。
03/07/18 12:23
パイプだとシークできねーよって話
530:名無しさん@お腹いっぱい。
03/07/22 23:13
パイポでタバコをやめますた。
531:_
03/07/22 23:14
URLリンク(homepage.mac.com)
532:名無しさん@お腹いっぱい。
03/07/29 16:38
>>467
巧くいくかどうかまだ試していないけど。
PROMPT='%{^O^[[0m^[(B^[)$B^[*I^[+$D%}'"$PROMPT"
「^O」「^[」はctrl+o,escを適当に入力してくださいな。
533:名無しさん@お腹いっぱい。
03/07/29 18:15
>>485
incremental-complete使うくらいならpredict使った方がいい。
うまくカスタマイズすれば相当打鍵数を減らせそうなんだが。
534:名無しさん@お腹いっぱい。
03/08/08 17:58
telnet コマンドなどで、サービス (ポート番号) の指定を
/etc/services の内容か何かから取ってきて補完してくれますが、
/etc/services を書き換えて、新しいサービスを追加したあと、
そのサービスも補完してくれるようにしたいのですが、どうすればいいでしょうか?
もしかして rehash かと思ったけど違いました (あたりまえか・・・) 。
535:名無しさん@お腹いっぱい。
03/08/08 18:02
>>534
zsh起動しなおしたら?
536:名無しさん@お腹いっぱい。
03/08/08 18:48
exec zsh
537:534
03/08/08 21:01
ん〜、なんだか、zsh を起動しなおさなくても、
しばらくすると、新しいサービスが補完対象になるようなんですが、
これってどういうからくりになってるんだろう・・・?
538:名無しさん@お腹いっぱい。
03/08/08 21:44
functions/_ports見ろ
539:名無しさん@お腹いっぱい。
03/08/12 05:20
FreeBSD の ports で4.0.6 から 4.0.7 にしたら TAB で 補完するときに
%P って文字が出て補完できなくなっちゃいました。
cd /usr/[TAB]
で
cd /usr/$P
となってしまうってことです。
誰か対処方法知りませんか?
540:名無しさん@お腹いっぱい。
03/08/12 22:16
X上でxterm,rxvt,kterm等で稼動してるzshから、バックグラウンドで起動したXクライアントが、
その親のzshを終了すると一緒に終了してしまうのだが。
zshからその子プロセスを終了させずにログアウトする方法ってあるのかな?
最初の'$ exit'で'zsh: you have running jobs.'って警告が返ってきて。
2回目の'$ exit'で子プロセスを巻き込んで終了するんよ…。
bashだと最初の'$ exit'で子プロセスに影響を与えずに終了してくれるんだが。(;´Д`)
541:名無しさん@お腹いっぱい。
03/08/13 00:53
>>540
disown してもだめ?
見当違いだったらスマソ
542:名無しさん@お腹いっぱい。
03/08/13 01:06
setopt NOHUP
543:名無しさん@お腹いっぱい。
03/08/13 12:07
>>541-542
ありがとう。
両方とも解決になったけど、簡単な方で~/.zshrcに`setopt NOHUP'を追記しました。
zshを筆頭にshellの扱いに精進するわ。
544:名無しさん@お腹いっぱい。
03/08/14 15:47
>>543
もいっこだけ。
& のかわりに &! でバックグラウンド実行する。
545:名無しさん@お腹いっぱい。
03/08/15 19:38
&| でも同じ。
546:あぼーん
あぼーん
あぼーん
547:あぼーん
あぼーん
あぼーん
548:名無しさん@お腹いっぱい。
03/08/18 13:30
空のディレクトリで echo * とコマンドラインを入力すると
zsh: no matches found: *
とエラーメッセージが返ってくるのですが。
B shellのように、* を展開出来ない場合に * をそのまま返すようには出来ませんか?
549:名無しさん@お腹いっぱい。
03/08/18 14:20
Software Design に akr さんの記事発見。入門記事なのでたいしたことは書いてないけれど。
550:名無しさん@お腹いっぱい。
03/08/18 14:22
>>548
うちの環境ではそうなってますが,どの設定が効いているのかわかりません...
setoptは,autocd autonamedirs autopushd nobeep cdablevars noclobber
completeinword correctall extendedglob extendedhistory noflowcontrol
globcomplete globsubst histignorealldups histignorespace histreduceblanks
histverify interactive login longlistjobs mailwarning monitor nonomatch
printeightbit pushdignoredups sharehistory shinstdin zle
ZSH_VERSION は,4.1.1 です.
551:548
03/08/18 15:51
>>550
setopt nonomatch
でした。
ありがとうございます。
552:名無しさん@お腹いっぱい。
03/08/18 21:56
この板みても自分でどう設定したら良くわからんから
誰かが作った設定ファイル(.zsh*)をアップしてくれ(゚Д゚)
553:名無しさん@お腹いっぱい。
03/08/19 01:57
cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/zsh checkout dot-zsh
554:名無しさん@お腹いっぱい。
03/08/19 15:19
>>552
とりあえず、これやっとけば補完はOK
autoload -U compinit
後は適当にsetopt
setopt interactive_comments
setopt numeric_glob_sort
setopt auto_cd
setopt noclobber
setopt share_history
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_reduce_blanks
setopt menucomplete
setopt list_packed
setopt prompt_subst
setopt autopushd
setopt pushdminus
setopt pushdsilent
setopt pushdtohome
setopt pushd_ignore_dups
setopt long_list_jobs
setopt complete_in_word
setopt extended_glob
setopt brace_ccl
setopt glob_dots
setopt printexitvalue
unsetopt rec_exact
unsetopt flow_control
555:名無しさん@お腹いっぱい。
03/08/21 00:04
autoload -U compinitだけじゃなくて
compinitも実行しておかないと意味が
ないような。
556:554
03/08/21 00:54
>>555
ごめん、忘れた。
557:名無しさん@お腹いっぱい。
03/08/23 12:56
>> 539
.zshrcでこんな設定してない?
zstyle ':completion:*' file-patterns '%p:globbed-files *(-/):directories' '*:all-files'
4.0.6に戻して使ってたけど、調べたらこれが原因みたいだったので外したら4.0.7でも動いた。
558:名無しさん@お腹いっぱい。
03/08/26 13:23
tcshだと
% whichoge
cの後にカーソルを合せてTABを押すと
% which hoge
とスペース付加して補完してくれるのですが
zshでやる方法はありますでしょうか?
他の例として
% cd /usr/bin
usrの後にカーソルを合せてTABを押すと
usr以下のディレクトリが表示され
lを押すと
% cd /usr/local/bin
と補完できるのですが
zshだと
% cd /usr//bin
としてからTabを押さないと補完できません。
誰か、簡単に補完する方法教えてください。
559:名無しさん@お腹いっぱい。
03/08/26 13:52
>>558
bindkey "^I" expand-or-complete-prefix
かな?
560:名無しさん@お腹いっぱい。
03/08/26 13:56
>>559
ほぼ望みどおりになりました。
サンクス!!
#コマンドの後に自動でスペース入れたり
#補完する語の後ろの語は解釈してくれないみたいで、ちょっと残念。
561:名無しさん@お腹いっぱい。
03/08/31 12:44
zshってどうやって発音している?
わたしは「ゼットシュ」って読んでいるんだけど。
562:名無しさん@お腹いっぱい。
03/08/31 13:01
ぜっとしぇる。
563:名無しさん@お腹いっぱい。
03/08/31 13:48
ぜっとえすえっち、、、
564:名無しさん@お腹いっぱい。
03/08/31 14:06
ぜっしゅ。
565:名無しさん@お腹いっぱい。
03/08/31 21:02
ずぃーしゅ
566:名無しさん@お腹いっぱい。
03/08/31 21:09
ずしゅ
567:名無しさん@お腹いっぱい。
03/09/01 03:13
じーしぇる
568:名無しさん@お腹いっぱい。
03/09/02 04:58
ソフトウェアデザインでちょこっと取り上げられてたけど
内容かなりしょぼかった。。なんだそりゃって感じ。
569:名無しさん@お腹いっぱい。
03/09/04 16:54
ひどい
570:名無しさん@お腹いっぱい。
03/09/04 18:18
zsh % echo a
a
zsh % echo -n
zsh % echo -n a
zsh % sh
$ echo -n a
a$
設定か何かで改行がないときも sh と同じ挙動にならないでしょうか?
571:名無しさん@お腹いっぱい。
03/09/04 18:57
>>570
setopt promptcr
572:570
03/09/04 20:22
>>571
ありがと
573:名無しさん@お腹いっぱい。
03/09/04 23:04
しかしFAQもいいところだな
574:名無しさん@お腹いっぱい。
03/09/05 02:20
そもそもなんでこんな挙動がデフォルトなんだ?
575:名無しさん@お腹いっぱい。
03/09/05 03:34
それも FAQ の一部だな
576:名無しさん@お腹いっぱい。
03/09/05 04:08
>>575
ほんなら>>574の答きぼんぬ。
577:名無しさん@お腹いっぱい。
03/09/05 16:56
> プロンプトの前に改行(CR, キャリッジリターン)を表示するオプション PROMPT_CR は、デフォルトで設定されている。
> これは、行が左端の列から始まらない限り、右端のプロンプト($RPROMPT, $RPS1)が適切な位置に表示されず、
> 複数行編集の場合は行位置に混乱をきたす。 PROMPT_CR なしでも、プロンプトに改行を入れることで、強制的に
> 同様のことを起こすこともできる
578:名無しさん@お腹いっぱい。
03/09/05 18:17
右プロンプトって便利?
579:名無しさん@お腹いっぱい。
03/09/05 18:25
>>578
pwdを表示するには便利
580:{%~}[%D{%H:%M}]
03/09/05 18:28
>>578
無いと生きていけないかっていうとそんなことはないが、無いと不便。
581:名無しさん@お腹いっぱい。
03/09/05 18:57
hoge=fuga
fuga=hage
のときに
$hogeの値を評価してhageを得る方法を教えてください。
582:名無しさん@お腹いっぱい。
03/09/05 18:59
不便って程のこともないだろ。
左プロンプトが長くなりすぎないように、右プロンプト表示させたり
そんな程度だろ。
まあプロンプトも改行できる事を知れば、わざわざ出たり消えたりする
ウザい右プロンプト使うのも馬鹿らしくなるさ。
そんな事言いつつも、コマンドの返り値を表示させてる俺。
PROMPT=$'%{\e[33m%}-=[%{\e[00m%}%n@%m%{\e[33m%}]-[%{\e[00m%}%l%{\e[33m%}]--[%{\e[00m%}%c%{\e[33m%}]---[%{\e[00m%}%T %W%{\e[33m%}]=-%{\e[00m%} \n%{\e[33m%}-{%E% %{\e[00m%} '
RPROMPT=$'%{\e[33m%}}-{%{\e[00m%}%?%{\e[33m%}}-%{\e[00m%}'
583:名無しさん@お腹いっぱい。
03/09/05 19:03
なんか、右側だと右に目をやらなくちゃならいないのが鬱陶しくないですか?
慣れの問題なのかな
584:名無しさん@お腹いっぱい。
03/09/05 19:05
そんなに画面広いん?
あ、Xの仮想端末使わないでコンソールオンリー?
フレームバッファで、だだっ広く表示してたら確かに目疲れるわな。
わざわざ、右に表示するくらいなら
改行いれて二段で表示しる。
585:名無しさん@お腹いっぱい。
03/09/05 19:16
仮想端末をフルスクリーンに広げて使ってるけど
RPROMPT='[%~ %*]' にしてる。
プロンプトを2行にするのも試してみたけど自分にはいまいち合わなかった。
586:名無しさん@お腹いっぱい。
03/09/05 19:21
>>585
慣れないうちは、俺もウザいと思った>改行
587:名無しさん@お腹いっぱい。
03/09/05 19:35
>>582
setopt print_exit_valueで非0のコマンドの返り値を表示してくれる。
bashの$#はないのか? 現在のシェルでのコマンド数ってやつ。
autoload promptinit
autoload prompt
promptinit
prompt clint
3行のプロンプト
588:583
03/09/05 19:36
>>584
いや、X 上のターミナルです。
結構幅を狭くしても気になっちゃうんだよね。
二段も試したけど、いちいち二行占有されるのがうっとうしくて。
俺には向いてないって事なのか、、
589:名無しさん@お腹いっぱい。
03/09/05 19:38
>>587
%!
590:名無しさん@お腹いっぱい。
03/09/05 19:40
>>589
それはヒストリの数で、bashの\#($#ではなかったです。)はシェルを新たに起
動すると1から始まる
591:名無しさん@お腹いっぱい。
03/09/05 21:11
プロンプト2行とか言ってる香具師は、知的障害者か気違い
RPROMPT最強
zsh最高
592:名無しさん@お腹いっぱい。
03/09/05 21:14
RPORMPTがないと困ります
というか必需品です。
ほんと最高の機能だと思います
使わない香具師は基地外
>>582,584は人として間違っていると思います
倫理 道義に反しています。
気違いは死ね
593:名無しさん@お腹いっぱい。
03/09/05 21:16
>>582なんか調子こいて
プロンプト晒したものの、単なるオナーニプロンプト
自己満足がそんなに好きですか きもいですよ。
玄人は一行だけで 色つけもなし 必要な情報は右プロンプトに表示させるんですよ。
わかりますか?>>582は独り善がりな基地外なんですよ キモイ 死ね
594:名無しさん@お腹いっぱい。
03/09/05 21:18
(´-`).。oO(カッコつけて二行にするのはなんでだろう?)
595:名無しさん@お腹いっぱい。
03/09/05 21:18
(´-`).。oO(2行ってかっこいいのか?ダセーよキモイし)
596:名無しさん@お腹いっぱい。
03/09/05 21:19
(´-`).。oO(>>582はキモヲタ)
597:一行でも二行でもなんでもいいだろが
03/09/05 21:21
なんかウザいのが粘着してるな
zshユーザーってこんなのばっかりなのか?
598:名無しさん@お腹いっぱい。
03/09/05 21:25
本当に本が欲しいところ。ハァァ…
599:名無しさん@お腹いっぱい。
03/09/05 21:26
>>597
ウザくない奴は書き込まないから、こういうのばかり目立って
zshユーザはこんなのだ。と勘違いしているだけ。
600:名無しさん@お腹いっぱい。
03/09/05 21:29
>>597 厨房必死だな
おまえなんか死ね
zsh最強
601:名無しさん@お腹いっぱい。
03/09/05 22:05
zshは正直ウザいね
602:名無しさん@お腹いっぱい。
03/09/05 22:52
ia64-hp-hpux11.23な環境でzsh4.1.1をなんとかmakeして
make test したんですがcompletionなどいくつかのテストで
ハングアップしてしまいます。
気にしなくても大丈夫ですか。
603:名無しさん@お腹いっぱい。
03/09/05 23:34
zsh を Emacs の shell 上で使うには M-x term がベストかなと思っていますが、
term 上で cd してから、C-xC-f すると shell のディレクトリと
buffer のディレクトリが合わなくってしまうので、まだ使っていません。
この辺解決された方いますか?
604:名無しさん@お腹いっぱい。
03/09/06 01:18
>>603
子プロセス (term の中の shell) のカレントディレクトリを得るのが難しいから
無理そうな気もするね。
それこそ、 RPROMPT に埋め込んだカレントディレクトリを term が watch しとく、
みたいなんができると解決できるのかな?
605:603
03/09/06 02:01
>>604
仰せの通り、カレントディレクトリはプロンプトから得れば良いですが、
term-send-raw() に advice する時にちょっと工夫しないとダメそうです。
この関数は何か入力されるとコールされる関数のようですので、
`Enter'が入力された時だけ default-directory を更新し、
`a'が入力された時などは子プロセスのカレントディレクトリを
検索しないようにしないと使い物にならないみたいです。
606:名無しさん@お腹いっぱい。
03/09/06 03:21
>>581
echo ${(P)hoge} ${(P)${hoge}}
zshexpnのParameter Expansion FlagsのPのところに
そのものずばりの例がある。
| P This forces the value of the parameter name to be interpreted as
| a further parameter name, whose value will be used where appro-
| priate. If used with a nested parameter or command substitution,
| the result of that will be taken as a parameter name in the same
| way. For example, if you have `foo=bar' and `bar=baz', the
| strings ${(P)foo}, ${(P)${foo}}, and ${(P)$(echo bar)} will be
| expanded to `baz'.
607:581
03/09/06 09:05
>>606
ありがとう。
${(P)$(echo bar)}こんなこともできるんですね。
608:名無しさん@お腹いっぱい。
03/09/06 14:15
右プロンプト邪魔臭いよね。俺は端末エミュレータのタイトルに色々
表示させてる。結構便利。
609:名無しさん@お腹いっぱい。
03/09/06 17:10
X上ではいいが、普通のコンソールではそれができないからなあ
610:名無しさん@お腹いっぱい。
03/09/06 17:23
%20<...<%~%<< とかやって適当に切り詰めてみては
611:名無しさん@お腹いっぱい。
03/09/06 17:29
URLリンク(www.dreaming.org)
bashのプロンプトだけど、画面の右上にプロンプトが出る。
612:名無しさん@お腹いっぱい。
03/09/08 01:27
たしかに、わざわざ右見るのが嫌で
%3~ とかしてるので、PWDを表示する用途ではRPOMPTは必要なしだな。
で、RPOMPTは何に使ってるの?
613:名無しさん@お腹いっぱい。
03/09/08 06:54
>>612
pwd
614:名無しさん@お腹いっぱい。
03/09/08 07:45
>>612
PWD
615:名無しさん@お腹いっぱい。
03/09/08 17:48
>>612
おれはpwdだ。
616:名無しさん@お腹いっぱい。
03/09/10 00:42
$と%って、なんか歴史的な意味合いがあるの?
617:名無しさん@お腹いっぱい。
03/09/11 13:53
>>612
時刻{ヒストリ# or Error#}ホスト名
618:名無しさん@お腹いっぱい。
03/09/11 18:23
時刻 いらね
ヒストリ# いらね
ホスト名 左
pwd 左
619:名無しさん@お腹いっぱい。
03/09/11 20:31
プロンプトなー。俺はこんな感じにしてる。
PS1=$'[%n@%m] (%~)\n%# '
2行って初めは違和感あったけど、慣れると使いやすい。
RPS1は初めのころ使ってたけど、出たり消えたりするのが
ちょい欝陶しかった。
620:名無しさん@お腹いっぱい。
03/09/12 01:47
二行とかいうと
またウザいのが粘着しだすからやめて。
621:名無しさん@お腹いっぱい。
03/09/12 04:33
3行以上って香具師いる?
622:名無しさん@お腹いっぱい。
03/09/12 09:55
ホスト名とかはscreenのcaptionに表示させてるYO!
623:名無しさん@Emacs
03/09/12 12:20
kterm 使ってたときは、プロンプトは % だけの
シンプルなものにして、ホスト名とディレクトリは
status line に表示させたりしてたな。
624:名無しさん@お腹いっぱい。
03/09/12 17:15
>>582
設定パクらせていただきますた。
625:名無しさん@お腹いっぱい。
03/09/12 22:56
zshで
cd /u/l/b [TAB]
で
cd /usr/local/bin
と補完する方法はありますか?
あったら教えてエロい人!!
626:名無しさん@お腹いっぱい。
03/09/12 23:24
>>625
できるけど、どの設定か忘れた。
オプションは>>554
627:名無しさん@お腹いっぱい。
03/09/12 23:56
>>626
compinitか…。
多少マンドクサくても、compinit使わずにやりたいんですけど
無理かなぁ…。
古いマニュアル(compinitがない時代の)を見ると
complate_in_wordを追加して
bindkey "^I" expand-or-complete-prefix
compctl -D -f + -U -Q -K multicomp
とすれば
cd /u/l/bを補完できる と書いてあるんですが
zsh 4.1.1じゃ上手くいかない…。
何かが足りないのか、バージョンによる違いなのか…。
628:名無しさん@お腹いっぱい。
03/09/13 00:30
>>627
>>626 は「オプションは」と言っとるだろが。 setopt complete_in_word じゃないの?
629:628
03/09/13 00:36
あぁ、後半読んでなかった。確かに compinit 使わないとうまくいかない。逝ってきます。
630:名無しさん@お腹いっぱい。
03/09/15 19:14
zsh重すぎ
こんなの常用してる香具師の気がしれんな。
シェル一個起動するの1秒〜3秒かかる。
ログインした後のzsh初回起動は5秒。
tcsh
bash
ksh
なら、呼び出した途端に起動するというのに。
631:名無しさん@お腹いっぱい。
03/09/15 19:16
compinitが重い原因なのわかるが
こいつがなきゃロクに補完もできないじゃないか。
compctlは設定まんどくさすぎ。
zsh最低。
632:名無しさん@お腹いっぱい。
03/09/15 20:02
Zsh 、良くも悪くも富豪シェル
633:名無しさん@お腹いっぱい。
03/09/15 20:20
shellなんてそう頻繁に起動するもんじゃないし、いいじゃないか。
634:名無しさん@お腹いっぱい。
03/09/15 20:45
>>633
screen使うようになると、shellバンバン起動します。
あ、それともzshユーザーはshellは一個で我慢してるの?
635:名無しさん@お腹いっぱい。
03/09/15 20:45
>>633
>>630 はシェルスクリプトに tcsh やら zsh を使ってるアホ
636:名無しさん@お腹いっぱい。
03/09/15 20:46
>>634
まっとうな screen 使いはめったに shell 終了させないのでめったに起動もしません。
637:名無しさん@お腹いっぱい。
03/09/15 20:56
>>636
cd や lsにしかshell使わないならそれもいいだろうけど
フォアグラウンドで時間のかかる処理させてると
もう一個シェル欲しくなるのは人情というものではなかろうか。
zsh使い = cd lsだけで満足してる痛い人
という認識でよろしいか?
638:名無しさん@お腹いっぱい。
03/09/15 20:57
>>636
確かに1つは上げっぱなしだけど、screen の window をちょくちょく増やした
りしない?
639:名無しさん@お腹いっぱい。
03/09/15 20:59
>>638
まっとうなscreen使いはwindow1つです。
アタッチもデタッチもしません。
screen一つです。
640:名無しさん@お腹いっぱい。
03/09/15 21:04
まあ、ある意味zsh + screen使いは強者だな。
悪く言えば馬鹿なんだろうけど。
641:名無しさん@お腹いっぱい。
03/09/15 21:07
>>635
スクリプトとしてzshを使う場合
重い印象ないんだけどね。
メモリもそんなに喰わないし。
むしろ強力なファイル名生成機能が素晴しく使い易いんだが。
システムの中心を担うスクリプトには使わないけど
ユーティリティとしてのスクリプトにはzsh使うと
簡潔に書ける。
でも、compinitしてるときはわからん。
うちはcompinitしない主義なので。
642:名無しさん@お腹いっぱい。
03/09/15 21:11
別にシェルの起動が5秒短くなったところで、仕事の効率は変わらないよ。
643:名無しさん@お腹いっぱい。
03/09/15 21:15
>>642
それ、負け惜しみとも泣き言とも取れるんですが。
そんなこと言わずに、改善していきましょうよ。
5秒も待たされるこのイライラ。
俺は嫌でたまりませんね。
廃れゆくcompctlで頑張ってますが
いつ、まともに動かなくなるか。
644:名無しさん@お腹いっぱい。
03/09/15 21:21
screen+zsh だったらバックグラウンドで起動すればいいんじゃない?
確かに時間かかるけど、せっかくマルチタスクなんだからじっと待つ
必要はないわけだし。
645:名無しさん@お腹いっぱい。
03/09/15 21:23
zshで唯一 絶対的に他のものより優れていえる部分は
ファイル名生成機能とコマンドラインスタックだと思う。
そのためだけに使ってるといってもいい。
(つまり、それほどの魅力がある)
補完なんか、tcshとそれほど変らないし
単語中の補完なんかはtcshの方が親切だったりする。
compinitで補完が完璧になるという手軽さも利点かもしれないが
当然重くなるというリスクもある。
最強 といえば最強なんだろうけど
相対的なバランスでいけば
bashあたりが無難でいいと思う。
ログインシェルはtcsh
スクリプトはbash
とかもいいと思う。
646:名無しさん@お腹いっぱい。
03/09/15 21:27
>>644
zsh単体でもバックグラウンドでもいいと思うが
処理内容を表示"させたい"場合はバックグラウンドに回すと
えらい邪魔くさい思いをすることになる。
(プロンプトが表示されたと思ったら処理内容が流れてきて邪魔する)
フォアグランドで動かして、screenで別にWindowにして
そっちで続きの作業する。もしくは別の仮想端末立てて
作業を同時進行する。これもマルチタスクらしい使い方だと思うけど。
ただ、zshユーザーは、大事な処理内容は捨てるか、ファイルに落して
リアルタイムに監視したい場合も、我慢して処理終了後に確認するわけね。
647:名無しさん@お腹いっぱい。
03/09/15 21:30
普通にもう一つシェルを起動させればいいじゃない。
待ち時間が我慢できない人は他のシェルを使えばいいだけだし。
648:名無しさん@お腹いっぱい。
03/09/15 21:32
そうです!
zshは最強なんだから改善の余地などないのです!!
どんどん機能盛り込んで重くなることこそが目的なのです!!
性能低いビンボー人は死ぬまでkshでも使ってなさい!!
649:名無しさん@お腹いっぱい。
03/09/15 21:33
zsh = Unix界のWindows
650:名無しさん@お腹いっぱい。
03/09/15 21:42
age
651:名無しさん@お腹いっぱい。
03/09/15 21:50
もう夏休み終わったんだけどなー
652:名無しさん@お腹いっぱい。
03/09/15 21:51
夏休みが終ったからzshユーザーはいなくなったんですね。
653:名無しさん@お腹いっぱい。
03/09/15 21:53
zshは最強だよ
間違いない
最強のシェル
654:名無しさん@お腹いっぱい。
03/09/15 22:01
>>641
compinitはふつー.zshrcでやるものなので、
スクリプト(=対話モードで起動されていない)
では実行しないのでは?
655:名無しさん@お腹いっぱい。
03/09/15 22:05
>>654
だね。
だからスクリプトとして実行するときは重くないわけだ。
まあ、kshやらbashからしてみりゃデカいが
zshでスクリプトやるのも面白いよ。
656:名無しさん@お腹いっぱい。
03/09/15 22:06
熱くなってるとこ悪いんだけど、zsh でも複数起動はできるんだよ。
確かに起動は遅いけど、待ってれば起動するんだよ。
657:名無しさん@お腹いっぱい。
03/09/15 22:10
そうです!!
zshユーザーはセッカチな厨房とは違うのです!!
とにかく待つのです!!メモリをいくら消費しようとも気にならない寛大さがあります!!
658:名無しさん@お腹いっぱい。
03/09/15 23:10
煽るといろんな意見や本音が聞けて楽しい。
659:644
03/09/15 23:33
>>646
いや、screen で Create したまま放っておけばいいのでは、って後半に
書いてるね。誤解を招く表現でスマソ。
660:名無しさん@お腹いっぱい。
03/09/15 23:35
>>646
アファなの?
661:名無しさん@お腹いっぱい。
03/09/15 23:41
zshユーザー必死
662:名無しさん@お腹いっぱい。
03/09/15 23:45
>>661
zsh スレで必死になるぶんにはええやん。
663:名無しさん@お腹いっぱい。
03/09/15 23:52
>>662
たしかに
イキロ zshユーザー
664:名無しさん@お腹いっぱい。
03/09/16 10:32
$ ps ax |grep zsh
1081 ttyp0 S 0:00 grep zsh
$ time zsh -c 'autoload compinit;compinit;exit'
real 0m0.239s
user 0m0.070s
sys 0m0.030s
$ time zsh -c 'autoload compinit;compinit;exit'
real 0m0.099s
user 0m0.080s
sys 0m0.020s
$ time zsh -c 'autoload compinit;compinit;exit'
real 0m0.100s
user 0m0.060s
sys 0m0.040s
$
試しに計測。0.3秒でした。
665:名無しさん@お腹いっぱい。
03/09/16 10:54
zsh + screen + nxt が最強
666:名無しさん@お腹いっぱい。
03/09/16 11:25
以前から起動に5秒とかいってるやつって、
100MHzぐらいのマシン使ってるの?
667:名無しさん@お腹いっぱい。
03/09/16 11:38
対話的に実行される場合と
スクリプトとして実行される場合の区別もつかない香具師がいるようです
668:名無しさん@お腹いっぱい。
03/09/16 14:40
WinホストのVMware内のFreeBSD + screen + zshでwindow増やすと
HDDがスリープしてるときは、5秒ぐらいかかるね。
669:名無しさん@お腹いっぱい。
03/09/16 14:43
Cygwinのzshだけど、1秒以内で起動するよ
670:名無しさん@お腹いっぱい。
03/09/16 15:16
ちゃんとcompinitしてる?
いいなぁ。
671:名無しさん@お腹いっぱい。
03/09/16 15:16
>>667
もしかして、>>664 では compinit が実行されないと言うことですか。
ではどうすればいいのだろう。
time zsh -c '. ~/.zshrc;exit'
time kterm -e zsh -c exit
こんな感じ?
>>668
それは zsh の実行速度とは関係ないような...
672:名無しさん@お腹いっぱい。
03/09/16 19:50
screenで最初に3つぐらい起動しとけば、平均一週間くらいもつから起動時間
なんて気にしない。
echo $SECONDS
106345
673:名無しさん@お腹いっぱい。
03/09/16 20:05
漏れも screen 内に常時 5匹 zsh 飼ってて、
終了したり新たに立ち上げたりとかは滅多にしないので、
起動に時間掛かっても気にならないなぁ。
674:名無しさん@お腹いっぱい。
03/09/16 20:43
俺10匹.でもCtrl-Dでよく死ぬのでちょくちょく起動し直してる
でもあまり気にならない.zshが古いからかな
675:名無しさん@お腹いっぱい。
03/09/16 21:00
ファイル名生成機能(というか**/)だけのために zsh 使ってるんですが
他に使えるシェルないですか?
676:名無しさん@お腹いっぱい。
03/09/16 21:01
>>674
3.0.5あたりか?だとしたら古過ぎ。
677:674
03/09/16 21:18
3.0.8みたいです.古すぎ?
678:名無しさん@お腹いっぱい。
03/09/16 21:23
>>677
軽すぎ。
679:名無しさん@お腹いっぱい。
03/09/16 21:26
>>677
バッファに^Dが残ってしまうという問題がその頃に修正されたのでは
なかったかな? URLリンク(www.zsh.org)
俺は最初からignoreeof派なのでzshが落ちるということはなかったが
680:674
03/09/16 21:43
>>679
それはならないみたいです.
ただ単純に連打しすぎるだけです.
使い慣れてないので,あまりバージョンによる違いがわかりません...
軽いならいっかな.
681:名無しさん@お腹いっぱい。
03/09/16 21:52
www.namazu.org/~satoru/diaryを真似して時間を測ってみた。
zsh -c "repeat 1000 ash -c ''" 0.39s user 0.75s system 25% cpu 4.460 total
zsh -c "repeat 1000 bash -c ''" 0.88s user 1.79s system 24% cpu 10.816 total
zsh -c "repeat 1000 tcsh -fc ''" 2.35s user 3.97s system 25% cpu 24.902 total
zsh -c "repeat 1000 zsh -fc ''" 1.03s user 2.66s system 20% cpu 18.400 total
682:676=679
03/09/16 22:01
>>680
> ただ単純に連打しすぎるだけです
ignoreeofは?
> 使い慣れてないので,あまりバージョンによる違いがわかりません...
俺も長い間3.0.x系に留まっていたので最近の補完機能はわからん。
かといって当時書いた補完の設定を移植するのも面倒なので最近は
ファイル名生成({01..52}とかw)だけのためにzshを使っている。
683:名無しさん@お腹いっぱい。
03/09/16 22:24
4.0.4使ってるが、compinit 利用してても
1GHzマシンで1秒もかからんぞ。
684:名無しさん@お腹いっぱい。
03/09/16 22:26
連打するような状況のときは Alt + D しる
685:674
03/09/16 22:35
>>682
^Dで終了するのも好きなので,まあたまに間違ってもいいかなあと
>>684
Alt+Dでどうなるの?
やってみてもzsh終了するけど.やり方が違うのか?
686:名無しさん@お腹いっぱい。
03/09/16 22:48
3.1.6あたりで、compinitせずに使うのが理想的かも
軽い軽い
687:名無しさん@お腹いっぱい。
03/09/16 22:52
ちなみに、compinitが正式採用されたのは3.1.6。
multicomp使いたいので、3.1.5にしようかと思ったら
ラージファイルに対応してなかった。
vmware使ってるとデカいファイル扱うことがあるので
ラージファイル必須。
688:名無しさん@お腹いっぱい。
03/09/17 17:49
zshだめぽ
kshが最強です。
689:名無しさん@お腹いっぱい。
03/09/17 17:57
pdkshにzshにglobが移植できないものかと奮闘中
すげー難しいです。
690:名無しさん@お腹いっぱい。
03/09/20 03:51
ファイル名補完の順番を、カレントディレクトリのものを最優先
にするにはどうすればいいんでしょうか?
691:名無しさん@お腹いっぱい。
03/09/20 03:55
何もせずともカレントのものを優先してますが何か?
692:690
03/09/20 05:07
そうならないことがあるんですが。
CDPATHを設定しているせいでしょうか?
693:名無しさん@お腹いっぱい。
03/09/21 22:46
>>581
eval echo \$$hoge
eval echo $`echo $hoge`
eval $hoge=aaaa
694:名無しさん@お腹いっぱい。
03/09/22 00:53
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH"
と
path=( /bin /usr/bin /usr/local/bin $path )
って結果が違うんだな
695:名無しさん@お腹いっぱい。
03/09/22 09:11
>>694 いっしょじゃねーかよ。
696:名無しさん@お腹いっぱい。
03/09/23 18:12
zshってutf8に対応してないの?
697:名無しさん@お腹いっぱい。
03/09/23 18:14
>>696
端末依存だぞ。
698:名無しさん@お腹いっぱい。
03/09/23 18:41
>>696
「対応」ってどのレベルの話を言ってる?
699:名無しさん@お腹いっぱい。
03/09/23 18:44
表示くらいしかないでしょ
700:名無しさん@お腹いっぱい。
03/09/24 00:22
>>696
ちがうだろ、
export PATH="/bin:/usr/bin" したあと
export PATH="/bin:/usr/bin:$PATH" を数回した$PATHと
path=( /bin /usr/bin $path ) を数回した$PATHを比べてみろ
701:700
03/09/24 00:23
スマン s/696/695/
702:名無しさん@お腹いっぱい。
03/09/24 12:31
>>700
まったく同じでしたが。
703:名無しさん@お腹いっぱい。
03/09/24 12:36
>>700
重複が削除されるかのような書き方だが、
俺も結果は同じだった。
バージョンの違いかな。
$ zsh --version ~
zsh 4.0.7 (i686-pc-linux-gnu)
$ cmp =(zsh -c 'export PATH="/bin:/usr/bin:$PATH";echo $PATH') =(zsh -c 'path=( /bin /usr/bin $path );echo $PATH')
$
704:名無しさん@お腹いっぱい。
03/09/24 15:16
>>696
現時点ではbash以外はだめらしい。
705:名無しさん@お腹いっぱい。
03/09/24 17:43
for i (hoge) { echo $i }
とかの{}の中で補完って効く?
706:700
03/09/24 18:02
スマン、typeset -U path してたからだ。
707:名無しさん@お腹いっぱい。
03/09/24 18:26
>>705
なぜかセミコロンを入れたら補間できるようになった。
for i (hoge) { ;echo $i }
708:名無しさん@お腹いっぱい。
03/09/24 23:30
% grep '^ls$' .zsh-history| wc -l
8283
% wc -l .zsh-history
36710 .zsh-history
709:名無しさん@お腹いっぱい。
03/09/25 00:04
lsとかcdとかをヒストリに入れたくないときは
コマンドの前にスペースを入れたものをaliasしておくと良いよ。
alias cd=' cd'
alias ls=' ls -F --color=auto'
こんな感じ。
そうすればヒストリがcdとかlsまみれになることはない。
710:名無しさん@お腹いっぱい。
03/09/25 02:46
重複が嫌なら
typeset -U path PATH
typeset -U fpath
とか。
>>709
関連するsetoptは?
711:名無しさん@お腹いっぱい。
03/09/25 03:08
>>710
わすれてた
HIST_IGNORE_SPACE
これで行頭にスペースがあればヒストリに追加されない。
うちは、これくらいHIST関連のつけてる
setopt extended_history APPEND_HISTORY HIST_EXPIRE_DUPS_FIRST HIST_IGNORE_ALL_DUPS HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE HIST_NO_STORE HIST_REDUCE_BLANKS HIST_SAVE_NO_DUPS
ヒストリが増えればその分メモリ食うようになるので
できるかぎり削ってくれるようにしてる。
712:名無しさん@お腹いっぱい。
03/09/25 03:11
一年ぶりくらいに見たらアホが常駐するスレになってますね。
713:名無しさん@お腹いっぱい。
03/09/25 03:13
>>709-711
おまえらの事だよ
714:名無しさん@お腹いっぱい。
03/09/25 03:16
>>712=713が一番アフォな書き込みに見えるんだが
715:712
03/09/25 03:22
違いますよ。
>>600-700,712-714 あたりのことです。
716:名無しさん@お腹いっぱい。
03/09/25 11:19
>>708
sort ~/.zhistory|uniq -c |egrep -v '[ \t]*1'|wc -l
11
hist_ignore_all_dupsにしてあるから、重複が11行でした。なんで0じゃない
かっていうと、数行のコマンドの1行が重複するってのがあるから。
>>711
zshをたくさん立ち上げてるなら、share_historyにした方がいいよ。
オプションの説明はここを見ました。
URLリンク(www.ayu.ics.keio.ac.jp)
717:名無しさん@お腹いっぱい。
03/09/28 12:52
cygwinスレでも聞いたんですが反応が無かったのでこちらでも
伺わせて下さい.
cygwin rxvtでzshを使ってるんだけど, exitとかせずに右上の×ボタンで
終了するとそのディレクトリにzsh.exe.stackdumpができるのは
私だけですか?
718:名無しさん@お腹いっぱい。
03/09/28 15:49
>>717
> cygwinスレでも聞いたんですが反応が無かったのでこちらでも
> 伺わせて下さい.
えらそう。
719:名無しさん@お腹いっぱい。
03/09/28 16:05
>>718
(´,_ゝ`)プッ
720:名無しさん@お腹いっぱい。
03/09/28 17:21
>>717
なんのスタックかわからないけど
次回のためにスタック保存してるんじゃないの?
憶測でもうしわけないけど。
#ディレクトリスタックかコマンドラインスタックくらいしかおもいつかない
721:名無しさん@お腹いっぱい。
03/09/28 17:56
>>720
Cygwin の *.stackdump ってのは core みたいなもんかと。
zsh のバージョンは何?
722:名無しさん@お腹いっぱい。
03/09/28 18:46
coreなのか。
ナルホド
723:名無しさん@お腹いっぱい。
03/09/29 12:57
zshのバージョンは4.0.6ですが, 前からこの症状は再現していたような気がします.
偉そうでスミマセン…
724:名無しさん@お腹いっぱい。
03/09/29 17:26
偉そうでごめんなさい って
「美しすぎてごめんなさい」
「天才すぎてごめんなさい」
みたいな
725:名無しさん@お腹いっぱい。
03/09/29 19:13
ひがみっぽくてごめんなさい
726:名無しさん@お腹いっぱい。
03/09/29 21:22
迷惑かけて、ありがとう
727:名無しさん@お腹いっぱい。
03/09/29 22:59
3べん回ってワンと鳴く
728:名無しさん@お腹いっぱい。
03/10/05 16:56
>>724
それなら「偉くて/偉すぎてごめんなさい」じゃねーか?
729:名無しさん@お腹いっぱい。
03/10/06 02:45
美しそうでスミマセン…
730:名無しさん@お腹いっぱい。
03/10/11 16:14
おはようございます
2003/5月号
zshマスター 最終回
「compsysを利用した補完機能の設定」
どうでした?
呼んだ人感想キボン
731:名無しさん@お腹いっぱい。
03/10/11 19:00
viモードの場合、コマンドラインスタックってどーやるの?
732:名無しさん@お腹いっぱい。
03/10/11 20:39
適当なキーに割り当てなされ
733:名無しさん@お腹いっぱい。
03/10/13 05:32
terminfo ファイルをホームの中に入れている場合、~/.zshrc の中で、export
TERMINFO=$HOME/.terminfo みたいなことをやっても、zsh には反映されません
よね。こういう場合どのように対処するのが zsh 流なのでしょうか?
TERM=$TERM というのは無しとします。
734:名無しさん@お腹いっぱい。
03/10/13 07:35
質問の意味がよくわからん。なにが反映されないのか
735:名無しさん@お腹いっぱい。
03/10/13 08:30
>>734
試しに、TERM=noexist zsh で zsh を起動させると、カーソルの移動もままな
りませんよね。その後 TERM=xterm などとしてやることによって、カーソルの
移動が出来るようになります。
私の場合 root 権限を持たなにので、ホームディレクトリに terminfo をイン
ストールしているのです。で、.zshrc で、$TERMINFO を設定してやっても、既
に zsh が起動しちゃっているので、上と同じようなことになります。理解して
いただけたでしょうか。
736:名無しさん@お腹いっぱい。
03/10/13 15:47
ものすごく偉そうな教えて君ハケーン
737:名無しさん@お腹いっぱい。
03/10/13 16:07
zsh 使うならまず態度から、と考えているのだろう
738:名無しさん@お腹いっぱい。
03/10/13 19:21
これをえらそうだと感じるのは、よほど卑屈な思いをしているのか
739:名無しさん@お腹いっぱい。
03/10/13 19:25
>>736
そうかな?
>>737 == >>736 ?
740:名無しさん@お腹いっぱい。
03/10/13 19:33
というか普通に使えてるぞ
741:名無しさん@お腹いっぱい。
03/10/13 19:45
>>735
.zshenvに書いたらできたぞ。
export TERMCAP=$HOME/.termcap
export TERMINFO=$HOME/.terminfo
TERM=$TERM
742:名無しさん@お腹いっぱい。
03/10/13 19:46
>>740
日本語の修行がたりませんね。
743:名無しさん@お腹いっぱい。
03/10/13 19:47
>>741
>>733
> TERM=$TERM というのは無しとします。
744:名無しさん@お腹いっぱい。
03/10/13 20:00
ということで、
TERM=$TERM
とするのがzsh流です。
745:名無しさん@お腹いっぱい。
03/10/13 20:02
>>744
ださっ。
746:名無しさん@お腹いっぱい。
03/10/13 20:02
>>741
> .zshenvに書いたらできたぞ。
.zshenv に書かなくてもできます。というか、.zshrc に書くべきでは?
747:名無しさん@お腹いっぱい。
03/10/13 22:07
>>744
わろた
748:名無しさん@お腹いっぱい。
03/10/15 15:17
>>38
> setopt:133: no such option: PRINT_CHEESE_BIT
うちではPRINT_EIGHT_BITで成功した。ちなみに4.0.4。
749:名無しさん@お腹いっぱい。
03/10/15 23:23
今頃ネタにマジレスとは…
750:名無しさん@お腹いっぱい。
03/10/18 14:32
zshを使おうとしてみたのですが、tabでカーソルが進まないようにするにはどうしたら良いでしょう?
bashではこんなふうにならないんですが。
751:名無しさん@お腹いっぱい。
03/10/18 16:01
ハァ?
752:750
03/10/18 18:04
いや、マジで。
シェル上だってのに、テキストみたいにタブでカーソルが飛んでいく…
環境
・RedHat Linux 9
・RPMでインストール。入れたのは↓
URLリンク(rpmfind.rediris.es)
753:名無しさん@お腹いっぱい。
03/10/18 18:07
%wh[tab]
#whichを期待
%wh□
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5337日前に更新/219 KB
担当:undef