■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

zsh入門

1 :名無しさん@お腹いっぱい。 :2001/05/19(土) 23:42
なんかそろそろzshの補完機能をじっくりいじろうかなぁと思ったんですけど
compctl読みにくいですねぇ…
自分で書いたのもいまいちしっくり来ない…

ってことでみんなの.zshrc(主に補完部分)を見せ合いっこしませんか?
自分はまともなの書けてないですが…
zstyleも勉強したいので大歓迎
 というか参考文献が少なすぎるのでかなり喜ばれるはず

いままで他のshellを使ってきた方もこれを機に一緒に勉強しましょー

とりあえず自分のオプションはこんな感じです。tcshライクになってます。
bindkey -e
bindkey ' ' magic-space
bindkey '^W' kill-region
bindkey '^Q' reverse-menu-complete

setenv () {export $1="$@[2,-1]"}
unsetenv (){unset $1}

setopt prompt_subst
setopt nohup
setopt auto_cd GLOB_COMPLETE
setopt auto_remove_slash
setopt extended_history hist_ignore_dups
setopt prompt_subst
setopt pushd_ignore_dups rm_star_silent sun_keyboard_hack
setopt extended_glob list_types
setopt no_beep always_last_prompt
setopt cdable_vars sh_word_split auto_param_keys no_clobber
setopt complete_aliases setopt complete_in_word auto_list
unsetopt list_ambiguous auto_menu



361 :名無しさん@お腹いっぱい。 :02/03/15 01:10
>>360
そのとおりでした。
windowmanagerのメニューから起動しても exportを有効にする方法はありますか?
普段はショートカットで Emacsを起動するので。

362 :名無しさん@Emacs :02/03/15 02:16
.xsessionで
. $HOME/.zshrc
しちゃうとか。



363 :名無しさん@お腹いっぱい。 :02/03/15 02:19
HTTP_HOME=http://www.yahoo.co.jp emacs で起動しちゃうとか。

364 :自信はないが :02/03/15 02:21
>>359
~/.zshenv or ~/.zlogin ?

365 :名無しさん@お腹いっぱい。 :02/03/15 04:33
>>361
zsh(つーか"?term"だな)をwindowmanagerにすりゃいいじゃん

366 :名無しさん@お腹いっぱい。 :02/03/15 05:00
僕は .xsession を
#!/usr/bin/zsh にして無理矢理 .zshenv を読み込ませてる。

367 :名無しさん@お腹いっぱい。 :02/03/15 11:43
最近、#!/bin/sh の代わりに #!/usr/bin/zsh することが多くなってきた
もう戻れないかも。。。欝だ

368 :名無しさん@Emacs :02/03/16 00:06
例えば C とかで printf("hello world"); ← こんなふうに
hello world 書いて最後に改行つけない場合に zsh だと表示されないですよ
ね。何でだろ。ちょっとはまった覚えが。

369 :名無しさん@お腹いっぱい。 :02/03/16 00:11
#!/usr/bin/zsh使うって
えらい高機能なシェルスクリプトだな

具体的になんの機能つかってるのかおしえてyo

370 :名無しさん@お腹いっぱい。 :02/03/16 00:16
>>368
http://zsh.sourceforge.net/FAQ/zshfaq03.html#l39

371 :名無しさん@Emacs :02/03/16 00:30
>>370
へーなるほど。ありがとう。RPROMPT の位置がずれちゃうからみたいですね。
でも出た方がいいや。
unsetopt promptcr しときます。

372 :名無しさん@お腹いっぱい。 :02/03/16 00:36
>368
標準出力は改行こないとバッファがフラッシュされないので、それは仕様です。


373 :名無しさん@お腹いっぱい。 :02/03/16 01:35
zshだけ動作が違うってのもどうかと思うんだが。

374 :名無しさん@お腹いっぱい。 :02/03/16 11:06
>>369
シェルスクリプト中でfindを使わなくなってきたということだyo
あと、awkとかも。。。

375 :361 :02/03/17 00:11
遅くなりましたが、
~/.zshenvに `. $HOME/.zshrc'を書いて解決できました。
ありがとうございます。

376 :名無しさん@お腹いっぱい。 :02/03/21 12:31
zsh-4.0.4 on FreeBSD 4.5-STABLEな環境で
% grep ほげ foo.txt
しようと思ったらどうすれば良いのかな?
bashなら何も考えずに出来たんだけどRPROMPTとか補完とかが気に入っている
んでzshでいきたいんだよね


377 :名無しさん@お腹いっぱい。 :02/03/21 12:54
'ほげ' とかにしたら? つーか、ここでの「ほげ」が
日本語だって事が、一瞬考えないと理解できんかった。
# 質問は読み手の事を考えて書こう。


378 :376 :02/03/22 00:14
後から自分でもそう思った。スマン&サンクス



379 :名無しさん@お腹いっぱい。 :02/03/31 04:15
保守age

380 :名無しさん@お腹いっぱい。 :02/04/03 01:45
% unsetopt promptcr
としても
% echo -n foo
%
となってしまうんですけど
何か他にも設定しないといけないんでしょうか

381 :名無しさん@お腹いっぱい。 :02/04/03 11:30
>>380
setopt autolist autoresume
setopt autopushd pushdminus pushdtohome pushdsilent
setopt alwayslastprompt listtypes listambiguous
setopt clobber notify cdablevars numericglobsort
setopt histignoredups histignorespace longlistjobs
setopt extendedglob rcquotes appendhistory

unsetopt bgnice autoparamslash correct promptcr

のオプションでうまくいってます。

382 :名無しさん@お腹いっぱい。 :02/04/03 12:18
シェルプログラミングを勉強したいのですが、zshの本って無いですよね?
bashの本ならあるようなんですが、それで勉強したらzshでもOKですか?


383 :名無しさん@お腹いっぱい。 :02/04/03 13:03
zsh の方言を覚えるには OK じゃありません

384 :名無しさん@お腹いっぱい。 :02/04/03 13:13
そうそう、bashの本でも結構勉強になるけど、それじゃzsh使う
意味がなくなると思われ。

385 :名無しさん@お腹いっぱい。 :02/04/03 13:34
次号のUNIX USER がzsh特集を始めると思ふ


386 :名無しさん@お腹いっぱい。 :02/04/03 13:41
>>385
それマジ?
なか買うぞ。


387 :名無しさん@お腹いっぱい。 :02/04/03 16:51
>>380
プロンプトにcrと同じような処理をするものが
入ってるとかかなあ?

388 :380 :02/04/04 00:01
>>381
そのとおりにしてみましたが、だめでした

>>387
プロンプトは '%n@%m:%~%# ' です

Debian(sid)
% zsh --version
zsh 4.0.4 (i686-pc-linux-gnu)
% cat ~/.zshrc
autoload -U compinit
compinit
unsetopt AUTO_REMOVE_SLASH
setopt HIST_IGNOREALL_DUPS
unsetopt PROMPT_CR
setopt SHARE_HISTORY
PS1='%n@%m:%~%# '
です
~/.zshenv ~/.zshprofile ~/.zshlogin はありません

389 :385 :02/04/04 06:31
>>386
次号予告のところに書いてあったYO

390 :名無しさん@お腹いっぱい。 :02/04/04 07:40
>>389
おー、久しぶりに買って読むか。


391 :名無しさん@お腹いっぱい。 :02/04/04 20:30
.zshrcのサンプルに
alias mv='nocorrect mv' # no spelling correction on mv
alias cp='nocorrect cp' # no spelling correction on cp
alias mkdir='nocorrect mkdir' # no spelling correction on mkdir

こういうのが入っているのでがどういう意味ですか?
typoをaskしないってことですかね?

392 :名無しさん@お腹いっぱい。 :02/04/05 22:39
cygwin で zsh-4.0.4 をソースからコンパイルして使っています。
cygwin のバージョンは 1.3.10 です。

autoload -U compinit; compinit

すると、初めて動かしたとき(.zcompdump がないとき)は
.zcompdump が生成されて期待通りの動作をしますが、
2度目以降はドバーっと compinit のソースらしきものが出てきて
補完が全く出来なくなります。

.zshrc や .zshenv にいけない記述があるのかと思い、ファイルを削除して試してみましたが
やっぱり変わりませんでした。

なにか情報をお持ちの方はいらっしゃいませんか?
>312 の人はとりあえず動いているようですね…


393 :名無しさん@お腹いっぱい。 :02/04/06 13:31
UNIX USER、特集じゃなくて連載なのね。
compctlじゃない最近の補完をやってくれたら買おう。


394 :名無しさん@お腹いっぱい。 :02/04/06 14:15
compctl だったら一気に萎えるな。

395 :名無しさん@お腹いっぱい。 :02/04/06 14:47
書き手は誰なんだろう?

396 :名無しさん@お腹いっぱい。 :02/04/07 04:05
>392
改行コードが怪しいな。text modeになってないか?

397 :名無しさん@お腹いっぱい。 :02/04/07 04:33
日本語ファイル名の補完侯補一覧が
「ふが」 → \M-$\M-U\M-$\M-,
「ほげ」 → \M-$\M-[\M-$\M-2
みたいになるけど、これをちゃんと日本語で出せませんか?

398 :名無しさん@お腹いっぱい。 :02/04/07 12:54
akrさんとか、northeyeさんがいいな。



399 :名無しさん@お腹いっぱい。 :02/04/07 13:05
yuuji さんは?
# UNIX USER だと上の二人よりは可能性高そう。
## あ、zsh ml 入ってないや。


400 :名無しさん@お腹いっぱい。 :02/04/07 13:12
秋葉だと一日前に雑誌入らなかったけ?
どんな内容だかキボーン
amazonで注文するぞ。

401 :名無しさん@お腹いっぱい。 :02/04/07 13:14
げ、amazonは取り扱ってなかった…。
じゃcbook24.comだな。

402 :392 :02/04/08 04:16
>>396
> 改行コードが怪しいな。text modeになってないか?
改行コード調べてみました。自動生成された .zcompdump 、
インストールされている functions/compinit の改行コードは両方とも \n です。
cygwin のファイルタイプも UNIX です。
.zshrc/.zshenv は無しで試してます。
text mode の意味がちょっとわからないです。申し訳ありません…
text/binary のモード切り替えがあるのですか?

403 :名無しさん@お腹いっぱい。 :02/04/08 07:44
>>397
うちもそうなる。AUTO_MENU があるからいいやって感じ。

UNIX USER って今日発売?

新連載
  zshマスター 第1回
    すぐに使いこなせる便利な機能●舟橋 啓

  甦れ! UNIXワークステーション 第1回
    AlphaマシンにLinuxをインストール●たかはしもとのぶ

  Adorable Mac 第1回
    Mac OS XとUNIXの関連性●水上友生

  今月のチェックシート
    各種PC UNIX、主要アプリケーションの更新情報をチェック

http://unixuser.softbankpub.co.jp/index/2002/0205.html

404 :名無しさん@お腹いっぱい。 :02/04/08 07:47
>>403
> UNIX USER って今日発売?
そだよ。
誰か読んだ人いないかな〜。
もしくは著者。

405 :名無しさん@お腹いっぱい。 :02/04/08 07:50
>>404
さんくす。
どうせ初回は基本的なことだけだと思うけど、今後に期待して買ってきまふ。

406 :名無しさん@お腹いっぱい。 :02/04/08 13:38
自転車で30分かけてUU置いてある本屋まで行ってきた。
初回は簡単な説明って感じでした。
次回は.zhsrcの解説だって。

407 :名無しさん@お腹いっぱい。 :02/04/08 19:45
あまりにも基本的すぎるから、zsh の連載記事目的
だけで買うこともないでしょう。

408 :名無しさん@お腹いっぱい。 :02/04/09 00:22
著者が想定しているのは zsh 4.0.4 のようなので今後に期待しましょう。

409 :名無しさん@お腹いっぱい。 :02/04/09 02:11
>402
.zshrc無しって、まさかautoload -U compinit; compinit
もやってないって落ち?
ちなみに、textmode/binmodeはmountのオプション&CYGWIN
環境変数の値ね。

410 :392 :02/04/09 03:26
>>409
>.zshrc無しって、まさかautoload -U compinit; compinit
>もやってないって落ち?
.zshrc を無しにしてコマンドラインから autoload .... してみたっていうことです。
.zshrc に autoload .... 一行だけ書いても同じ結果になります。

>ちなみに、textmode/binmodeはmountのオプション&CYGWIN
>環境変数の値ね。
mount のオプションも CYGWIN 環境変数も binmode でした。
binmode なら問題ないですよね。
export CYGWIN=nobinmode
してから同じことをしてみましたがやはり結果は変わりませんでした。


411 :392 :02/04/09 13:11
>>410
おっと、CYGWIN はコマンドラインで設定してもダメなのね。
cygwin.bat の中に書いたら上手くいきました!
>396 = >402 さん、アドバイスありがとうございました。


412 :392 :02/04/09 14:31
>>411
やべ間違った、自分に感謝してしまった
>396 = >409 さんありがとう!
半分 cygwin ネタで失礼するが、
compinit だと DOS のパス cd c:/ なんかを補完してくれないね。
まずはここのカスタマイズからチャレンジしてみよう…

413 :名無しさん@お腹いっぱい。 :02/04/09 16:09
UNIXUSERでzshネタage!

414 :名無しさん@お腹いっぱい。 :02/04/09 16:11
>>413
3日も前から既出だYO!


415 :名無しさん@お腹いっぱい。 :02/04/09 16:15
>>414
すまん今日買った。
来月号のほうが期待っ!

416 :名無しさん@お腹いっぱい。 :02/04/09 16:18
C-r の^で置換は初めて知った…。

417 :名無しさん@お腹いっぱい。 :02/04/09 21:33
無茶苦茶初心者の俺にはかなり良さそうな記事だったけど、あれだけのために1600円は打線・・・
貧乏は辛いのう・・・


418 :名無しさん@お腹いっぱい。 :02/04/09 23:43
>>416
解説キボンヌ
近所に売ってないんだもん(涙)

419 :名無しさん@お腹いっぱい。 :02/04/10 00:25
>>418
例が悪くてスマソ。^ は Ctrl ではなくてハットをそのまま打つ。

% ls -a
% ^-a^-l

あまり使い道が思いつかないな。補完の無い csh とかでは便利だけど。

420 :名無しさん@お腹いっぱい。 :02/04/10 00:33
>>417
金をケチると初心者抜け出せないかもよ。
java とか gcc の記事も、続けて読めば見識が広がるかもしれないし。
でも 1600 円はチト高いな。CD-ROM 要らない。

421 :名無しさん@お腹いっぱい。 :02/04/10 00:51
UnixUserの記事ってDVDで出てたよね。
半年待ってDVDにzshの連載が纏ってるのを買うとか。
UnixUserの連載が単行本で出たことってあったけ?

422 :名無しさん@お腹いっぱい。 :02/04/10 00:53
man 読んで勉強してこのスレにでもまとめを書こうと思ったが
結局まだ全く読んでないのであった。


423 :名無しさん@お腹いっぱい。 :02/04/10 00:56
man いっぱいあって困るよ。

424 :418 :02/04/10 10:33
>>419
サンクス。漏れも知らなんだ。でもたしかに使い道が思い付かんね。

425 :名無しさん@お腹いっぱい。 :02/04/11 00:10
>>421
LinuxMagazineじゃなくて?

426 :名無しさん@お腹いっぱい。 :02/04/11 00:16
>>419
>>424
gcc とか configure でクソ長いオプションを書いて実行した後で
中間部分を変更して、再度実行したい時とかに便利かも。

427 :名無しさん@お腹いっぱい。 :02/04/11 00:28
>>425
CD-ROMだったかも


428 :名無しさん@お腹いっぱい。 :02/04/11 03:34
UnixUser記事が短い。 ので、sage

429 :名無しさん@お腹いっぱい。 :02/04/11 09:24
>>419,424
俺はわりと使うけど。
あと!!:gs///とかもよく使う。

UU読んでないけどナ


430 :名無しさん@お腹いっぱい。 :02/04/19 01:55
UnixUser の連載記事を図書館で読んだけど、確かに基本的
なものばかりだった。

でも r という内部コマンドがあるのを初めて知ったよ。というか、
alias に宛てていたから気付かんかった(w

案外便利だな、このコマンド。!!:gs/// より楽に打てるし。

431 :名無しさん@お腹いっぱい。 :02/04/20 17:44
^の存在を初めて知ったのですが
^で置換してくれるのは最初の1個だけなのですか?


432 :名無しさん@お腹いっぱい。 :02/04/20 18:03
>>431
そうよ。


433 :名無しさん@お腹いっぱい。 :02/04/20 18:06
そうですか。ありがとう。

434 :名無しさん@お腹いっぱい。 :02/04/21 17:47
>431
最初の一個だけってのが結構不便なのよね.

435 :名無しさん@お腹いっぱい。 :02/04/21 19:56
r は全置換してくれる

436 :名無しさん@お腹いっぱい。 :02/04/22 06:55
>>435
> r は全置換してくれる

rはどう使うのですか?


437 :名無しさん@お腹いっぱい。 :02/04/22 10:56
>>436
r foo=bar


438 :名無しさん@お腹いっぱい。 :02/04/23 20:44
メモ。

標準出力は捨てて、標準エラーだけパイプに渡そうとして
% commandA 2>&1 > /dev/null | commandB
としても上手くいかなくて悩んだが、
% setopt no_multios
すればよかった。
もしくは
% commandA > /dev/null 2> >( commandB )



439 :名無しさん@お腹いっぱい。 :02/04/24 02:16
zshの本ってamazonで検索しても見つからないのですけど、気のせい?

440 :名無しさん@お腹いっぱい。 :02/04/24 07:37
少なくとも邦書でzshと名の着く本は無かったような。

441 :名無しさん@お腹いっぱい。 :02/04/24 19:01
zsh は、遅くもなく速くもない歩みで開発が続いているからねえ。
それに最新を追っかけている人は、info で十分だと思うん
じゃないかな。

一応、UnixUser の連載が面白いものになることを期待してます。

442 :名無しさん@お腹いっぱい。 :02/04/29 07:19
ageage

443 :名無しさん@お腹いっぱい。 :02/04/29 11:53
>>438
それ俺もハマったことあるYO!


444 :名無しさん@お腹いっぱい。 :02/04/29 23:57
共用マシンで他人のzshrcを覗いているのですが
かなり細かく書いてあって理由わからんです
補完はとりあえずこれだけ書いているのですが、
他に書いておくべきのはあるでしょうか?

autoload -U compinit
compinit

445 :名無しさん@お腹いっぱい。 :02/04/29 23:59
>>444
> 他に書いておくべきのはあるでしょうか?
何が書いておくべきものかは
人それぞれじゃねーの?


446 :名無しさん@お腹いっぱい。 :02/04/30 00:01
>>445
そうですか。
ありがとうございました。

447 :名無しさん@お腹いっぱい。 :02/04/30 00:11
>444-446
なんか、漫才みたいだ。

448 :名無しさん@お腹いっぱい。 :02/05/01 20:38
zshを使ったらlessがファイルの最後で終了してしまうとお悩みの方いませんか?
zsh-4.0.4/StartupFiles/zshrcには
export LESS=-cex3M
が登録されています。気付かずに、このファイルを使っていると填ります。
はい、僕が1年填りましたから。

449 :名無しさん@お腹いっぱい。 :02/05/02 11:04
C-pで履歴を出す時にcdやlsは表示しないことって出来ますか?
C-rを使ったほうがいいのあかな…。

450 :名無しさん@お腹いっぱい。 :02/05/02 12:37
あおな


451 :名無しさん@お腹いっぱい。 :02/05/07 05:24
>>449
とりあえず
setopt HIST_IGNORE_SPACE
で代用すれ。


452 :名無しさん@お腹いっぱい。 :02/05/08 13:21
日本語で grep したい時どうしてます?
''でくくってもうまくいかないときがあるので
頻度の高いときは俺は bash 使ってますが...


453 :名無しさん@お腹いっぱい。 :02/05/08 14:51
今月号読んだぞ。
なかなかよかった。

454 :nana4 :02/05/08 17:07
> 449
関数 chpwd を ls -F とかに定義しておけば
cd したら勝手に ls されるわけで、
そもそもほとんど打鍵しなくて済むよ。

455 :名無しさん@お腹いっぱい。 :02/05/08 20:03
>>453
どんな内容だったか教えてくれたもう

456 :453じゃないけど :02/05/08 20:50
autoload colors でプロンプト色づけとか、
compctl は無しで、ちゃんと compinit してました。
zstyle もあったので結構期待できるかも。

……でも、これだけのための買うのもイヤなので立ち読みで済ます。



457 :age :02/05/10 21:38
age

458 :名無しさん@お腹いっぱい。 :02/05/12 00:00
FreeBSD 4.5R zsh 4.0.4でmanの補完が効きません。
~/.zshenvには

export MANPATH=/usr/lib/perl5/man:/usr/X11R6/man:/usr/local/man:/usr/share/man

こうしてあります。
他に設定する場所はあるのでしょうか?

459 :tcsh信者@Vim%Chalice :02/05/12 00:05
>>458
こういうのが要るのかなあ?

compctl -x 'p[1-2]' -c -- man

460 :名無しさん@お腹いっぱい。 :02/05/14 23:57
$HISTFILEに時間も記録してくれる設定って何でしたっけ?


次100 最新50 (10:00PM - 03:00AM の間一気に全部は読めません)

read.cgi ver5.26+ (01/10/21-)