zsh入門 パート2
..
452:名無しさん@お腹いっぱい。
03/06/08 15:30
NetBSD-1.6.1 で
% kill
ここで TAB を2 かい押すと↓こうなって、
217 E0 SWs 0:00.00 -zsh
225 E0 SW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx
237 E0 SW+ 0:00.00 xinit /home/hirobo/.xinitrc --
246 E0 S 0:01.75 wmaker
251 E0 S 0:00.26 kinput2 -ccdef ccdef.kinput2.egg -canna -cannaserver 127.0.
320 p2 Ss+ 0:00.78 zsh
338 p2 SN 1:26.35 emacs
544 p0 SNs+ 0:01.93 /usr/pkg/bin/ruby -S migemo -t emacs -i \a -d /usr/local/sh
558 p1 SNs+ 0:05.01 /usr/pkg/lib/mozilla/mozilla-bin URLリンク(bo.st72.arena.ne.jp)
594 p3 Ss+ 0:00.20 zsh
601 p3 S+ 0:00.02 zsh
602 p3 R+ 0:00.00 ps
もういっかい押すと、
kill /bin/sh とかになって PID ではなく名前が補完されるのですが、どうす
れば、PID が出てくるようになるでしょうか。
453:名無しさん@お腹いっぱい。
03/06/08 17:02
>>446
> [ self-insert = "$LASTWIDGET" ] の方が望みの動作をしてくれるので、
しばらく使ってみて、編集時の後にも complete-word-back な動作をして
くれないと嬉しくないことに気付いた。
結局、補完系以外の後は 2 回 reverse-menu-complete すればいいだろ
うということで、 [[ "$LASTWIDGET" != *complete* ]] に変えてみた。
いまのところ問題なし。
>>452
うちの Linux では PID が補完されるよ
454:名無しさん@お腹いっぱい。
03/06/08 19:00
でた犬厨
うぜぇー
うちのLinuxでは だってさ(ゲラゲラ
自分が特別な存在だとでも思ってるのかね(ワラ
455:名無しさん@お腹いっぱい。
03/06/08 19:15
>>454
おまえはLinux板に行って「BSD厨ウゼー」とか言ってるやつだな(w
456:名無しさん@お腹いっぱい。
03/06/08 21:21
そぉです わたすが(ry
457:名無しさん@お腹いっぱい。
03/06/08 23:03
気違い、長生きしろよ
458:名無しさん@お腹いっぱい。
03/06/09 08:00
>>452
share/zsh/4.0.6/functions/_kill嫁
459:名無しさん@お腹いっぱい。
03/06/09 19:26
多分、それだけ読んでも判らんだろ(w
460:名無しさん@お腹いっぱい。
03/06/09 19:35
>>447
見やすくなったよ。thx!
あとはこのWikiがどう育つかだね。
項目が少ないページは一まとめにしちゃった方がイイ鴨。
461:名無しさん@お腹いっぱい。
03/06/09 19:46
>>460
ひとまとめにするっつーか、いろいろ放り込んでおいて、
あるトピックが成長をはじめたらブランチする(別のページを作る)
って感じの運用がいいかもね。
462:名無しさん@お腹いっぱい。
03/06/09 21:45
zstyle ':completion:*' use-cache true
したけど、~/.zcompcacheができません。なぜ?
463:名無しさん@お腹いっぱい。
03/06/10 00:08
どのコマンド?
キャッシュを使うように補完関数が書かれているやつじゃないとダメだと思うけど。
とりあえず、うちのzsh 4.0.6では、
$ perl -M[補完]
は、最初の補完候補生成後に .zcompcache覗いたらキャッシュできてたよ。
464:名無しさん@お腹いっぱい。
03/06/10 02:14
WikiのTestArrayMemberって${(M)x_terminals:#$TERM}を使って
もっとなんとかできそうな気がする。
465:名無しさん@お腹いっぱい。
03/06/10 02:43
>>464
is_member_of() {
local heystack=$1
local needle=$2
eval '[[ -n ${(M)'"$heystack"':#$'"$needle"'} ]]'
}
こんな感じかしらん。今環境ないんで未検証スマソ。
466:名無しさん@お腹いっぱい。
03/06/10 03:52
>>465
つまらぬことだが、干し草の山は hAystackな。
467:名無しさん@お腹いっぱい。
03/06/10 04:05
ヘタレな漏れに、
スレリンク(unix板:373-378番)n
の zsh 版ぷりーず。
468:462
03/06/10 08:02
>>463
url補完とか、pid補完とか、host補完とか、ユーザー名補完とか
いろいろやりましたが、何もできないです。
469:463
03/06/10 14:41
>>486いま zsh/4.0.6/functions/Completion で$ grep _store_cache **/*~*.zwc(.)してみたら、Debian/_aptDebian/_deb_packagesMandrake/_urpmiRedhat/_rpmUnix/_perl_modulesこれだけでした。ほとんどなかったのね ;_;
470:468
03/06/10 18:57
>>469
そうなんですか。ありがとうございます。ほとんど意味ないですね。
471:名無しさん@お腹いっぱい。
03/06/11 07:44
>>467
プロンプトには仕込んでないが壊れた時に
一度 Ctrl-u したあと
echo Ctrl-v Esc-c で直ると思われる
出力される文字は気にせず打ち込んでくれ
472:471
03/06/11 07:55
というのが、スレリンク(unix板:370番)
に書いてあったな...
473:名無しさん@お腹いっぱい。
03/06/15 05:30
端末画面に表示されている word から dabbrev 補完できないでしょうか
474:名無しさん@お腹いっぱい。
03/06/15 09:03
>>473
これはやってみた?
URLリンク(web.archive.org)
475:名無しさん@お腹いっぱい。
03/06/18 06:24
>>474
誰か compsys 用に書き直してくれ
476:名無しさん@お腹いっぱい。
03/06/20 01:07
zsh-4.0.7, 4,1,1 キタ━━━(゚∀゚)━━━ !!!!!
477:名無しさん@お腹いっぱい。
03/06/20 16:46
>>476
どっち使えばいい?
478:名無しさん@お腹いっぱい。
03/06/20 16:53
つーか4.0系と4.1系でどう違うのよ?
479:名無しさん@お腹いっぱい。
03/06/20 17:48
>>478
ドキュメント嫁。
おおざっぱにいうと、4.0 は安定版、4.1 は開発版。
でも、4.1.1 はもうそこそこ安定してきてるっぽい。
ってことみたいだね。
480:名無しさん@お腹いっぱい。
03/06/20 19:54
URLリンク(hiki.ex-machina.jp)
parse error 出てますが...
481:名無しさん@お腹いっぱい。
03/06/21 06:22
>>480
申し訳ない。自作のプラグインをいじくりまわしていたので。
直ってるかな……
482:名無しさん@お腹いっぱい。
03/06/21 13:13
emacsの{ansi,}termで、
tab補完で補完候補が表示されると表示がおかしくなります。
治し方ありますか。
483:名無しさん@お腹いっぱい。
03/06/21 13:20
どうおかしくなる?
試したけど、実用上対して気にならなそうな感じなんだけど
484:名無しさん@お腹いっぱい。
03/06/21 15:44
%ls
hoge1 hoge11 hoge13 hoge15 hoge17 hoge19 hoge20 hoge4 hoge6 hoge8
hoge10 hoge12 hoge14 hoge16 hoge18 hoge2 hoge3 hoge5 hoge7 hoge9
%ls hoge<tab>
hoge1 hoge3 hoge5 hoge7 hoge9 hoge11 hoge13 hoge15 hoge17 hoge19
hoge2 hoge4 hoge6 hoge8 hoge10 hoge12 hoge14 hoge16 hoge18 hoge20
この状態で補完すると普通、ls hogeのところの表示が変化するんですが、
2行3列目のhoge6のところがhoge2→hoge3と変化していきます。
これとは関係ないんですが、右プロンプトが行からはみでて、2行目の左端に表示されます。
485:名無しさん@お腹いっぱい。
03/06/22 20:59
incremental-complete-word使える人いる?なんかうまく機能しないんだが。
autoload incremental-complete-word
zle -N incremental-complete-word
bindkey '^Xi' incremental-complete-word
486:名無しさん@お腹いっぱい。
03/06/23 06:12
>>474
4.x では、うまく動かなかったので書き直してみた。普段 menu complete は明示的にしか
使わないのだが、dabbrev ではそうじゃないと不便なので menu-complete を基にした。
zstyle による大文字小文字無視の設定が生きないの不満。あまり良く判ってないので添削希望
ABBREVFILE=/tmp/script-$USER
if [[ $SCRIPT = 1 ]]; then
if [[ ! $screen = 1 ]]; then
screen=1 screen; exit
fi
else
umask 0077; SCRIPT=1 script -f -a $ABBREVFILE-$WINDOWID;
rm $ABBREVFILE-$WINDOWID; exit
fi
alias cutesc="sed -e 's/\([^a-zA-Z]*\([a-zA-Z]\|$\)\)\+/ /g' | col -b"
comp_dabbrev_display () {
local i c reply
for i in $ABBREVFILE*; do
c=($(tail -100 $i | head -99 | cutesc))
reply=("$reply[@]" "$c[@]")
done
compadd - "$reply[@]"
}
zle -C dabbrev-complete menu-complete comp_dabbrev_display
bindkey '^[/' dabbrev-complete
487:名無しさん@お腹いっぱい。
03/06/23 06:14
書くのを忘れたけど、comp_dabbrev_display にしか興味がなかったのでそれだけ残した。
まあ他も同じ様なもんだけど
488:名無しさん@お腹いっぱい。
03/06/23 06:44
げっ、screen の部分はコメントアウトしていたので修正を加えるのを忘れた。
趣味の問題だから動作に支障はないが…
489:名無しさん@お腹いっぱい。
03/06/26 21:03
%zsh-4.1.1
%autoload -U tetris
%zle -N tetris
%bindkey '^Xt' tetris
| #### | Score: 0
| ####()() |
| ()()() | Game parameters: 11x20, 100.Hz
| () |
| ()()()() | Keys: left: a j
| () | rotate: s k
| ()() | right: d l
| ()() | drop: space
| ()() | quit: q
| () |
| () |
| ()() |
| () |
| () |
| ()()() |
| () |
| () |
| ()() |
| ()() |
| ()() |
+----------------------+
490:名無しさん@お腹いっぱい。
03/06/26 21:21
なんか functions に変なファイルがあるなぁとは思ってたが、なんつーシェルだ・・・
491:名無しさん@お腹いっぱい。
03/06/27 03:56
そういやついに tetris ができるようになったと書いてあったな。別にキーに割り当てなくても
^[x で呼び出せばいいと思うが、しょっちゅうやりたいのなら仕方がないな(w
492:名無しさん@お腹いっぱい。
03/06/27 05:33
ボスが来た機能は付いてますか?
493:名無しさん@お腹いっぱい。
03/06/29 05:03
シェル関数で動くものはサスペンドが効かないのが弱点やねぇ。
494:名無しさん@お腹いっぱい。
03/06/30 08:34
bashだとCtrl+Rで、ヒストリの検索ができるけど、
zshに同じ機能はありますか?
495:名無しさん@お腹いっぱい。
03/06/30 09:20
>>494
あほ
496:名無しさん@お腹いっぱい。
03/06/30 10:16
>>495
知らないなら黙ってろ、馬鹿。
497:1 秒で試せるだろ
03/06/30 10:35
>>496
釣れた。
498:名無しさん@お腹いっぱい。
03/06/30 10:35
bash つかってれば?
499:名無しさん@お腹いっぱい。
03/06/30 15:03
結局、ESC -> / でできたわけだが、
なんでそれが1秒で試せることなんだ?
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が移植できないものかと奮闘中
すげー難しいです。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5337日前に更新/219 KB
担当:undef