■掲示板に戻る■ 全部 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



329 :名無しさん@お腹いっぱい。 :02/02/22 01:32
それならbash2スレ立てろよぅ。参考にさせて頂くからさ。

330 :名無しさん@お腹いっぱい。 :02/02/22 02:30
>329 たいへん頭の弱そうなタイトルだが、もうある。
bashで補完スレ
http://pc.2ch.net/test/read.cgi/unix/1013019416/

331 :名無しさん@お腹いっぱい。 :02/02/22 08:55
>>330
ワラタ
たしかに頭の悪そうなタイトルだ。

332 :雑種 :02/02/22 11:41
> 330, 331
他のプログラムの悪口なんか言わなくても
zsh は十分素晴らしいよ. なかよくすれ.

333 :名無しさん@お腹いっぱい。 :02/02/22 12:03
bash2 は right prompt あるんですか?

334 :名無しさん@Emacs :02/02/22 12:17
mona@2ch$ ~/home/mona ←カコ(・∀・)イイ!!

335 :名無しさん@お腹いっぱい。 :02/02/27 18:14
最近の ssh2 はホスト名のあとに IP をくっつけるからこれじゃぁ
取り出せなくなっちゃった・・。カンマで split したいけど、どうしよう?

_sshhosts () {
reply=(` cut -d' ' -f1 ~/.ssh/known_hosts `)
}


336 :名無しさん@お腹いっぱい。 :02/02/27 21:49
cut -d' ' -f1 ~/.ssh/known_hosts | cut -d, -f1
にすればいいだけという話ではない?

ついでに質問。
redhat 6.2用のzsh 4.0.xのrpmがみつからないんだけど
どっかにあったら教えて。

337 :名無しさん@XEmacs :02/02/28 10:16
>>335
hosts=( ${(M)${(@f)"$(< ~/.ssh/known_hosts)"}##[^, ]#} )

のほうが速いかも?


338 :名無しさん@お腹いっぱい。 :02/02/28 16:45
さんくす! >>336
こりゃ便利。

339 :名無しさん@お腹いっぱい。 :02/03/01 02:56
>>337
出来たら解説してくれると嬉しい
正直何やってんのかサパーリ分からぬ(鬱

340 :名無しさん@お腹いっぱい。 :02/03/01 04:17
プロンプトに改行を入れるにはどうすれば良いのでしょうか。
こんな感じにしたいのです。
[user@host] ~
# echo '(・∀・)イイ!!'

今は↓で我慢してるんですが。
PROMPT='[%n@%m] %~ # '
[user@host] ~ # echo 'ヽ(`Д´)ノ ウワーン'

341 :名無しさん@お腹いっぱい。 :02/03/01 04:26
>>340
ここでも参考にしてみればぁ〜

あなたのプロンプトは?
http://pc.2ch.net/test/read.cgi/unix/990146979/l50

342 :名無しさん@XEmacs :02/03/01 05:57
>>339

${(@f)"$(<...)"}
ファイルの内容を読み込んで "\n" で区切った配列を作り、

${(M)...##[^, ]#}
各要素の先頭から ',' と ' ' 以外の文字からなる文字列を取り出す

ような感じですかねぇ。詳しくは man zshexpn を。


343 :339 :02/03/01 10:21
>342
thanx!ガムバッテミマス!!

344 :340 :02/03/02 00:47
単にこうすれば良かったのか〜 (;´Д`)
PROMPT='[%n@%m] %~
%# '

345 :340 :02/03/02 00:50
こうでも良いのか〜 (;´Д`)
PROMPT=$'[%n@%m] %~\n%# '

346 :名無しさん@お腹いっぱい。 :02/03/04 19:13
# bash prompt-howto からのパクリですが

PROMPT="%n@%l'%U%m%u[`jobcount()`]:%5~%# "

jobcount () {
jobs > ~/.jobs_tmp
echo -n `cat ~/.jobs_tmp | wc -l | awk '{print $1}'`
}

ってな感じで、プロンプトに関数の返値を入れたいんだが〜
この例だと裏に回してるプロセスの数だけど。
(同じ GNU 製の)bash ではできるのに、どうやればいいか
知ってるひといます?


347 :良スレ救済 :02/03/10 23:34
age

348 :名無しさん@お腹いっぱい。 :02/03/11 02:24
zsh をある程度設定しちゃうと便利過ぎて、さらに設定していけば
便利になるのはわかるんだがもういいかなと思ってしまう。

349 :nana4 :02/03/11 13:25
> 348

枯れてますな. つか, 概ね同意.

あと, あんまり凝ると違うバージョン/プラットフォームで動かなかったりしてかえって面倒.

350 :名無しさん@お腹いっぱい。 :02/03/11 16:32
最近のはデフォルトでも便利すぎて、設定しなくてもいいかなと思ってしまう。
# 最近の補完システムがわかんないってのもあるけど ;-)


351 :名無しさん@お腹いっぱい。 :02/03/13 23:56
設定ファイルのお披露目会は無し?

352 :名無しさん@Emacs :02/03/14 01:29
zsh を使っています。
/usr/local/bin を PATH の最初に設定したいのですがうまく逝きません。
PATH=/usr/local/bin:$PATH を ~/.zshenv ~/.zlogin ~/.zprofile などに書
いてみたのですが、どの場合も /usr/local/bin:/usr/local/bin:/bin: のよ
うに 2個または 3個含まれてしまいます。何も設定しない場合の PATH は

/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/bin:/usr/X11R6/bin

のようになっているんですが、これを/usr/local/bin が最初にくるようにす
るにはどうしたらよいでしょうか?/etc の下はなるべくいじりたくないので
すが、script を書いたらなんとかなります?


353 :名無しさん@Emacs :02/03/14 01:51
>>352
> PATH=/usr/local/bin:$PATH
これをやめて

PATH=/usr/local/bin:/bin:/usr/bin:/usr/bin/X11:/usr/bin:/usr/X11R6/bin
って書けば良いだけじゃないの?


354 :352 :02/03/14 01:56
>>353
あ、、、そっか(汗
単純なことでしたね(恥

355 :名無しさん@お腹いっぱい。 :02/03/14 02:09
>>352
こんな風にも書けるよ。(.zshenv とかに)
path=($path $HOME/xml-xalan/c/bin)
path=($path /usr/java/jdk1.3.1_01/bin)

356 :名無しさん@お腹いっぱい。 :02/03/14 18:05
perldoc する時の補完が作れればいいなぁとか思うんですけど、どなたか挑戦した
ひといませんか? 一時的にどっかに名前を記録するスクリプトでも可。

357 :名無しさん@お腹いっぱい。 :02/03/14 18:32
functions/_perldoc にあるのじゃダメなの?

358 :名無しさん@お腹いっぱい。 :02/03/14 22:31
ふむふむ。使い方がよくわからんので勉強しときます。thanx!

359 :名無しさん@お腹いっぱい。 :02/03/14 23:59
このスレに触発されて、zshを使うようになりました。
かなり(・∀・)イイ!!ですね。

というわけで、質問です。。。

~/.zshrcで、
export HTTP_HOME=http://www.yahoo.co.jp
を設定していますが、
Emacs上で、M-x w3m [RET] しても、
$HTTP_HOMEが表示されません。
% w3m
では、$HTTP_HOMEが表示されます。
ちなみに、bashの時はこのようなことは起こりませんでした。

どんな原因が考えられるでしょうか?

360 :名無しさん@Emacs :02/03/15 00:58
>359
Emacsをwindowmanagerのメニューから起動させているからとか



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


掲示板に戻る 全部 前100 次100 最新50

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