5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

zsh その3

1 :名無しさん@お腹いっぱい。:04/03/23 09:46
zshのスレその3です。

過去スレ
zsh入門
http://pc.2ch.net/test/read.cgi/unix/990283346/
zsh入門 パート2
http://pc3.2ch.net/test/read.cgi/unix/1036324177/

>>2リンク


2 :名無しさん@お腹いっぱい。:04/03/23 09:47
英語
index http://www.zsh.org/
公式 http://zsh.sourceforge.net/
FAQ  http://zsh.sourceforge.net/FAQ/
http://www.zshwiki.org/cgi-bin/wiki.pl

日本語
zshのある暮らし
http://hiki.ex-machina.jp/zsh/
zsh に関するドキュメント(翻訳)
http://dengaku.org/naoki/zsh/
ドキュメントの日本語訳など(上のより古い)
http://tehanu.hpcl.titech.ac.jp/zsh/
FreeBSD なあなたのための zsh (The Z Shell) 設定
http://aquahill.net/zsh.htm
zshのおぼえがき
http://www.ayu.ics.keio.ac.jp/members/mukai/tips/zsh.html
zsh 用 euc-jp patch
http://www.ono.org/software/zsh-euc/
【至高のコマンドインタプリタzsh】
http://www.gentei.org/~yuuji/rec/pc/intro-zsh.html
zsh for the working researcher
http://cl.aist-nara.ac.jp/~daiti-m/text/zsh-intro.html

http://kimama.ddo.jp/zsh
http://www.sol.cs.ritsumei.ac.jp/~sawaki/comp/zsh/

3 :名無しさん@お腹いっぱい。:04/03/23 09:47
http://www.debian.or.jp/

4 :名無しさん@お腹いっぱい。:04/03/23 09:51
LinuxZaurusのアプリケーション/ツール関連/zsh
http://www.yo.rim.or.jp/%7emono93/mobile/enter.cgi?LinuxZaurus%a4%ce%a5%a2%a5%d7%a5%ea%a5%b1%a1%bc%a5%b7%a5%e7%a5%f3%2f%a5%c4%a1%bc%a5%eb%b4%d8%cf%a2%2fzsh
ドットファイルの例
http://www.is.akita-u.ac.jp/~sig/dots/dot-files.html
http://www.self-core.org/cgi-bin/tiki.cgi?c=v&p=zsh

5 :名無しさん@お腹いっぱい。:04/03/23 10:54
前スレの1002は何だ?

6 :名無しさん@お腹いっぱい。:04/03/23 12:18
>1
もつかれ

7 :名無しさん@お腹いっぱい。:04/03/23 22:45
> ドットファイルの例
これも
ttp://dotfiles.com/index.php3?app_id=4

8 :名無しさん@お腹いっぱい。:04/03/24 15:42
setopt correct しておくと typo を修正してくれるけど,同じくらい近い候
補が2つ以上ある時に一方しか持ってこれないのが不満.たとえば, bunzip
は unzip の typo だと解釈されるんだけど本当は bunzip2 なんだよね,とか.

ispell みたいに複数候補を出して選べるようになると嬉しいんだけど,そう
いうのって難しいのかな?


9 :名無しさん@お腹いっぱい。:04/03/24 15:48
実用上は、そんなに頻繁に間違えるのは alias あたりしとけばいいんじゃない?


10 :名無しさん@お腹いっぱい。:04/03/24 23:29
>>1
もつかれい〜
リンクを新しく張ってくれたのは殊勝。

11 :8:04/03/25 13:08
>>9
まあ確かに実用上はそうなんだけど,そう頻繁に間違えるコマンドはないです.
どっちかというと,修正案を見せてくれたときの「そっちじゃねーんだよ
なぁ……」という脱力感をどうにかしたい.


12 :9:04/03/25 13:54
そういえば emacs の eshell は、
何度も間違えると自動的に alias の設定になってくれるんだよね。
あれは面白いと思った。

13 :名無しさん@お腹いっぱい。:04/03/25 16:00
最初に間違えてるのは自分なんだからzshを責めるなよ。

14 :名無しさん@お腹いっぱい。:04/03/25 16:10
>正しいかどうかの判断は使ってる本人にしかできないのだから、
>その判断を先取りしてコンピュータが行うというのは、やはり無理があると思う。

15 :8:04/03/26 20:36
>>13
確かにそうなんだけど.
>>14
漏れはSKKユーザだから引用元の意見は納得できるんだが,それはちょっと話
が違わないか?

けっきょく選ぶのは人間だとしても選択肢が(もう少し)多いと嬉しいんだけど,
という話なんだけど…….

16 :名無しさん@お腹いっぱい。:04/03/29 01:13
=()と<()てなにがちがうんですか?
普段はvimdiff =(grep aaa file1) =(grep aaa file2)みたいに使ってます.

17 :名無しさん@お腹いっぱい。:04/03/29 01:43
>>16
echo =(grep aaa file1) と echo <(grep aaa file1) を比べるとわかる気がする。


18 :名無しさん@お腹いっぱい。:04/03/29 01:54
=()初めて知った.
すごく(・∀・)イイ!!
もっと目から鱗な機能ってないの?

19 :名無しさん@お腹いっぱい。:04/03/29 02:10
これ、逆に =(...) だとダメで <(...) だとOKな例ってあるのかなぁ

20 :名無しさん@お腹いっぱい。:04/03/29 02:32
>>19
/tmp があふれるサイズの出力になったとき。

21 :名無しさん@お腹いっぱい。:04/03/29 02:41
あぁなるほど。
=(...) は一時ファイルを使うが
<(...) はファイルディスクリプタor名前付きパイプを使うって違いか

22 :名無しさん@お腹いっぱい。:04/03/29 08:10
>>19
head =(yes)
head <(yes)

23 :名無しさん@お腹いっぱい。:04/03/29 18:47
おもしろそうな新機能ある?
http://zsh.sourceforge.net/releases.html

24 :名無しさん@お腹いっぱい。:04/03/29 21:16
目新しいのは、UTF8 にそれなりに対応したのと Suffix Aliases ぐらいかな

25 :名無しさん@お腹いっぱい。:04/03/29 21:21
>>24
Suffix Aliasesおもしろいですね。
前スレの153でまさにこの機能が欲しいと書き込んでました。

alias -s ps=gv
./hoge.ps
でgvを起動

26 :名無しさん@お腹いっぱい。:04/03/29 21:26
/. ひととってキモイですね

27 :名無しさん@お腹いっぱい。:04/03/29 23:12
>>25
その機能すげー良い。

ついでに、

% http://.../

で w3m が起動される機能欲しい。

28 :名無しさん@お腹いっぱい。:04/03/30 00:49
>>27
Prefix Aliases ってことか?
実装してるんじゃないの?
知らないケド…

29 :名無しさん@お腹いっぱい。:04/03/30 16:04
4.2.0にしてから、w3mの引数補完で~/.w3m/historyが補完されなく
なりました。4.0.7の_w3mを持ってきても補完されませんでした。
何か設定が必要なのでしょうか。

もう1つ質問があります。ローカルのファイルを引数にしたいのに、
それが補完対象にならないコマンド(appletviewerなど)があります。
そのようなコマンドに対してローカルのファイルも補完できるよう
にするにはどうすればいいでしょうか。

30 :名無しさん@お腹いっぱい。:04/04/02 20:22
Cygwin で zsh 4.2.0 にあげてみましたが、
svn コマンドの補完ってできてます?

% svn [tab]
とすると、
^M :log:
:add: :merge:
:blame:praise:annotate:ann:^M :mkdir:
(略)

というように表示され、さらに
% svn add [tab]
とすると

":add:": unknown command.


(改行が何個か混ざる)
となってしまいます。

スクリプトの改行コードがどこかおかしいのかと思いましたが、
/usr/share/zsh/4.2.0/functions/_subversion はちゃんとLFのみになっているようです。
今はとりあえずこのスクリプトを消していますが、ちゃんと補完できている方がいたら
設定を知りたいです。

31 :名無しさん@お腹いっぱい。:04/04/02 20:48
>>30普通にできているが。

32 :30:04/04/03 07:14
どうも、Windows の svn.exe を使っているのがいけなかったようです。

33 :名無しさん@お腹いっぱい。:04/04/04 21:16
日本語ファイル名を指定しようとして、xim対応端末で日本語を入力しようとすると、
kinput2で漢字を確定してもシェルのコマンドラインでは^^という文字しか出てこない。

setopt print_eight_bit以外に何か設定が必要?


34 :名無しさん@お腹いっぱい。:04/04/04 21:24
>>33
printeightbit

35 :33:04/04/04 21:59
>>34
いえ、ですから print_eight_bitはsetoptしてます・・・

zsh 4.2でunicode対応なんてどこかに書いてありましたか?

36 :名無しさん@お腹いっぱい。:04/04/05 12:03
> コマンドラインでは^^という文字しか出てこない。
山崎パッチがあたってませんか?

37 :名無しさん@お腹いっぱい。:04/04/05 16:42
tcsh はメッセージを別ファイルでいろいろいじれるみたいですけど、
zsh はできますか?

38 :名無しさん@お腹いっぱい。:04/04/05 17:40
>>37
ソースをいじる

39 :名無しさん@お腹いっぱい。:04/04/06 03:44
>>29
% diff share/zsh/4.1.1/functions/_java ~/.zfunc/_java
100c100
< '*:url:_urls' && return 0
---
> '*:appletviewerarg:->appletviewerarg' && return 0
575a576,581
> ;;
>
> appletviewerarg)
> _alternative \
> 'urls:url:_urls' \
> 'applet-files:HTML or java file:_files -g "*.(#i)(htm(|l)|java)"'


40 :29:04/04/06 08:01
>>39
ありがとうございます。補完できるようになりました。

41 :名無しさん@お腹いっぱい。:04/04/06 10:08
しかし、これを見ても一体何のことかさっぱり分からんな
難解だ

42 :名無しさん@お腹いっぱい。:04/04/06 11:09
% make -f ~/makefiles/foobar.makefile
みたいな場合に、targetが補完できない。
"~"をやめればいいのだけど。

43 :名無しさん@お腹いっぱい。:04/04/06 11:57
>>42
??? 普通にできるぞ。

44 :名無しさん@お腹いっぱい。:04/04/06 12:03
>>38
37は {,R,S}PROMPT 相当の話をしてるんじゃないのか?

45 :名無しさん@お腹いっぱい。:04/04/06 13:08
>>43
% make -f ~/cvs/w3m/Makefile awk: cmd. line:4: fatal: cannot open file `~/cvs/w3m/Makefile' for reading (No such file or directory)

あれ、こんな具合にならないのでしょうか。
4.0.7じゃ古過ぎたかな……。

46 :名無しさん@お腹いっぱい。:04/04/06 15:34
>>45
おれも4.0.7でいろいろ不具合があったが、4.2.0にしたら直った。

47 :37:04/04/06 18:47
>>44
いや、RPROMPT のことじゃなくて、

% grpe hoge
zsh: command not found: gpre

のようなメッセージ部分を

% grpe hoge
そのようなコマンドはありません (プゲラチョ

とかいうようにかえられないかと思ったのです。
tcsh ならカタログとかいうのがあるらしいですけど。

48 :名無しさん@お腹いっぱい。:04/04/06 19:38
>>47
( ´_ゝ`)フーン

49 :名無しさん@お腹いっぱい。:04/04/06 20:37
zsh本って早くでませんかね。
雑誌のシェル特集で取り上げられるぐらいですからね。
今のところは。

zshを使いたいのですが、今のところは、関連書籍が出ているbashで勉強して、
オライリーからzshの本が出てから移行することにします。
表紙はカモノハシです。

50 :44:04/04/06 20:46
>>47 なるほど.それは zsh ではできないんじゃないかと思います.
コマンド訂正メッセージは SPROMPT で変更できるんですけどね.


51 :名無しさん@お腹いっぱい。:04/04/06 20:49
>>49
市販の計算機関連書籍を購入するのは時間と金の無駄。特に、翻訳本はゴミ。
ネットワーク上には、遥かに優れたリソースが存在するのだから。

52 :名無しさん@お腹いっぱい。:04/04/06 20:56
>>51
> >>49
> 市販の計算機関連書籍を購入するのは時間と金の無駄。特に、翻訳本はゴミ。
> ネットワーク上には、遥かに優れたリソースが存在するのだから。

ただ単にカモノハシの表紙が見たかっただけです。

53 :名無しさん@お腹いっぱい。:04/04/06 20:58
>>52
http://images.google.com/images?q=%E3%82%AB%E3%83%A2%E3%83%8E%E3%83%8F%E3%82%B7&hl=ja&lr=&ie=UTF-8&inlang=ja&sa=N&tab=wi

54 :名無しさん@お腹いっぱい。:04/04/06 21:38
>>49
zsh 本家には逝ったのかな?
ttp://zsh.sunsite.dk/Intro/intro_toc.html
ttp://zsh.sunsite.dk/Doc/Release/zsh_toc.html
ttp://zsh.sunsite.dk/Guide/zshguide.html
ttp://www.acm.uiuc.edu/workshops/zsh/toc.html

最新の
ftp://ftp.win.ne.jp/pub/zsh/zsh-4.2.0-doc.tar.bz2

邦訳?
ttp://dengaku.org/naoki/comp/zsh/intro/intro.html
ttp://dengaku.org/naoki/comp/zsh/FAQ-J/zshfaq-j.html

おまけ:-P
ttp://www.faqs.org/faqs/unix-faq/shell/shell-differences/

55 :名無しさん@お腹いっぱい。:04/04/06 23:42
>>53
> >>52
> http://images.google.com/images?q=%E3%82%AB%E3%83%A2%E3%83%8E%E3%83%8F%E3%82%B7&hl=ja&lr=&ie=UTF-8&inlang=ja&sa=N&tab=wi

家にはオーストラリアで買ってきたもっとかわいいカモノハシの人形があるのです。
zshは得体の知れない雰囲気がカモノハシをイメージさせるのです。
カモノハシのように、水中でも地上でも万能だし。

なーるほど。web上ではきとんとした情報があるのですね。
でも、自分は、入門bashみたいな本をじっくり読み、脇に本を置きながら、操作したり、設定したりするのが好きなのです。
webを見ながらできる人にとっては、非常に効率が悪いのかもしれません。

56 :名無しさん@お腹いっぱい。:04/04/07 01:23
> 自分は、入門bashみたいな本をじっくり読み、脇に本を置きながら、操作したり、設定したりするのが好きなのです。
html2latex 経由とかで PDF 化して printout して製本すれば?

57 :名無しさん@お腹いっぱい。:04/04/07 01:49
zshオタ降臨

58 :名無しさん@お腹いっぱい。:04/04/07 03:27
手軽に設定できればいろいろ設定してみたいが
わざわざ膨大な量の英文を調べてまでやってみたいとは思わん

たかがシェルにそこまで時間をかけても仕方がないし

59 :名無しさん@お腹いっぱい。:04/04/07 04:23
> たかがシェル
御愁傷様♪

GUI盲目へ真っ逆さまw

60 :名無しさん@お腹いっぱい。:04/04/07 05:11
わずかな設定で楽ができることもあるし、
労多く功少ないこともある。
バランスが大事ですよ。

61 :名無しさん@お腹いっぱい。:04/04/07 07:41
まぁたかがシェルと言ったのは語弊があった。

しかしzshの現状を見るに、
setoptのオプションと、autoload -U compinit; compinit -uで可能なデフォルトの補完と
あとRPROMPT回りとか、そのあたりの設定方法はすぐ見つかるし、それだけの記述かなり便利になるが、
そこから先に進もうとすると、例えば独自の補完を書こうとすると、いきなり学習曲線が急になる。

それだけのコストはかけられないな、というのが本音。

62 :名無しさん@お腹いっぱい。:04/04/07 11:06
>>61
激しく同意

63 :名無しさん@お腹いっぱい。:04/04/07 12:02
>>61
>そこから先に進もうとすると、例えば独自の補完を書こうとすると、いきなり学習曲線が急になる。

それを分かち合うのがこのスレの目的。
みんなで知恵を絞りましょう。

64 :名無しさん@お腹いっぱい。:04/04/07 14:36
>>61
compinit -u の -u って何?

65 :名無しさん@お腹いっぱい。:04/04/07 21:22

To avoid these tests and make all files found be used without asking,  use the  option -u,

66 :名無しさん@お腹いっぱい。:04/04/08 00:09
>>56
> > 自分は、入門bashみたいな本をじっくり読み、脇に本を置きながら、操作したり、設定したりするのが好きなのです。
> html2latex 経由とかで PDF 化して printout して製本すれば?

なーるほど。そうすれば、表紙をカモノハシにすることもできますからね。

>例えば独自の補完を書こうとすると、いきなり学習曲線が急になる。
それだけのコストはかけられないな、というのが本音。

激しく同意でした。でも、そっから先の世界を体験したいという気持ちもあります。




67 :名無しさん@お腹いっぱい。:04/04/08 14:11
Writing Zsh Completion Functions
http://www.linux-mag.com/2002-07/power_01.html

わかりやすいよ。


68 :名無しさん@お腹いっぱい。:04/04/08 18:38
>>67
これイイですね。


69 :名無しさん@お腹いっぱい。:04/04/08 22:02
zsh の公式ページからリンクされている記事だね。たしかに読み易かった

70 :名無しさん@お腹いっぱい。:04/04/09 01:03
英語だからわからないという...
オライリーだせ

71 :名無しさん@お腹いっぱい。:04/04/09 01:41
oreily は英語だよ?

72 :名無しさん@お腹いっぱい。:04/04/09 01:42
o'reilly

73 :名無しさん@お腹いっぱい。:04/04/09 16:37
>>70
訳してみた.細かい訳文はヘンかもしれないけど,肝心の部分はまあ大丈夫だと思うよ.
http://www.ayu.ics.keio.ac.jp/~mukai/translate/write_zsh_functions.html


74 :名無しさん@お腹いっぱい。:04/04/09 17:19
   n                n
 (ヨ )              ( E)
 / |    _、_     _、_    | ヽ
 \ \/( ,_ノ` )/( <_,` )ヽ/ / good job!!
   \(uu     /     uu)/
    |      ∧     /

75 :名無しさん@お腹いっぱい。:04/04/09 22:29
>>72
> o'reilly
オライリーでした。

76 :名無しさん@お腹いっぱい。:04/04/10 00:21
>>73
gj.
ところでemacsには
超有名なcalcというrpn関数電卓がすでにあるよ。


77 :73:04/04/10 11:44
>>76
若さ故の過ちということで許してくれ…….2年くらい見てもいなくて,存在も忘れかけてたよ.見てて悲しくなったので消すことにした.
ちなみに, zsh の tips もほとんど修正してないので,あんまり信用しすぎないようにしておくれ.

78 :名無しさん@お腹いっぱい。:04/04/10 13:18
zshでできればいいと常々思っていること。

・java -jar 時に Manifest File に実行ファイルが設定されている.jarファイルだけの補完。
・シェルでのファイル名補完時にkogikuを用いて日本語をローマ字から補完。


無理だろうな無理だろうな無理だろうな・・・・


79 :名無しさん@お腹いっぱい。:04/04/10 15:31
>>78
自分で補完関数勉強すれば可能でないの?

>>67, >>73 読んでみたけどいまいちわからん・・・

俺は↓みたいな補完関数書いて.zshrcに追加してるけど、zstyleなるものは別物なんだよね?

compctl -K _hoge hoge
function _hoge () {
reply=()
for fuga in $(piyo)
do
reply=($reply "$fuga" )
done
}

80 :73:04/04/11 15:33
>>79
compctl は obsolete な機能になっちゃったんですよ. man zshcompctl
の冒頭に書いてあります.個人的にも, compctl はわけわからなくて
好きじゃなかった.
代わりの compsys ってのは,デフォルトの設定が充実していて,しかも
autoload -U compinit
compinit
って実行すればその環境が手に入る.
処理を全部関数に投げるので,かなり柔軟な処理が可能なはずなんだけど,
その分書き方がわかりづらい. zshcompsys は途中まで読んだけど投げ出した.

compctl だと, kill で普段はプロセスIDを補完,%のあとジョブを補完,
ハイフンのあとはシグナル名を補完,なんて芸当は相当難しいでしょ.
cvs のサブコマンドとかね. cvs とかを使ってると zsh の compsys は
まじ便利ですよ.

81 :名無しさん@お腹いっぱい。:04/04/11 16:40

zsh で、mailcap に書いてある拡張子を持つファイル(かつ、executableパー
ミッションがかかっているファイルだけだとなおよい)を指定するだけで、自
動的にそのアプリケーションで起動させることはできるでしょうか?

例えばプロンプトで、
zsh> hogehoge.pdf (改行)
と入力するだけで、xpdf hogehoge.pdf が起動するとか…


82 :名無しさん@お腹いっぱい。:04/04/11 17:04
>>81
できるよ

83 :名無しさん@お腹いっぱい。:04/04/11 19:06
>>81
君、過去スレ読んでないでしょ。実行権の部分はしらんが。

84 :名無しさん@お腹いっぱい。:04/04/12 05:36
>>81
alias -s pdf=xpdf
とすれば、実行権限に、関係なく
zsh> ./あほ.pdf
で、xpdf あほ.pdf
path に、カレントディレクトリを加えておけば
zsh> あほ.pdf
で O.K.


85 :名無しさん@お腹いっぱい。:04/04/12 07:17
>>81
実行権限の意味勘違いしてない?

86 :名無しさん@お腹いっぱい。:04/04/12 07:53
>>84
PATHは関係ないですぜ。

87 :名無しさん@お腹いっぱい。:04/04/12 09:44
前にも出たが http:// も識別可能になってるの?凄ぇ便利になるんだけど…

88 :名無しさん@お腹いっぱい。:04/04/12 12:41
alias -s って新機能なのね。4.0.4 だと man に載ってなかった。

89 :名無しさん@お腹いっぱい。:04/04/12 12:45
>>84
でもこの機能(過去ログによれば 4.2.0 の新機能)って,まだタブ補完ができない
んだよね.コマンド名+タブ補完の方が打鍵数が少ない.


90 :名無しさん@お腹いっぱい。:04/04/12 13:17
>>89
補完できるぞ。

91 :89:04/04/12 14:41
>>90 あれほんとだ.すいませんガセネタでした.

92 :名無しさん@お腹いっぱい。:04/04/13 14:25
4.2.0 にしてから、1文字の Makefile のターゲットが補完できなくなったっぽい。

93 :名無しさん@お腹いっぱい。:04/04/13 14:27
まあ、そもそも 1文字で補完が必要か、ちう話やね・・・

94 :名無しさん@お腹いっぱい。:04/04/13 18:33
>>93
make <tab>
ってやったときリストにも登らないってことでは?
やってみたらたしかにできないね
まあそもそも Makefile で1文字のターゲットを作るかというと……

95 :92=93:04/04/14 13:32
私はテストコードを t.c とかいう名前で作ることが良くあるんですよね。
でも、こんなの私だけなんでしょうね。

と思ってたのですが、さっき dietlibc のコード眺めてたら、t.c なんてのが・・・

96 :94:04/04/14 13:42
t.c だと3文字ターゲットになる気がするんだけど。

折角知ったので見てみましたが、パターンマッチのところで [^\/\t=]+: って
書いてあるので、この + を * に書き換えればオーケー(4個所あります)。実
験して確認しました。

ただ、なんで * じゃないかというのには何か理由があるんじゃないかな。何
かの make は1文字ターゲットを認識しないとか、そんな感じの理由。

97 :名無しさん@お腹いっぱい。:04/04/14 14:46
>>96
t: t.c
$(CC) t.c -o t

ってな感じで 1文字ターゲットになるんです。

で、調べていただいて、どうもです。
やっぱ件の和訳ドキュメントとか読んで補完を勉強しといた方が良さそうだなあ。

98 :名無しさん@お腹いっぱい。:04/04/16 22:58
>>89,90
補完できないんだけど..
何かの設定のせい? (PATH に . は入っています)


99 :90:04/04/16 23:05
漏れは PATH に . は入れてないからその差かな。
./<tab> ってやると補完されると思う。

100 :名無しさん@お腹いっぱい。:04/04/17 10:05
>>99
漏れは PATH に . 入ってないけど <tab> だけで補完できるよ。

101 :名無しさん@お腹いっぱい。:04/04/17 12:48
おれも>>100と同じ。
ただ、なにも入力していないときにtab押すとtabが入力される。

102 :98:04/04/19 15:49
compinit を使っていなかったからの模様。
autoload compinit; compinit で補完できるようになった。

compinit すると重そうなので使っていなかったんだが..
あまり変わらないかな。


103 :名無しさん@お腹いっぱい。:04/04/25 13:05
zsh-4.2.0を使っています。
suffix alias で、 拡張子が tar.gz のとき tar zxvf を実行させたいのですが、
alias -s tar.gz='tar zxvf'
としても、
zsh: 許可がありません
となってしまいます。
何か方法はありますか?

104 :名無しさん@お腹いっぱい。:04/04/25 14:33
>>103
おれは拡張子を見て展開するコマンドを作って、全部それにわりあ
てた。
alias -s gz=ta bz2=ta zip=ta lzh=ta tgz=ta tbz2=ta

105 :名無しさん@お腹いっぱい。:04/04/25 14:48
>>104
> おれは拡張子を見て展開するコマンドを作って、
そんなコマンドなかったっけ。perl かなんかだったような。

106 :名無しさん@お腹いっぱい。:04/04/25 14:50
alias -s html=w3m

これは基本。
しかし

^http --> w3m
^rtsp --> mplayer

にしたいんだ。

107 :103:04/04/25 15:05
>>104
拡張子が、 tar.gz か、 gz のみかどうかの判定を、
zsh じゃなくコマンドにやらせればいいのですね。
分かりました。

108 :名無しさん@お腹いっぱい。:04/04/25 15:21
>>106
参考になるかな?
http://sugi.nemui.org/doc/zsh/

109 :名無しさん@お腹いっぱい。:04/04/26 00:29
screen で zsh 使ってるときに
プロンプト直後で日本語(EUC-JP)を入力すると
1文字分(半角)左に表示がずれるのってなんで?

と思ったら zsh で日本語の表示がおかしくなる状況はそれだけじゃなかった。
まあいいや。


110 :名無しさん@お腹いっぱい。:04/04/26 01:58
>>109
konsole とか、 Emacs の term とかだと、ごみが付いたり。
gnome-terminal だと、自分の環境では付かないが。
誰か、hack して。

111 :名無しさん@お腹いっぱい。:04/04/26 03:41
fack ならしてやってもいいが、ただし相手を探してこい。

112 :名無しさん@お腹いっぱい。:04/04/26 05:25
本当のことを暴露するのか


113 :名無しさん@お腹いっぱい。:04/04/26 05:28
>>111
oh
miss spell
"fuck you"

114 :名無しさん@お腹いっぱい。:04/04/26 06:02
>>111
>>113
fack: 本当のことを言う


115 :111:04/04/26 13:00
faq you

116 :名無しさん@お腹いっぱい。:04/04/26 16:10
4.2.0 にしたら global で関数名が補完されなくなったような。

117 :名無しさん@お腹いっぱい。:04/04/26 16:10
あ、global って、 global っていうプログラム (コマンド) のことです。

118 :名無しさん@お腹いっぱい。:04/04/26 19:45
GNU Globalね。
http://www.gnu.org/software/global/

119 :名無しさん@お腹いっぱい。:04/04/26 21:11
global、あとlispを理解してくれればなあ。


120 :名無しさん@お腹いっぱい。:04/04/26 23:57
ignore_eof が off で バッファが空のときに ^D(eof) 送ると exit するけど、
これって prefix あっても(例えば ^X^D とか) exit しますよね。
^X^D とかでは exit してほしくないので ignore_eof を on にして
^D にバインドされている widget を、バッファが空のとき exit するように
したいのだけど widget から exit する方法がわからん。
その方法あるいは代替案があれば教えて頂きたい。


121 :名無しさん@お腹いっぱい。:04/04/27 00:30
例えばこんなのでいいのかな。しかし、たしかに ^X^D で抜けられるのは不便だな。
IGNORE_EOF は有効にしているから知らなかったけど。

delete-char-or-list-or-exit () {
if [ -z $BUFFER ]; then
BUFFER="exit"
zle accept-line
else
zle delete-char-or-list
fi
}
zle -N delete-char-or-list-or-exit
bindkey '^d' delete-char-or-list-or-exit

122 :120:04/04/27 01:54
ありがとうございます。
accept-line ですか。思いつかなかったな。
最終的には以下の2行を変更して使わせて頂きます。

if [[ -z $BUFFER ]]; then
> BUFFER=" exit"

[[ にしたのは特に意味無し。
" exit" は histignorespace を on にして。


123 :120:04/04/27 01:59
どうでもいいけどタブ表示残ってた。
BUFFER=" exit" ね。


124 :名無しさん@お腹いっぱい。:04/04/28 17:51
A User's Guide to the Z-Shell
を読んでいるんですが、他に良いドキュメントありますか?


125 :名無しさん@お腹いっぱい。:04/04/28 20:33
man zshall

126 :名無しさん@お腹いっぱい。:04/04/28 20:53
UNIX USER の zsh の連載が書籍になってくれたらなあ。

127 :名無しさん@お腹いっぱい。:04/04/28 22:57
zsh manual は、厳しすぎ。
英語の出来ない大学生には無理です。

128 :名無しさん@お腹いっぱい。:04/04/28 23:24
英語できる小学生にも無理。

129 :名無しさん@お腹いっぱい。:04/04/29 00:40
>>126
賛成+1

130 :名無しさん@Vim%Chalice:04/04/29 02:12
>>129
++

131 :名無しさん@お腹いっぱい。:04/04/29 02:15
>>127
そうか? どのへんが?

132 :名無しさん@お腹いっぱい。:04/04/29 13:34
>>131
英語で書かれてる辺りが。

133 :名無しさん@お腹いっぱい。:04/04/29 18:31
まあ、英語でもロシア語でも同じくらい分からん、という人も世の中にはいるでしょ。

134 :名無しさん@お腹いっぱい。:04/04/29 19:04
これって普通のことでしょうか?

localhost|3025% echo -n test
localhost|3026%

わたしのtestはどこ?


135 :名無しさん@お腹いっぱい。:04/04/29 19:05
locaの下

136 :名無しさん@お腹いっぱい。:04/04/29 19:14
>>134
unsetopt promptcr

137 :名無しさん@お腹いっぱい。:04/04/29 19:43
>>134自体はFAQなれど、
>>134-135
なぜか面白かった。


138 :名無しさん@お腹いっぱい。:04/04/29 20:46
便乗質問なんですが

% echo -n test
test%

となるのが嫌なんですが。
どういう場合でもプロンプトは新しい行におくことはできますか。





139 :名無しさん@お腹いっぱい。:04/04/29 21:00
>>138
promptを2行にすれ。

140 :名無しさん@お腹いっぱい。:04/04/29 21:48
>>138
function precmd () {
print ""
}
あはっ

141 :名無しさん@お腹いっぱい。:04/04/29 22:05
伝わっているとおもうんだけど

% echo -n test
test
%

% echo test
test
%

が好みの動作です。




142 :名無しさん@お腹いっぱい。:04/04/29 22:23
あなたがzshさんの立場だったとして、
どう区別してどう動作すればいいと思いますか?

143 :名無しさん@お腹いっぱい。:04/04/29 22:37
伝わってるよ。あそ。

144 :名無しさん@お腹いっぱい。:04/04/29 22:56
>>142
出力の最後が改行かそうでないか。

145 :名無しさん@お腹いっぱい。:04/04/29 23:35
>>138
その質問を待っていた。
zsh/4.?.?/functions/promptnl がその答えだ。
zsh/4.2.0/functions/Misc/promptnl だったりもする。
使い方は最初の 2行にある。
個人的には中に書いてある return 0 以下の the other way を勧める。
違いは

sleep 2
echo echo
echo hello

を 1秒以内に打込めば解る。

私はこれを知らずに同じものを作ってしまった。
しかも両方。


146 :名無しさん@お腹いっぱい。:04/04/29 23:51
>>145
good job!!!

147 :名無しさん@お腹いっぱい。:04/04/30 02:23
^P と ^N に history-beginning-search-{backward,forward}-end をそれぞれ割り当て
ていたが、{up,down}-line-or-beginning-search というのを知ってそれに乗り換えた。

今まで、複数行の履歴を編集するときの行移動には矢印キーを使うか、割り当て直した
M-p や M-n を使っていたが、いまひとつ使いづらかった。ずっと 4.0.x を使っていた
から、4.2.0 にするまで存在に気付かなかったよ。4.1.x には結構前に入ってたみたいだね。

tcsh からの移行者にお薦め

autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^P" up-line-or-beginning-search
bindkey "^N" down-line-or-beginning-search

148 :名無しさん@お腹いっぱい。:04/04/30 03:48
たしか前に NetBSD で kill の pid 補完がうまくいかないとか
書かれていた気がするけど、あれはもう解決したのかな?


149 :名無しさん@お腹いっぱい。:04/04/30 05:31
zsh> my_print hoge
としたとき、"h"と"o"と"g"と"e"の間に、 sleep 0.1 を挟みたいのですが、
どうやったら $1 から、文字をとりだせますか?

150 :名無しさん@お腹いっぱい。:04/04/30 15:50
my_print () { for ((i=1;i<=$#1;i++)) { echo -n ${1[i]} ; sleep 0.1 } }


151 :名無しさん@お腹いっぱい。:04/04/30 17:44
history-incremental-search-{forward,backward} の最中に
search string を BUFFER に転写する方法はありませんか?


152 :109:04/04/30 20:17
まあいいと言いつつ調べてみた。
プロンプト直後で 2文字( 2バイト )入力すると
1文字目と 2文字目の入力に対する出力はそれぞれ

a_ -> a ( _ はカーソル )
ab_ -> a^Hab ( ^H はバックスペース )

となり何故か 1文字目を出力し直している。
この 2バイトが日本語(EUC-JP)のとき
screen だと 1バイト目と 2バイト目の間に出力されるバックスペースの影響で
1文字分(半角)左に表示がずれるみたい。


153 :名無しさん@お腹いっぱい。:04/05/02 13:53
set-mark-command などで選んだ region を反転させることは出来ますか?


154 :名無しさん@お腹いっぱい。:04/05/02 17:52
常に反転させとくの?
なんだか見辛いような気が。


155 :153:04/05/02 17:56
Emacs でも region をハイライト出来るので、
Zsh にもやってほすぃ。

156 :名無しさん@お腹いっぱい。:04/05/02 17:58
最近、bashからscreen+zshに移行してみた。
すげー快適だわ、まじで。
zshマンセー(´∀`)


157 :名無しさん@お腹いっぱい。:04/05/02 18:01
Emacs でも $ふがほげ 出来るので、
Zsh にもやってほすぃ。

$ふがほげ にいろいろ代入してみよう。

158 :名無しさん@お腹いっぱい。:04/05/02 19:15
>>156
bashから移行を考えてますが、どんな点に気をつけたらいいでしょうか?

159 :名無しさん@お腹いっぱい。:04/05/02 19:21
Emacs でもテトリス出来るので、
Zsh にもやってほすぃ。

160 :名無しさん@お腹いっぱい。:04/05/02 19:24
>>159
意味がわからん。やればいいじゃん。

161 :名無しさん@お腹いっぱい。:04/05/02 19:26
autoload -U tetris
M-x tetris

162 :名無しさん@お腹いっぱい。:04/05/02 19:33
156ではないが
>>158
bashからなら移行しやすいんじゃないかな。
デフォルトではbashとは違うところがあるが、オプションで直せる。
man zshoptionsの<S>がついてるオプションを設定すればいい。
ちょっと古いが訳がある。
http://www.ayu.ics.keio.ac.jp/members/mukai/tips/zshoption.html

163 :名無しさん@お腹いっぱい。:04/05/02 20:31
autoload -U hanoi
M-x hanoi

164 :名無しさん@お腹いっぱい。:04/05/02 21:50
基本的に
autoload -U compinit; compinit
これだけやっとけば十分使えると思います。
後はおいおい setopt で自分好みに設定してくと。

あと、環境変数を EDITOR=vi
にしてる場合は、 bindkey -e
しないと vi キーバインドになるので注意。


165 :名無しさん@お腹いっぱい。:04/05/02 23:39
Emacs には Eliza ちゃんがいるので、
Zsh にもやってほすぃ。


166 :名無しさん@お腹いっぱい。:04/05/02 23:44
Emacs には〜 シリーズだと,for 文とかで複数行に
なるときに,自動でインデントしてくれたりとか,
文法上の特殊キーワード/記号類に自動的に色を付けてくれたり,
とかはあると嬉しいかも... (もしかして既にあったりします?)

167 :名無しさん@お腹いっぱい。:04/05/03 00:19
>>110
日本語文字入力毎に redisplay するとか
bindkey 日本語文字 self-insert-and-redisplay
みたいに なんか点滅しそうだけど


168 :名無しさん@お腹いっぱい。:04/05/03 00:26
よく考えたら日本語文字だけじゃダメだわ


169 :156:04/05/03 11:27
>158
Gentooしか使って無いから、
他のディストリの場合とかよく分かんねーけど、
移行自体は特に難しいこととか無かったよ?

それより、Webで検索しても、
日本語で初心者向けにまとめられた情報が少ないんで、
Googleでひっかかったblogとか片っ端から読んで試行錯誤しますた。

解説してるサイト見ると、
~/.zshに設定ファイル小分けにしてるのが多いけど、
めんどくさくて、.zshrcに全部ぶち込んでるw

とりあえず、俺はまだ左右プロンプト、キーバインド周り、
エイリアス、補完、ヒストリ、ゴミ箱あたりの設定をして
使ってる状態です。


170 :名無しさん@お腹いっぱい。:04/05/03 12:21
zsh にゴミ箱機能ってあるん?

171 :名無しさん@お腹いっぱい。:04/05/03 12:54
prompt の設定だけで、200行越えてます。
もっと強者の設定を見たいのですが、
誰か公開してくれませんか?

172 :156:04/05/03 13:08
>170
zshの機能じゃなくて、人様のblogからぱくったやつざんす。
混同するようなこと書いてスマンコ

function trash () {
 mv $* ~/.trash
}
alias rm='trash'
alias trash-look='ls -al ~/.trash-dir/ 2> /dev/null'
alias trash-clean='\rm -rf ~/.trash-dir/* 2> /dev/null'

>171
プロンプトだけで200行も書けるってのが、
ある意味すごいと思うが。


173 :名無しさん@お腹いっぱい。:04/05/03 13:08
まず自分から公開するのが筋というものだろう。
「もっと強者」かどうか判断する事もできないし。

174 :170:04/05/03 14:09
>>172
りょうかーい。ちなみに俺は libtrash 使ってるんだけどちょっと大げさな気
がしないでもない。

175 :名無しさん@お腹いっぱい。:04/05/03 14:25
おれはこんなのを使ってる。linux magazineを参考にした。
#!/usr/bin/env bash
set -f
gomi=$TMP/gomi
date=`date +%y%m%d`
mkdir -p $gomi/$date
gomi=$gomi/$date
for i
do
  file=`basename "$i"`
  if [ -e $gomi/"$file" ]; then
    echo rm "$file.$$"
    mv "$i" $gomi/"$file.$$"
  else
    mv "$i" $gomi
  fi
done

176 :175:04/05/03 14:26
linux worldだったかも。

177 :名無しさん@お腹いっぱい。:04/05/03 14:42
SDしか立ち読みしてない…

178 :名無しさん@お腹いっぱい。:04/05/03 14:44
>>175
よく分かりませんが i の範囲は任意ですか?

179 :名無しさん@お腹いっぱい。:04/05/03 15:23
>>178
for i == for i in "$@"

180 :名無しさん@お腹いっぱい。:04/05/03 18:23
面白そうだから公開してみる。
PROMPT の設定。

PROMPT は "host名 % "、
RPROMPT にはカレントディレクトリと、
あと screen 使ってる時は RPROMPT に $WINDOW(screen の番号)、
そうでない時は tty 番号を表示。
昔は色付けとかやってたけど、結局シンプルに戻した。

if [ "$TERM" = "dumb" -o "$TERM" = "emacs" ];then
PS1='%w %~ %% '
elif [ "$TERM" = "screen" -o "$TERM" = "screen-w" ];then
PROMPT='%m %% '
RPROMPT='[%~] %USc.$WINDOW%u'
else
PROMPT='%m %% '
RPROMPT='[%~] %U%l%u'
fi

200行のプロンプトというのをぜひ見てみたい。

181 :名無しさん@お腹いっぱい。:04/05/03 18:47
みなさん、 .zshrc は何行ぐらいですか?
私は、200行もいってないなぁ(´∀`)

182 :名無しさん@お腹いっぱい。:04/05/03 18:57
>>181
% wc -l .emacs
494 .emacs
% wc -l .zshrc
117 .zshrc



183 :名無しさん@お腹いっぱい。:04/05/03 19:23
% wc -l .zshrc .zshenv .zlogout
152 .zshrc
158 .zshenv
30 .zlogout
漏れのプロンプトは、
PROMPTTTY=`tty | sed -e 's/^\/dev\///'`
PROMPT="[%B${cyan}%~${default}%b] <%B${PROMPTTTY}%b> %E
%b%# "
if [ `whoami` = root ]; then
RPROMPT="${red}%B%n${default}%b@${logreen}%m${default}%b"
else
RPROMPT="${loyellow}%n${default}%b@${logreen}%m${default}%b"
fi
SPROMPT="${red}Correct ${default}> "\''%r'\'' [%BY%bes %BN%bo %BA%bbort %BE%bdit] ? '

こんな感じ。 ${red} とかは
red="%{$(echo -n '\e[1;31m')%}"
とかで全部設定してる。 UNIX User の連載で、色の設定はちゃんと zsh に組
込まれてるって読んだことがあるけど、設定変えるの面倒がっているうちに忘
れてしまった……。

RPROMPT にパスを入れとくと、パスが長くなったときにうっとうしいと思う。
普通のプロンプトに入れて改行するのが楽で良いと思う。


184 :名無しさん@お腹いっぱい。:04/05/03 19:33
% wc -l .zsh*
61073 .zsh-history
39 .zshenv
52 .zshrc


185 :名無しさん@お腹いっぱい。:04/05/03 20:38
.zshrcをスリムにしたいんですがどうしたらいいでしょう?
もう200000行を越えてzshの起動にやや時間がかかります。



186 :名無しさん@お腹いっぱい。:04/05/03 20:44
>>185
zshrcが20万とはすごい。
13017 zhistory
10 zlogin
1 zlogout
1 zprofile
32 zshenv
279 zshrc
137 setenv (sh系共通の環境変数設定ファイル)
ちなみに
587 emacs
426 vimrc

187 :名無しさん@お腹いっぱい。:04/05/03 21:06
おいおまいら
ttp://www.dotfiles.com/
にうpしれよ
ただし、しょーもないのは止めとけ
まぁここに行数だけ晒してるのはほとんどしょーもないのだろうけどな

188 :名無しさん@お腹いっぱい。:04/05/03 21:11
やっぱ prefix alias って出来んのかな。
$ http://... って入力したら w3m で
$ ftp://... って入力したら ncftp とかやりたいんだけどなぁ。

189 :名無しさん@お腹いっぱい。:04/05/03 21:17
>>188
試してないけど >>108 のは?

190 :名無しさん@お腹いっぱい。:04/05/03 21:22
>>189
失礼。見逃してた。
ちと見てみる。ありがと。

191 :名無しさん@お腹いっぱい。:04/05/03 21:39
setopt share_history
setopt extended_history
setopt hist_ignore_dups
setopt hist_ignore_all_dups
setopt hist_reduce_blanks
setopt hist_save_no_dups
この辺をやればダブりもなくなるし少なくならない?

192 :171:04/05/03 21:43
>> 187
しました。

193 :名無しさん@お腹いっぱい。:04/05/03 21:58
>>192
マヂでキモッ。
2byte文字禁止なんだけど。この恥じ晒しめ!!

194 :名無しさん@お腹いっぱい。:04/05/03 22:11
そりゃ 200 行越えるわな。

195 :名無しさん@お腹いっぱい。:04/05/03 22:16
ワロタ

196 :名無しさん@お腹いっぱい。:04/05/03 22:22
>>192
すてき。

197 :名無しさん@お腹いっぱい。:04/05/03 22:30
つんく♂も入れてやれよ。

198 :名無しさん@お腹いっぱい。:04/05/03 22:36
モーヲタキモッッ

199 :名無しさん@お腹いっぱい。:04/05/03 23:34
>>171 の狂気を見抜けなかった >>187 の罪は重い。

200 :158:04/05/04 02:29
>>156,162,164 その他皆さん
ありがとう。bindkey -e ははまりました。
一瞬、私ごときが使ってはいけない神々のシェルなのかと思いました。


201 :名無しさん@お腹いっぱい。:04/05/04 02:45
>>200
171みたいに、なっちゃだめだよ。

202 :名無しさん@お腹いっぱい。:04/05/04 02:59
タイトルバーがなんか淋しいんで動きのあるものを表示させてみた。
元ネタはttp://www.matatabi.or.jp/~matusita/kurukuru-MAR_kun/products/zsh.script
.zshrcに以下を追加してます。
#-------------------------------------
MAR_kun=(" (゜∀゜)"\
" (゜∀゜)"\
" キ( ゜∀)!!"\
"  キター(  ゜)!!!!"\
" キターー(  )--!!!!"\
" キタ━(゜ )━!!!!"\
" キタ━(∀゜ )━!!!!!"\
"キタ━━(゜∀゜)━━!!!!!"\
"キタ━━(゜∀゜)━━!!!!!")

MAR_kun_idx=0

function nowtime(){
while true; do
MAR_kun_idx=$[($MAR_kun_idx % $#MAR_kun) + 1];
echo -ne "\033]2; $MAR_kun[$MAR_kun_idx]\007";
usleep 40000;
done
}
#---------------------------------------
ちょっといいことがあった時などに、
$ nowtime &
とかしてバックグラウンドで動かして遊んでまつ。

203 :名無しさん@お腹いっぱい。:04/05/04 04:15
>>202
つい、
A(n+1) = A(n) % p + q
を解いてしまった。
A(n)は、p個の整数でしかあり得ないので、A(n) は、高々周期 p で、繰り返す。
受験時代が、懐かしいな。

ところで、配列の宣言で、バックスラッシュがあるのは何で?
while 中のセミコロンは何?


204 :名無しさん@お腹いっぱい。:04/05/04 09:31
行頭に移る esc sequence ってどんなのだっけ?
その他,VT 制御(?)一覧みたいなのってどこかにある?
(例えば色指定だと 赤:'\033[0;31m' みたいなもの一覧)


>202 って毎回行頭に移ってくるくるしないとイミがなくね?
"\033]2" がそれなのかな? 手元の kterm では
そういう感じに動作してくれなかった.


205 :名無しさん@お腹いっぱい。:04/05/04 09:47
>>204
man printf と↓で大体分かるよ。

ttp://www.emaillab.org/mutt/1.2/manual_ja-2.html

206 :名無しさん@お腹いっぱい。:04/05/04 10:03
>>204
行頭に移るってのはないと思う。
man termcap
man terminfo
もしあったとして、terminfoでhomeという名前だったら
このように出力できる。
tput home

207 :名無しさん@お腹いっぱい。:04/05/04 10:05
>>204
ほとんどの端末はこれでいけると思う。
tput cub 1000

208 :名無しさん@お腹いっぱい。:04/05/04 10:06
>>204
ぼけてました。行頭に移るのはCRです。
tput cr

209 :名無しさん@お腹いっぱい。:04/05/04 13:22
>>204
見つけたよ、エスケープシークエンス集。下のリンクは rxvt の配布物みたい。

ttp://cns.georgetown.edu/~Eric/howto/Xterm-Title/ctlseq2.txt
ttp://cns.georgetown.edu/~Eric/howto/Xterm-Title/xterm.seq

210 :名無しさん@お腹いっぱい。:04/05/04 14:58
>204 ですが,手元の環境では "半角カナ" のせいで,うまく
titlebar に行かないみたいでした(\e]2で titlebar 送りですね).

で,>208 の tput cr で kterm 内で使えました.ありがとう.


211 :名無しさん@お腹いっぱい。:04/05/04 17:09
http://www.ono.org/software/zsh-euc/
のパッチを当てるとき、いちいち当てるファイル名を指定しなければならなかったのですが、
私だけでしょうか?


212 :名無しさん@お腹いっぱい。:04/05/04 17:12
>>211
zshのディレクトリで
patch -p2 <zsh-4.2.0-euc-0.2.patch

213 :名無しさん@お腹いっぱい。:04/05/04 17:23
>>212
-p2 か。
気付けなかった。

ところで、
zsh> $HOME
と入力して、list-expand すると、暴走します。
私だけでしょうか?

214 :名無しさん@お腹いっぱい。:04/05/04 17:34
暴走しないな。

215 :名無しさん@お腹いっぱい。:04/05/04 18:18
zsh -f でやったら、暴走しないので、設定の違いですね。
気が向いたら、原因を調べたいと思います。


216 :名無しさん@お腹いっぱい。:04/05/04 18:26
>>211
それってどう変わんの?
FreeBSD で ports/shells/zsh+euc_hack 入れてみたけど違いがわからん
forward-char とかが変わるんだよね?
ports の euc_hack は効いてないのかな


217 :名無しさん@お腹いっぱい。:04/05/05 01:59
例えば、日本語一文字を消すのに backward-delete-char 一回で O.K.
patch を当てないと二回必要でした。

218 :名無しさん@お腹いっぱい。:04/05/05 02:13
Suffix Aliases ってウィンドウズの関連づけみたいなもん?

219 :名無しさん@お腹いっぱい。:04/05/05 02:44
ウィンドウズの関連づけが、分かりません。

220 :202:04/05/05 13:26
>>204

遅レスですが、VT 制御(?)一覧みたいなの?はこれみて勉強しました。
http://ayapin.film.s.dendai.ac.jp/~matuda/TeX/PDF/9th.pdf

>>209
なんかリンク切れみたいです。。

221 :名無しさん@お腹いっぱい。:04/05/05 13:42
>>220
済みません。ブラウザの URL エンコーディングがうまく行ってないみたいです。
~Eric じゃなくて ~ric でした。中身はその PDF にも書かれている、rxvt の配布物です。

ttp://cns.georgetown.edu/~ric/howto/Xterm-Title/ctlseq2.txt
ttp://cns.georgetown.edu/~ric/howto/Xterm-Title/xterm.seq

222 :216:04/05/05 19:50
>>217
それが変わらないんだよね。2回のままで。
LANG=ja_JP.eucJP
LC_ALL=ja_JP.eucJP
でやってみたんだけど。
特に困らないからいいけど。


223 :名無しさん@お腹いっぱい。:04/05/05 19:58
>>222
tar ボール から、patch を当ててやってみよう!!
まぁ、特に困らないからいいけど。

224 :名無しさん@お腹いっぱい。:04/05/06 06:21
       /ヽ      |   i     i ヽ   \   \ o    *
     __/  ヽ_ /  |   |     |  \   ヽ   ヽ     .   . 
     \     /   /   /    /     ヽ    |    |+
.       | ∧  |    /   /    /      |   |   |. .  .
      レ  \|  /  /   /      |  |   | 。. ★  ☆
        |   |  |                        |       。.    .
         |   |  |     /\           /\    |   . ☆  +
.        |   |  |   ..::::::::::::...                 ..:::::::... | + 
       |   |  | *        ー――――       /    . .   ☆
      /   / γ´~⌒ヽ.                     /☆ . *  +.  .
     /  / /      ヽ                /⌒ヽ、
:~>

という PROMPT にしたのですが、ls と打っても PROMPT で見えなくなってしまいます。
この場合、どんな解決策があるのでしょうか?


225 :名無しさん@お腹いっぱい。:04/05/06 15:00
とりあえずPROMPTを
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     | 
    ヽ:::::::::::::::::::.  \/     ノ 
:~>
に変更する。

226 :名無しさん@お腹いっぱい。:04/05/06 15:38
端末を縦横に広げる

227 :名無しさん@お腹いっぱい。:04/05/06 16:18
ls && sleep 10

228 :名無しさん@お腹いっぱい。:04/05/06 16:36
mkfifo /tmp/ls.result とかしてから端末を2つ用意する。
端末1 $ ls > /tmp/ls.result
端末2 $ while true; do tail -f /tmp/ls.result 2>/dev/null; done

229 :名無しさん@お腹いっぱい。:04/05/06 16:41
ls | less

230 :名無しさん@お腹いっぱい。:04/05/06 22:42
PROMPT=''

231 :名無しさん@お腹いっぱい。:04/05/06 23:13
おまいらイイ奴等ですね。

232 :名無しさん@お腹いっぱい。:04/05/07 08:09
何も入力されてないときに、TAB を押すと TAB が、挿入されますが、
例えば、expand-or-complete を他の key に割り当てると、
何も入力されてないときに、その key を押しても、何もないところからちゃんと補完されます。

この動作はどこから来るもので、そして、何も入力されてないときにも、^I で、割り当てられた
expand-or-complete を実行させるにはどうすればよいのでしょう?

233 :名無しさん@お腹いっぱい。:04/05/07 08:13
何も入力されてないときに補完なんかする?
5000ぐらい候補がでるけど。

234 :232:04/05/07 08:40
tcsh を使ってる友人が、TAB が挿入されるから zsh は、だめだ。
と、言っていたので、ぜひ、出来ることを示したいのです。

ちなみに、学校の Solaris では、その5000個の候補を表示するのに 10 秒位かかります。

235 :名無しさん@お腹いっぱい。:04/05/07 09:29
zstyle ":completion:*" insert-tab no
とかかな。コンテキストをもっと絞ったほうがいいのかもしれんが

236 :名無しさん@お腹いっぱい。:04/05/11 07:26
/usr/local/share/examples/zsh/zshrc にある
zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
'*?.old' '*?.pro'
の '*?.c~' の部分って効いてないような。


237 :名無しさん@お腹いっぱい。:04/05/11 19:24
http://homepage1.nifty.com/blankspace/zsh/zsh.html#abbrev
を使っていますが、shell を起動してしばらく使っていると、[space] を押すと、

my-expand-abbrev:2: job table full

と、なってしまいます。
どなたか、解決法をご存じでしょうか?

238 :名無しさん@お腹いっぱい。:04/05/11 23:51
ご存じないけど、2 ってのは変わらないの?
あと、そのときの jobs の結果は?


239 :237:04/05/12 00:37
数字の部分は、さっきは、最初1回だけ 3 で、そのあとは、ずっと 2 でした。
jobs の結果は、普段と同じです。


240 :名無しさん@お腹いっぱい。:04/05/12 10:16
manの補完をするためには何をすればいい?
autoload -U compinit; compinit
をやったがmanの補完をしてくれない。
RH9で4.2.0を使っている。
MANPATHはこのようになっている。
MANPATH=$HOME/man:/usr/share/man:

241 :名無しさん@お腹いっぱい。:04/05/12 14:48
基本的には autoload -U compinit; compinit だけでできるはずなので、設定
がちゃんとしているか確認した方がいいと思います。

1. 他のコマンドで補完が効くか確認する
2. fpath の値を調べる( echo $fpath )
${prefix}/share/zsh/4.2.0/function になっていないとダウトの可能性高し。
3. fpath のところにシェル関数がちゃんとあることを確認。
4. _man があるかどうか調べる( which _man )
なんかずらずらとシェルコマンド(シェル関数)が出てきたら正解
5. 正しく man が _man を呼んでいるかどうか調べる

問題は 5. だと思うんだけど、確認の仕方はちとわからんです。

あとは、 .zcompdump があれば、その中に
man _man
という行があるか確認する。ないと、ダメかも。その場合は .zcompdump を削
除して zsh 再起動すると直ると思う。

242 :名無しさん@お腹いっぱい。:04/05/12 15:06
>>241
ありがとうございます。
alias man=w3mmanが原因でした。
aliasしちゃうとだめなんですか?

243 :名無しさん@お腹いっぱい。:04/05/12 15:42
あ、俺も今まで man の補完ができねーと思ってたのだが、
alias man=jman としてたのが原因だったのか。

alias man=... してても補完できる方法があれば俺も知りたいです。

244 :名無しさん@お腹いっぱい。:04/05/12 15:58
>>242-243 たぶん、 alias の元のコマンドを見て判断しているからなのだと
思います。試してないのですが、man 読んだ感じでは
setopt COMPLETE_ALIASES を設定すると alias を補完時に展開しないようです。

が、そもそも、 w3mman や jman を普通に使う場合でも _man を呼ぶように工
夫する方が方向性としては正しい気がします。 ${fpath}/_man の最初の行に
w3mman と jman を加えるだけなので、そちらをやってみてはいかがでしょうか。


245 :242:04/05/12 16:02
>>244
どうも。COMPLETE_ALIASESでできました。

246 :243:04/05/12 16:14
>>244
俺は setopt COMPLETE_ALIASES だと困ってしまうことの方が多そうなので、
後者の方でやってみたら、うまくいきました。
ありがとうございました。

247 :名無しさん@お腹いっぱい。:04/05/12 16:17
~/.zshrc で compdef _man w3mman


248 :243:04/05/12 16:32
>>247
おお、それでいけました。ありがとうです。

249 :名無しさん@お腹いっぱい。:04/05/13 23:25
>>237
余計なお世話だが space 押す毎に sed 呼ぶのは負荷が大きいような。

my-expand-abbrev () {
local MATCH
LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#}
LBUFFER+=${myabbrev[$MATCH]:-$MATCH}
zle self-insert
}

とすると軽くなると思う人がいる。EXTENDED_GLOB が要るけど。
local MATCH=
の方がいいかも。
これで job なんたらも直るかも。直らないか。


250 :名無しさん@お腹いっぱい。:04/05/13 23:26
>>243
jman なら

% diff site-functions/_jman 4.2.0/functions/_man
1c1
< #compdef jman
---
> #compdef man apropos whatis
19d18
< _manpath=( ${^_manpath}{,/${LANG}}(N) )
23c22
< _manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|pkg|local)/(cat|)man(-/) )
---
> _manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/) )

で ja only の page も LANG=ja で補完できる。
と思ったけど、これじゃ man 直下に ja_JP.EUC と ja_JP.eucJP があったりするとだめだね。
jman だから _manpath=( ${^_manpath}{,/ja*}(N) ) でいいのかな?よくないか。


251 :249:04/05/14 01:56
zle self-insert は勘違いだった。
key bind が何であれ空白を追加すべきか。


252 :名無しさん@お腹いっぱい。:04/05/15 08:51
g++ で補完しようとすると、*.c 、*.cc だけ補完されて、*.cpp は、補完されません。
cpp も補完されるようにするには、どうすれば良いですか?

253 :名無しさん@お腹いっぱい。:04/05/15 14:04
PROMPT="%B%U$USER@%m%%%b%u "
RPROMPT="[%~]"

これは確かこのスレの初期に晒されたものだと思うのですが
気に入って数年間使っていました。しかし、 C を勉強する
ようになってから、思わぬ不具合に遭遇してしまいました。

#include <stdio.h>
main(){
printf("Hello, ZSH")
}

のように、改行コードの入っていないプログラムを実行すると
何も表示されないのです。

#include <stdio.h>
main(){
printf("Hello, ZSH\n")
}
のように改行コードを入れれば Hello, ZSH と表示されます。
csh で試したところ、この問題はでないので、.zshrc のどこ
かが関係していると思うのですが、誰か検討付く方はいませんか?


254 :名無しさん@お腹いっぱい。:04/05/15 14:13
>>253
>>134-136

255 :名無しさん@お腹いっぱい。:04/05/15 14:19
>>254
ありがとう。
しかも;が抜けていた…。ショボーソ

256 :名無しさん@お腹いっぱい。:04/05/15 14:49
>>253
そんなプログラム書くな、というzshの警告です。

257 :名無しさん@お腹いっぱい。:04/05/15 15:14
これだけ頻出だと、テンプレに入れとくべきだな。>改行無し出力消失問題

258 :名無しさん@お腹いっぱい。:04/05/15 20:02
>>252
いま見てみたけど
share/zsh/4.2.0/functions/_gcc の 16行目あたりじゃないかな
試してないけど


259 :名無しさん@お腹いっぱい。:04/05/15 22:27
>>258
ありがとうございました。
16 行目に cpp を追加したら、うまくいきました。

# というか、C++ の拡張子で、cpp はマイナーなのかな?

260 :名無しさん@お腹いっぱい。:04/05/15 22:38
こういうとき、配布物を直接いじらずに zstyle を使うのがスマートなんだろうが、
正直言ってよくわからん

261 :名無しさん@お腹いっぱい。:04/05/15 23:01
>>252,259です。
zstyle ':completion:*:*:g++:*' file-patterns '*.(cpp|c++|c|C):c++\ files *(-/):directories'
とか書いてみたのですが、正しいのかどうか分かりません。
誰か、zstyle が分かるハカー居ませんか?

262 :名無しさん@お腹いっぱい。:04/05/15 23:01
>>260
配布物いじるとバージョンアップのとき面倒だよね。
zshrcで済むならそっちに越したことはない。

263 :258:04/05/16 00:11
260 読んで色色試してたら 261 が書き込まれてた
一時間もたってたのか
とりあえず試した結果としては
zstyle ':completion:*:*:g++:argument-rest:*' file-patterns '%p|*.cpp(-.):globbed-files *(-/):directories' '*:all-files'
でいいみたい
globbed-files と directories を空白でつなげることに気付くまで時間がかかった
261 を早く読んでればよかったよ
_complete_help の結果に近い、最小の修正だと思うがどうか


264 :261:04/05/16 01:38
>>263
良いですね。
乙ですた。


265 :名無しさん@お腹いっぱい。:04/05/16 01:44
-o の補完候補にはなってほしくないだろうから、>>263 に倣えば
zstyle ':completion:*:*:g++:option-o-1:*' file-patterns '%p~*.cpp(-.):globbed-files *(-/):directories' '*:all-files'
とでもすればいいのかな

266 :名無しさん@お腹いっぱい。:04/05/16 18:27
うーん何をやってるのか全然分からん

267 :名無しさん@お腹いっぱい。:04/05/16 22:01
いまさらながら
zstyle ':completion:*:*:g++:argument-rest:*' file-patterns '%p|*.cpp(-.):globbed-files %p:directories' '%p:all-files'
の方がいいかと思い試してみたがうまくいかない。なんで? %p の意味を勘違いしてるのかな。
まあ * で問題ないけど。
ついでに、これ試してるときに初めて _next_tags の使い方を知った。これと似た機能で上の場合に
globbed-files と directories の一方を選択するのないかな?
と思ったけど多分ないね。それより globbed-files、directories の順でソートするんはないかな。
file-sort に tag とか file-type とかないみたいだし、無理かな。


268 :名無しさん@お腹いっぱい。:04/05/16 22:08
調べてみたら %p の意味を勘違いしていた。
* でいいみたい。


269 :名無しさん@お腹いっぱい。:04/05/17 09:16
バックグラウンドで、running な job を suspended にするコマンドを、教えてください。


270 :名無しさん@お腹いっぱい。:04/05/17 11:36
>>269
kill

271 :名無しさん@お腹いっぱい。:04/05/17 17:15
コマンドを補完した後、スペースが付いている状態で
% foobar _
パイプに渡すために '|' をタイプすると空白が勝手に消えてしまいます。
% foobar|
空白があった方が見やすいので、空白を削除しないでほしいのですが、
どうするとできるでしょうか。
(パイプを多段で使うことはよくあるので、コマンドの前後には空白が
あってほしいのです。)

272 :名無しさん@お腹いっぱい。:04/05/17 18:22
消える方がおかしいのではないか

273 :名無しさん@お腹いっぱい。:04/05/17 18:26
ああ、一意に補完できたときはそんな風になるみたいだな。
| を入れる前にスペースを押せばいいようだが…

274 :名無しさん@お腹いっぱい。:04/05/17 21:23
コマンドだけじゃなくて、ファイルでもなりますね。
スペース押せばいいんだけど、既にスペースが挿入されている(ように見える)
所にスペースをタイプするのは気持ち悪い感じ。
何かのオプション設定かと思ったんですが、違うのかな。

275 :名無しさん@お腹いっぱい。:04/05/17 23:00
余計なスペースがある方が嫌だという主義なんじゃないかな。
同様なものにディレクトリ末尾の/や{}中の,などがありますね。
たぶん zstyle でなんとかできるんだろうけど、漏れにはわからないっす。

276 :名無しさん@お腹いっぱい。:04/05/17 23:34
| 以外にも & も似たような動作をするようだね。ディレクトリ末尾の/はオプションで
制御できるし、この動作も zstyle で何とかできそうだと思ったが、どうも適当なのが
見付からない。賢くないやり方だとこんなのか。

self-insert-pipe () {
if [[ $LASTWIDGET == *complete* && $LBUFFER[$CURSOR] == " " ]]; then
zle -U ' |'
else
zle .self-insert
fi
}
zle -N self-insert-pipe
bindkey '|' self-insert-pipe

277 :名無しさん@お腹いっぱい。:04/05/18 09:42
ちょい前にbashからzshに移行したんですが
パスの入力中などにAlt+BackSpaceすると
ディレクトリ単位でさくさく消せていたのが、
パス全体が一括で消されるようになってしまいました。

$ /var/www/hoge/fuga ←ここでAlt+BSすると
$ /var/www/hoge ←こうなっていたのが
$ ←こうなってしまう

どうすればbashの時と同じ挙動に出来るでしょうか?
ちなみにOSはGentooっす。


278 :名無しさん@お腹いっぱい。:04/05/18 09:54
>>277
おれはこうやってる

bindkey -e
tcsh-backward-delete-word () {
  local WORDCHARS=
    zle backward-delete-word
}
zle -N tcsh-backward-delete-word
bindkey '^W' tcsh-backward-delete-word

279 :名無しさん@お腹いっぱい。:04/05/18 11:14
>>277
C-w を使うとか。まあ慣れてるバインドが一番かもしれんけど。


280 :名無しさん@お腹いっぱい。:04/05/18 11:36
>278
ありがとうございます。
Ctrl+Wで期待通りの動作になりました。
出来れば、Alt+BSでも同様にしたいのですが
その場合、"^W"ではなくどう書けばいいんでしょうか?
度々質問ばかりですいません・・

281 :名無しさん@お腹いっぱい。:04/05/18 11:59
>>280
> 出来れば、Alt+BSでも同様にしたいのですが

bindkey '^[^H' tcsh-backward-delete-word


282 :名無しさん@お腹いっぱい。:04/05/18 12:43
>>277
漏れのだと Alt+BS でその動作になるけどなあ(Alt+BSなんて初めて知ったけど)。
WORDCHARS を設定すればそれで良いんじゃないの?
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'


283 :277=280:04/05/18 13:09
>281
うおお、ばっちし完璧に望む動作になりますた。
感謝感激っす!まじでアリガトー

284 :名無しさん@お腹いっぱい。:04/05/18 13:12
Alt じゃなくて実際には Meta だな

285 :名無しさん@お腹いっぱい。:04/05/18 13:25
>>284
「実際」って?

286 :名無しさん@お腹いっぱい。:04/05/18 13:34
本当にaltとBSを押してるんだったら激しく不便なキーバインドだ。

287 :282:04/05/18 14:52
>>282 自己レス。ターミナルが Alt を Meta として
通してくれるやつ(mlterm)だからですた。

288 :名無しさん@お腹いっぱい。:04/05/18 21:48
^R 押したときに
補完中で補完候補数が 3 以上のときに reverse-menu-complete
それ以外で history-incremental-search-backward を発動させるには
どうすりゃいいかな。
$compstate[nmatches] を見てんだけど
completion widget の completer から history-incremental-search-backward 起こすと
widget名:zle:6: widgets can only be called when ZLE is active
とか言われるし。
zle -C の使い方もイマイチわからんし。
補完中の keymap があればいいんだけど (いや、あってもだめかな)
最終的には undo,redo の直後も redo にするつもりだけど。


289 :名無しさん@お腹いっぱい。:04/05/18 21:57
>>276
上手くいきました。Thx!
しかし、マニアックだなぁ..。

290 :名無しさん@お腹いっぱい。:04/05/18 23:07
>>286
& や ; にも対処するなら

self-insert-purely () {
LBUFFER+=$KEYS[-1]
}
zle -N self-insert self-insert-purely

でもいいと思うよ。man のパクりだけど。

ところで、中で widget よぶなら
zle .self-insert
みたいに special widget 使った方がいいのかな?


291 :名無しさん@お腹いっぱい。:04/05/18 23:59
>>290
すげえ、よく読んでいるな…

ただ、例えば {foo,bao,hoge, と hoge が一意に補完できると末尾にコンマを
附加するけど、ここで } を入力するとコンマを消してくれる。一連のお節介の
うち、これだけは気に入っている(w

自分は安全のために special widget で指定することが多いけど、どっちでも
変わりがないのが大半だよね

292 :名無しさん@お腹いっぱい。:04/05/19 16:00
>>291
man に書いてあるのは recursive-edit の項にある self-insert-ucase だけどね。

コンマとかに関しては確かにそうだね。ほかにもまずいことがありそう。
安直すぎたか。


293 :名無しさん@お腹いっぱい。:04/05/21 00:16
% i=12345
% echo ${i##(1|12)}
2345

正しくは 345 になるべきだと思うんだが、これってバグ?
下のはいいみたいだけど

% echo ${i##(12|1)}
345
% echo ${i%%(45|5)}
123
% echo ${i%%(5|45)}
123


294 :名無しさん@お腹いっぱい。:04/05/22 17:47
.zshrc に、
function foo () {
function bar () {
hogehoge
}
hogehoge
}

とした場合に、bar 関数を、呼び出せるのは、 foo 関数だけにするのは、どうすれば良いのでしょう?
コマンドラインや、他の関数から、bar を呼び出せないようにしたいのです。

295 :名無しさん@お腹いっぱい。:04/05/22 18:12
おまいらもっとwikiに書いてください。
http://hiki.ex-machina.jp/zsh/

296 :名無しさん@お腹いっぱい。:04/05/22 18:44
>>293
それって正規表現の最左最長マッチの原則が破れる例とそっくりだね。
でも %% がうまく行ってるのは不思議。

297 :名無しさん@お腹いっぱい。:04/05/23 00:00
何だかんだ言って、I love zsh. age
Zsh > Emacs

298 :名無しさん@お腹いっぱい。:04/05/23 00:42
何だかんだ言って、I love 歯ブラシ. age
歯ブラシ > 免許書


299 :名無しさん@お腹いっぱい。:04/05/23 15:58
>>294
function foo () {
(
function bar () {
hogehoge
}
hogehoge
)
}
しか思いつかん。ほかには特にないんでないかな。

300 :名無しさん@お腹いっぱい。:04/05/23 17:41
>>299
望みの、動作になりました。
ありがとうございました。

301 :名無しさん@お腹いっぱい。:04/05/24 02:36
TAB を押すときに、
すでに何か入力されていたら、expand-or-complete
何も入力されていなかったら、他のコマンド、
というようなことは、可能ですか?
もし、可能なら方法を教えてください。

302 :名無しさん@お腹いっぱい。:04/05/24 23:00
>>301
expand-or-complete-or-other-command () { [~]
if [[ -z $BUFFER ]]; then
zle -I
echo eraihito
else
zle expand-or-complete
fi
}
zle -N expand-or-complete-or-other-command
bindkey "^I" expand-or-complete-or-other-command
とか


303 :302:04/05/24 23:02
RPROMPT が入ってた。 expand-or-complete-or-other-command () { [~]
の [~] はなし


304 :名無しさん@お腹いっぱい。:04/05/25 23:59
w3m の補完だけをオフにしたいのですが,設定ファイル
で何とかする方法はありますか?

# 現在は _w3m を削除して対処してます

305 :名無しさん@お腹いっぱい。:04/05/26 01:52
>>304
compdef _nothing w3m
ってことかな


306 :名無しさん@Vim%Chalice:04/05/26 02:15
あるディレクトリに aaa bbb ccc というファイルがあって
aaa 以外を消したい時など、
   rm -f *~aaa
とかやるんですが、
   rm -f *~a
まで打ったところでタブを押すとaaaが補完されるのはどうすればよいですか?

現状だと bbb ccc が候補に出てきます。
# つまり既に *~a を解釈して ファイル名がa以外から始まるものを表示してるんでしょうが

307 :名無しさん@お腹いっぱい。:04/05/26 03:50
>>306
多分そう。
rm -f *~a
から _complete_help (多分 "^Xh") を呼んでみると _expand が
呼ばれているらしいことがわかる。
zstyle ':completion:*' glob false
とすると、その効果は消え *~a をファイル名として補完を試みる。
この状態で _files の代わりに適切なものがあればいい。と思う。


308 :名無しさん@お腹いっぱい。:04/05/26 04:22
補完候補に、たとえば、hoge-foo と hoge-bar と hoge-baz があって、
"hoge-foo" まで入力したあと、
やっぱやめた、ってことで、一意になるぎりぎりの "hoge-" まで戻す、
ということはできないでしょうか?

309 :名無しさん@お腹いっぱい。:04/05/26 04:39
^H^H^H

310 :名無しさん@お腹いっぱい。:04/05/26 10:54
control-/
でどうだろ

311 :308:04/05/26 13:22
>>309
そ、そんな・・・

>>310
アプローチは違いますけれども、やりたいことに割と近いようです。
とりあえず ^/ ^/ でいくことにします。ありがとうございました。

312 :名無しさん@お腹いっぱい。:04/05/26 14:10
このディレクトリに cd したら○○を実行する、みたいなフックが書けたらなあ。

313 :名無しさん@お腹いっぱい。:04/05/26 14:24
precmd を使えばそんな難しくないような

314 :名無しさん@お腹いっぱい。:04/05/26 14:44
>>313
なるほど。 man の precmd を見てみたら、chpwd つーのもあるのですね。
このへんでなんとかなりそうです。
ありがとうございます。

315 :名無しさん@お腹いっぱい。:04/05/26 15:09
ありゃ chpwd のつもりだったのに実際に書いたのは precmd だった(w

316 :名無しさん@お腹いっぱい。:04/05/26 22:06
みんなの .zshrc が視れるところありますか?

317 :名無しさん@お腹いっぱい。:04/05/26 22:20
>316
勝手に覗かれても困ります

318 :名無しさん@お腹いっぱい。:04/05/26 22:20
>>316
>>187 が誘うも、最初からしてアレだったため、後続が発生せず、といっ
たところが現状のような気がします。

319 :名無しさん@お腹いっぱい。:04/05/26 22:35
>>318
久しぶりに . に逝ったら未だ輝いてるね(w
日本の恥だ。IP抜かれてだいたい知れ渡ってるだろうな…
せめてアニヲタ全開のだったらジャパニメーションは(ry

320 :名無しさん@お腹いっぱい。:04/05/26 22:41
>>308
zle backward-delete-word
zle complete-word
ではだめかな


321 :316:04/05/26 23:37
http://www.dotfiles.com/
を視てきましたが、
みなさん、こんな人なのですか?

322 :名無しさん@お腹いっぱい。:04/05/26 23:54
という事にしとけば?

323 :名無しさん@お腹いっぱい。:04/05/27 01:02
zshの本ってないの?オライリーのbash本みたいな奴

324 :名無しさん@お腹いっぱい。:04/05/27 01:06
>>323
m9(´∀`)おまいが書け!

325 :名無しさん@お腹いっぱい。:04/05/27 01:07
UU の連載絶対本になると思ったけどならないね。

326 :名無しさん@お腹いっぱい。:04/05/27 01:35
本にするならもうちょっといろいろ載せて欲しいところ。
ちょっとくらい高くてもいいから。

327 :名無しさん@お腹いっぱい。:04/05/27 03:05
>>319
奴のせいで「日本語 (シフト JIS)」になってしまっとる。
同じ日本人として恥ずかしいよ。

328 :名無しさん@お腹いっぱい。:04/05/27 04:20
別にいいんじゃない? なんか過疎サイトっぽいし。
スペイン語とかフランス語のうpってるヤシもいるし、日本語だからって卑屈になることはない。

329 :名無しさん@お腹いっぱい。:04/05/27 19:55
CygwinやX68kで、DOSコマンドを使いたい時に
% alias dir='cmd.exe /c dir'
のようにエイリアスしているんですが、これだとパスがスラッシュ区切りの
ため、
% dir /tmp
のように使うことができません。
$foo:s%/%\\%
のようにすれば / を \ に置換できるかと最初思ったのですが、\には
置換できないようなのと、:s/// 記法は全置換してくれない感じです
($foo:s/foo/bar/g は単に g がついて出力されてしまう)。
しょうがないので今は sed で置換しているんですが、
dir などは頻繁に使うコマンドなので、zsh だけで何とかする方法はないでしょうか。


330 :名無しさん@お腹いっぱい。:04/05/27 20:03
zsh入門 パート2
http://pc3.2ch.net/test/read.cgi/unix/1036324177/

を読もうとしましたが、navi2ch で、checking file...moved
となって、読めませんでした。
kita でも読めませんでした。どうすれば、読めますか?

331 :名無しさん@お腹いっぱい。:04/05/27 21:02
>>330
http://mimizun.mine.nu:81/log/2ch/unix/pc.2ch.net/unix/kako/1036/10363/1036324177.dat

332 :名無しさん@お腹いっぱい。:04/05/27 21:15
>>330
http://mimizun.mine.nu:81/log/2ch/unix/pc.2ch.net/unix/kako/1036/10363/1036324177.dat

333 :名無しさん@お腹いっぱい。:04/05/27 22:49
>>329
s:/l/r/g じゃなくて gs:/l/r だよ。ただ、バックスラッシュの扱いが特殊なので
${foo:gs%/%\\\\\\\\} にしないと駄目かな。

それよりも //pat/rep の方が短くすむし判りやすいか。
${foo//\//\\\\}

334 :名無しさん@お腹いっぱい。:04/05/27 22:59
>>329
s:/l/r/g じゃなくて gs:/l/r だよ。ただ、バックスラッシュの扱いが特殊なので
${foo:gs%/%\\\\\\\\} にしないと駄目かな。

それよりも //pat/rep の方が短くすむし判りやすいか。
${foo//\//\\\\}

335 :名無しさん@お腹いっぱい。:04/05/28 03:53
kill-word-match とかって kill-word とかと違って
MARK の前で呼んだりすると MARK を置き去りにするよね。

336 :名無しさん@お腹いっぱい。:04/05/28 03:59
find の -name の直後だけ noglob にするとかってできないよね?

337 :名無しさん@お腹いっぱい。:04/05/28 04:10
4.2.0 から scp の補完で使う _remote_files がまともに動かないね
_ssh の 9行目がおかしいようす
ls -d1F の後の ${(Q)PREFIX%%[^./][^/]#}\* の部分でクォートが足りないのかね
${(Q)PREFIX%%[^./][^/]#}'\*' にすればいいか?
_ssh を変えずに何とかできないか

338 :名無しさん@お腹いっぱい。:04/05/28 04:13
独り言は、zsh-workers でおながいします。

339 :名無しさん@お腹いっぱい。:04/05/29 00:53
>>333,334
Thanks! 長年の問題が解消されました。
cygwin では、
start () { ${1//\//\\} }
と定義しておくと、start /bin とか start . とかできていい感じ。
ただ、パスに空白が含まれていると上手くいかないみたいなんで、もう少し
直す必要があると思う。


340 :名無しさん@お腹いっぱい。:04/05/29 00:55
start () { cmd /c start ${1//\//\\} }
でした。何言ってんだ..。

341 :名無しさん@お腹いっぱい。:04/05/29 16:34
自己レスだけど、//pat/rep 記法は新しい zsh でないとダメみたいですね。
start () { cmd /c start $*:gs%/%\\\\ }
は最新でなくても大丈夫でした。

X68000の zsh 2.5.03 でもOKでしたが、やはりちょっとマイナーな記法らしく、
$* が空のときに $*:gs が空にならないので、簡単な場合分けをする
必要がありました。
# いまどきX68ユーザーな人はいないか..


342 :341:04/05/29 16:41
ちなみに、Win2kで空白を含んだディレクトリをうまく
扱えないのは、zsh ではなくて Windows の問題な感じ。

C:\> cd "C:\Program Files" はうまく動くのに、
C:\> start "C:\Program Files" ではエクスプローラが開かない。
C:\> start C:\progra~1
ではうまくいくので、パスを8+3形式に変換するコマンドがあれば
うまく行きそうですが..
以上報告でした。


343 :337:04/05/29 17:15
できた。こんなかんじ
zstyle ':completion:*:complete:scp:argument-rest:files' command -noglob

344 :名無しさん@お腹いっぱい。:04/05/29 17:18
>>341
多分、こうじゃないの?
start () { cmd /c start "${1//\//\\}" }

345 :名無しさん@お腹いっぱい。:04/05/31 16:18
>>344
'closing brace expected.' なんてことを言われます。
前のバージョンでは対応してないみたいですね。

346 :名無しさん@お腹いっぱい。:04/05/31 19:30
>>345
あー、じゃあ、これは?
start () { cmd /c start "$@:gs%/%\\\\" }

347 :名無しさん@お腹いっぱい。:04/06/01 17:59
function accept-line-or-browse () {
case $BUFFER in
http*)
BUFFER="w3m $BUFFER"
zle accept-line
;;
*)
zle accept-line
esac
}
zle -N accept-line-or-browse
bindkey "^M" accept-line-or-browse

とかやってますが、何か方法ありますか?

348 :名無しさん@お腹いっぱい。:04/06/01 20:04
>>347 108みたいなの?

349 :名無しさん@お腹いっぱい。:04/06/02 04:25
標準出力、標準エラーによって、文字の色を変えたいのですが、
何か方法ありますか?

350 :名無しさん@お腹いっぱい。:04/06/02 07:50
>>349
前スレの876

351 :名無しさん@お腹いっぱい。:04/06/02 18:34
前スレ
http://mimizun.mine.nu:81/log/2ch/unix/pc.2ch.net/unix/kako/1036/10363/1036324177.dat
を見ましたが、800までしかありません。

どうすればよいのでしょう?


352 :名無しさん@お腹いっぱい。:04/06/02 19:13
あきらめれば?

353 :名無しさん@お腹いっぱい。:04/06/03 01:37
zsh 4.2.0 で man zshcompsys の 2169行目にある
zstyle ':completion:*' matcher-list '' '+m{a-Z}={A-Z}' '+m{A-Z}={a-z}'

zstyle ':completion:*' matcher-list '' '+m:{a-z}={A-Z}' '+m:{A-Z}={a-z}'
の間違いでしょうか?

354 :名無しさん@お腹いっぱい。:04/06/03 01:42
追加質問。
man zshcompsys にある
zstyle ':completion:*:foo:*' matcher-list 'm:{a-zA-Z}={A-Za-z} r:|[-_./]=* r:|=*'
という例の最後の r:|=* はどういう意味があるのか教えて下さい。
なくても変わらないような気がしますが。

355 :名無しさん@お腹いっぱい。:04/06/03 09:05
>>342
cygpath --windows --short-name

356 :名無しさん@お腹いっぱい。:04/06/03 09:52
>>354
COMPLETE_IN_WORD が on で、文字列の中途でも補完させるために必要

357 :354:04/06/03 21:39
>>356
なるほど。これってデフォルトでは無効ですよね。

358 :名無しさん@お腹いっぱい。:04/06/03 22:58
>>356
それってどんなときに使いますか

359 :名無しさん@お腹いっぱい。:04/06/04 04:29
>>357
デフォルトでは無効だね。

>>358
自分も >>354 と同じような設定にしているけど、実際のところ滅多にそういう局面に
ならないね。

例えば、COMPLETE_IN_WORD が有効で、カレントディレクトリに
aiueo-akasatana、aiueo-hamayarawa
というファイルがあるとする。また、
zstyle ':completion:*:' matcher-list 'r:|[-_./]=* r:|=*'
とする。ここで、a-a や a-h と打った時点で Tab を押せば一意に補完できる。

ところが、誤って a-t と打った場合ここで Tab を押しても補完はできない。このとき、
ひとつカーソルを戻して Tab を押せば aiueo-akasatana に補完してくれる。
a を入力してから Tab を押してもよいが。

しかし、
zstyle ':completion:*:' matcher-list 'r:|[-_./]=*'
だと、この手の補完ができない。t を削除してから何なりする必要がある。

一番ありそうなのは、ロングオプション(--foo-bar)の補完のときだろうか。
デフォルトで 'r:|[_-]=* r:|=*' 相当の設定になっているようだ。

360 :名無しさん@お腹いっぱい。:04/06/04 23:26
% iii="\ a"
% printf "%s_%s_\n" "${(z)iii}"
\ a__
% printf "%s_%s_\n" ${(z)iii}
\ _a_

となる理由が解りません。
expand-word すると
"${(z)iii}" --> \\\ a
${(z)iii} --> \\\ a
となり ${(z)iii} の場合に a の前に一つ余計にスペースが付いて
いるような気がします。どう解釈すれば良いのでしょうか。

361 :名無しさん@お腹いっぱい。:04/06/04 23:52
>>360
いや、その動作は正しい。(z)は「シェルの単語を区切るパース」だから、\の
あとのスペースは単語区切りとみなさない。しかし、評価された結果から\を
取り除いてはいないため、'\ a' という文字列とみなされる(クォートを外す
場合には ${(Q)${(z)foo}}と書けとマニュアルにあるね)。

やりたい動作は、最初の %s に空文字列、二番目に a が入る挙動? なら、
% iii="\ a"
% printf "%s_%s_\n" ${(Q)${(z)iii}}
_a_
で、どうでしょ。 a の前にスペースが2つあるのがミソです。

362 :360:04/06/05 00:16
>>361
すみません。ここはスペースが削られるんですね。360 は不正確でした。
結果の部分のスペースを ~ で表わすと

% printf "%s_%s_\n" "${(z)iii}"
\~a__
% printf "%s_%s_\n" ${(z)iii}
\~_a_
"${(z)iii}" --> \\\~a
${(z)iii} --> \\\~~a

となります。

363 :361:04/06/05 00:32
すまん、そもそもの前提が間違えていた。漏れの環境だと、
% iii="\ a"
% printf "%s_%s_\n" ${(z)iii}
\ a__
になるよ。


364 :360:04/06/05 00:45
>>363
環境によるということで調べたところ SH_WORD_SPLIT を on から off に
すると "${(z)iii}" と ${(z)iii} の結果が同じになりました。


365 :名無しさん@お腹いっぱい。:04/06/05 01:08
SH_WORD_SPLIT ってどんなときに有用?

366 :名無しさん@お腹いっぱい。:04/06/05 01:15
>>365
% hoge='a b c'
% setopt SH_WORD_SPLIT
% for i in ${hoge}; echo $i
a
b
c
% unsetopt SH_WORD_SPLIT
% for i in ${hoge}; echo $i
a b c

なので、こういうのをやるときは便利かも。あとは Bourne shell のスクリプ
トを動かしたいときとか。 SH_WORD_SPLIT が off のときは、↑のように
${(z)hoge} で実現はできる。


367 :名無しさん@お腹いっぱい。:04/06/05 01:31
>>366
${=hoge} のような

368 :名無しさん@お腹いっぱい。:04/06/05 01:49
コマンドの保管させようとしてるんですけど、hoge aみたな
-から始まらないオプションがあるときって_argumentsじゃ
無理で_regex_argumentsを使わないと無理なんでしょうか?


369 :名無しさん@お腹いっぱい。:04/06/05 02:01
_tar みると _values 使ってるよね。使い方しらんけど

370 :名無しさん@お腹いっぱい。:04/06/05 06:22
いきおいあまってこんなことをしてしまった
kaka () {
emulate -L zsh
local i j in=$PREFIX$SUFFIX
local -a kaki yomi
kaki=($(echo *)) yomi=($(echo $kaki|kakasi -Ja -Ha -Ka))
for ((i=1; i<=$#kaki; i++)) do
if [[ $yomi[i] = $in* ]]
then
echo m:$in=$kaki[i]
fi
done
}
zstyle -e ':completion:*' matcher-list 'reply=( "$(kaka)" )'
migemo っぽいんができたけど使わないなあ
for のあたりとかもっと簡潔に書けないかな

371 :名無しさん@お腹いっぱい。:04/06/05 06:25
てゆーか >>353 はどうですか、間違いですか

372 :名無しさん@お腹いっぱい。:04/06/05 09:19
言うまでもなく間違い

373 :名無しさん@お腹いっぱい。:04/06/05 13:15
それをきいて安心

374 :名無しさん@お腹いっぱい。:04/06/05 14:26
setopt xtrace とか function のエラーメッセージで出てくる
+preexec:5> echo
とか
_path_files:341: invalid pattern character `('
の数字って LINENO なんですよね?
これはソースの行番号とは対応してないわけで、
ソース見てもどこのことか分かりにくいんですけど、
何か有効な参照法はありませんか?

375 :名無しさん@お腹いっぱい。:04/06/06 00:49
>>370
4行目は
kaki=(*) yomi=($(echo $kaki|kakasi -Ja -Ha -Ka))
でいい。それと hoge/ 以下は補完できない( ./ 以下だけ )。
hoge/ とか hoge/fuga/ 以下もできるようにするには
各段のファイル名も kaki に含める必要がある。

376 :名無しさん@お腹いっぱい。:04/06/06 23:19
_make みると ports の target って fetch とか 14項目を直接指定してるのね
なんで clean と distclean が入ってないのよ

377 :名無しさん@お腹いっぱい。:04/06/07 00:52
match-words-by-style は word-style shell で word-chars ありってのはなしなのか〜

378 :名無しさん@お腹いっぱい。:04/06/08 09:36
viキーバインドでコマンドの履歴をたどるとき、
カーソルを行の先頭に来るようにしたいのですが、
どうすればいいのでしょう?

379 :名無しさん@お腹いっぱい。:04/06/08 16:04
w3m コマンドなどの引数に '?' を含む URL をクオートせずにあたえようとすると、
zsh がファイル名のワイルドカードマッチしようとして怒られるのですが、
w3m コマンドのときにはワイルドカードマッチしない、みたいなのはできますか?

380 :名無しさん@お腹いっぱい。:04/06/08 16:40
>>379
alias w3m='noglob w3m'

381 :名無しさん@お腹いっぱい。:04/06/08 16:42
url-quote-magic

382 :名無しさん@お腹いっぱい。:04/06/08 16:50
>>378
- が vi-up-line-or-history に bind されてる。 + も同様。
first non-blank character にとぶんであって行頭ではないけど。

383 :名無しさん@お腹いっぱい。:04/06/08 17:13
>>380, >>381
どっちも良さそうですね。ありがとうございました。

384 :名無しさん@お腹いっぱい。:04/06/08 19:03
>>382
bindkey -a 'j' vi-down-line-or-history
bindkey -a 'k' vi-up-line-or-history
で出来ました。

385 :名無しさん@お腹いっぱい。:04/06/14 21:35
ぬるぽ

386 :名無しさん@お腹いっぱい。:04/06/15 00:31
predict-onな状態の時に,補完候補の一覧だけを表示させて
挿入はTABを押したときのみ…って動作にしたいんだけど,
どのへんをいじればいいのかな?

387 :名無しさん@お腹いっぱい。:04/06/15 21:18
>>386
zle complete-word ってところを zle list-choices にして
zle .history-beginning-search-backward のまわりを無効にすればよさげ

zle -F って何?

388 :名無しさん@お腹いっぱい。:04/06/20 03:42
だれか vim の i_^O みたいなのつくった人おる?
っていうかどうやりゃできるかな

389 :名無しさん@お腹いっぱい。:04/06/20 09:09
>>388
そんなマニアックな機能いるのか(w

390 :名無しさん@お腹いっぱい。:04/06/20 14:15
>>388
どんな昨日だい?

391 :名無しさん@お腹いっぱい。:04/06/20 17:41
>>387
thanx.
スクリプト言語的なzshの機能をあんまり知らなかったんで
最初面食らったけど,希望通りの動作にできますた.
zshのスゴさを再認識したyo.

392 :名無しさん@お腹いっぱい。:04/06/21 01:52
>>390
vim help より
execute one command, return to Insert mode
えー、つまり zle でいえば
発動後に入力された key stroke に map されてる vicmd の widget を
一回だけ実行する。みたいな。
例えば viins/emacs から始まって ^O(bind されてる key) f A 1 2 と入力して
zzzzzzAbbbbb (cursor は先頭)
から
zzzzzz12Abbbbb (cursor は 2 の後)
となるような機能です。この場合 f A がその機能によって処理されてる。
後、keymap も発動前(viins/emacs) に戻る。

393 :名無しさん@お腹いっぱい。:04/06/21 18:34
viモードで使ってる人どれくらい居るんだろう?

ノシ

394 :名無しさん@お腹いっぱい。:04/06/21 19:19
それで割合とか人数とか把握できるとお考えで?

395 :名無しさん@お腹いっぱい。:04/06/21 19:52
いや,そもそもviモードで使ってる人がいるのかどうか知りたかった.
そりゃviモードがある時点で需要はあるんだろうけど,かなり小数派だと思って.

396 :名無しさん@お腹いっぱい。:04/06/21 20:36
惰性で emacs 使ってる。
"^X^V" なら使ってるけど。

397 :名無しさん@お腹いっぱい。:04/06/21 20:55
>>395
http://pc5.2ch.net/test/read.cgi/unix/996949546/694
に書いたことだが,

これでemacsキーバインドとviキーバインドが同時に使える。便利
bindkey -e
bindkey '^[' vi-cmd-mode
KEYTIMEOUT=1

398 :名無しさん@お腹いっぱい。:04/06/21 21:47
>>397
GJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

399 :名無しさん@お腹いっぱい。:04/06/21 23:29
漏れもviモード使てるYO

400 :名無しさん@お腹いっぱい。:04/06/22 18:48
>>397
幸せになったつもりだが…
KEYTIMEOUT=1 ってどこに効くの?
1 だと 10ms だよね。
2w とか、dd とかのタイムアウトだと思ってたけど違うのかなぁ。
2 -> 5s放置 -> w でもちゃんと 2w になるし。

401 :名無しさん@お腹いっぱい。:04/06/22 19:46
違うと思う。
bindkey "a" some-widget
bindkey "ab" another-widget
みたいなときに 'b' を待つ時間だと思う。
'2' とか 'd' はそれ一打で widget 呼んでると思うので関係無し。
つか '2' とか 'd' で timeout の必要はないような。
^[ には効くと思うが。

402 :名無しさん@お腹いっぱい。:04/06/22 20:43
あーなるほど。dクス。
うん、'2' や 'd' で何を待つ必要があるんだろう?と思って不思議だった。

403 :名無しさん@お腹いっぱい。:04/06/22 21:07
>>400-401
KEYTIMEOUT=100にして^[押すと1秒後にノーマルモードになる.

404 :名無しさん@お腹いっぱい。:04/06/22 21:43
# わざわざウニックス板の人間が機種依存文字で書いてるのって変なの

405 :名無しさん@お腹いっぱい。:04/06/23 00:25
# どういう機種に依存してるのか説明キボン

406 :名無しさん@お腹いっぱい。:04/06/23 01:12
ちょっと質問ですが,

zsh で for 等のループの最初または最後にだけ処理を変える
"簡単な方法" ってありますか?

407 :名無しさん@お腹いっぱい。:04/06/23 01:36
>>405
# 「dクス」

408 :名無しさん@お腹いっぱい。:04/06/23 02:05
>>407
そういう機種があるの?

409 :名無しさん@お腹いっぱい。:04/06/23 02:35
>>408
くだらねえ揚げ足取りする奴はどっかいってていいよ。

410 :402:04/06/23 09:46
おれFreeBSDでふつーに書いたんだが…

ちゅうか「機種」ってそもそもなに?
環境依存だとは思うけど機種には依存しないような。

411 :名無しさん@お腹いっぱい。:04/06/23 11:24
# 漏れもNetBSDでふつーに見えてるんだが…
# ひょっとしてCP932に対応してると
# ウニックス板とやらにふさわしくない機種なんだろうか

412 :名無しさん@お腹いっぱい。:04/06/23 11:48
# 「ふつーに書」いてその字が出るって、IMはなんなんだろ。
## 辞書にデフォで含まれてるかどうかだけの問題ではあるが。

413 :名無しさん@お腹いっぱい。:04/06/23 11:57
# あ、file server の cannaserver をみんなで使ってるから
# 誰かが突っ込んだのかも…
# ふつーに書けるから気づいてなかったyp
# 今まで当たり前のように書いてた…orz

414 :名無しさん@お腹いっぱい。:04/06/23 12:50
どうでもいい話題を長々と続けるな


415 :名無しさん@お腹いっぱい。:04/06/23 13:20
>>410
そういう環境依存な文字 (JIS の符号表で空欄になってる文字) を
通常「機種依存文字」って言う。「環境依存文字」などとは言わない。

416 :名無しさん@お腹いっぱい。:04/06/23 22:32
スレ違いも甚だしい

417 :名無しさん@お腹いっぱい。:04/06/24 16:56
>>405
> # どういう機種に依存してるのか説明ヌ稽渺タ

# 文字化けしてますよ。


418 :名無しさん@お腹いっぱい。:04/06/24 17:35
ネタ振らないと流れが変わりそうにないので
function cd {
 pushd $argv > /dev/null
 title "[$(pwd | sed "s|^$HOME|~|")]"
 ls
}
function pd {
 pushd +1 > /dev/null
 title "[$(pwd | sed "s|^$HOME|~|")]"
 ls
}
function nd {
 pushd -0 > /dev/null
 title "[$(pwd | sed "s|^$HOME|~|")]"
 ls
}
function title {
 echo -n "\ek$argv\e\\"
}
pdで前の,ndで次のディレクトリに移動.ブラウザの進む,戻ると同じ.
ディレクトリを移動するとscreenのタイトルも変更される.

419 :名無しさん@お腹いっぱい。:04/06/24 17:58
おぉ、これは色々使い道がありそうだ。
ところで、screenの中からktermのタイトル変えられないかなぁ、
ってすれ違いだ、逝って来る。

420 :名無しさん@お腹いっぱい。:04/06/24 18:24
>>418
便利そうだね。
で、それやっても cd -TAB は使えるな…。そーゆーもん?

421 :名無しさん@お腹いっぱい。:04/06/24 21:23
>>419
タイトル変えるエスケープシーケンス吐けばいいと思うが.

422 :名無しさん@お腹いっぱい。:04/06/25 07:54
>>421
あら、レスありがと。
screen起動してないときはタイトル変わるんだけど、screen
起動すると変わんなくなっちゃうのよね。
これだけじゃすれ違い大魔王なので、

preexec() {
  [[ -t 1 ]] || return
  print -Pn "\e]2; $USER@%m on tty%l: %~ $1\a"
}

と指定している。
screen 起動するとタイトルが
user@host on ttyp0: ~ screen -xRR
のまま変わんない…
なにか間違ってるのかなぁ。

423 :名無しさん@お腹いっぱい。:04/06/25 08:15
>>422
screenスレにあった.
>\033P と \033\ ではさんで、
>"\033P\033]0;`whoami`@`hostname`:\007\033\\"
>でどうでしょう。
>infoのVirtual Terminal→Control SequencesのESC P参照。

424 :名無しさん@お腹いっぱい。:04/06/28 02:46
メールが来たときの、 you have mail ! みたいなのの変更の仕方を教えてください。

425 :名無しさん@お腹いっぱい。:04/06/28 03:04
>>424
mailpath <S> <Z> (MAILPATH <S>)
An array (colon-separated list) of filenames to check for new
mail. Each filename can be followed by a `?' and a message that
will be printed. The message will undergo parameter expansion,
command substitution and arithmetic expansion with the variable $_
defined as the name of the file that has changed. The default
message is `You have new mail'. If an element is a directory
instead of a file the shell will recursively check every file in
every subdirectory of the element.


426 :名無しさん@お腹いっぱい。:04/06/28 09:10
>423
でもこれだと screen の window 切替たときには window title は
更新してくれないよね...

427 :422:04/06/28 09:33
>>423
サンクス
>>426
まぁそこまでは言わないさ。

でも、ローカルではscreenの中でも使えるけど、リモートで
使えないのはどういうわけだろう。
screen無し、ローカル  OK
screen無し、リモート  OK
screen有り、ローカル  OK
screen有り、リモート  NG

コマンドラインからprintするとscreen有りリモートからも
タイトル変わるから、zshのprecmdの問題なのかなぁ、と
思いつつ、screen無しなら使えるんだしそんなわけあるか、
とも思いつつ。うーむ。

428 :名無しさん@お腹いっぱい。:04/06/28 09:38
>>426
screenのnextとかprevに細工すればよし.

429 :名無しさん@お腹いっぱい。:04/06/28 09:41
>>427
うーん.不思議ですね.ローカルとリモートではpreexecの内容は
同じなのでしょうか? リモートではscreenは起動していますか? も
し起動しているなら,\033Pを二重にする必要があるかもしれませ
ん.

430 :名無しさん@お腹いっぱい。:04/07/05 22:57
私の周りのzshユーザーは、
「ふーん。それって、○○-shellでもできるよ」
という言葉に過剰反応する。

431 :名無しさん@お腹いっぱい。:04/07/05 23:11
>>430
複数行のコマンドをヒストリとして保存できるシェルはzsh以外に
ある?

432 :名無しさん@お腹いっぱい。:04/07/05 23:47
>>393
ノシ

433 :名無しさん@お腹いっぱい。:04/07/06 10:23
良くいる one-line に固執する人には
zsh みたいな複数行を手軽に扱えるシステムを知らない人も
多いんだろうなと、思う。

434 :名無しさん@お腹いっぱい。:04/07/06 18:32
テトリスでもやってろ

435 :名無しさん@お腹いっぱい。:04/07/06 23:05
五目ならべとか出来ないの?

436 :名無しさん@お腹いっぱい。:04/07/06 23:38
できるようになったらどうするんだよ。

437 :名無しさん@お腹いっぱい。:04/07/07 00:23
テトリス出来てる時点でどうしよう。

438 :名無しさん@お腹いっぱい。:04/07/07 01:51
今の今まで>>161 はネタだと思って試してもみなかったよ……。
漏れが甘かった。

439 :名無しさん@お腹いっぱい。:04/07/07 02:03
まあ zsh の存在自体ネタみたいなもんだからな

440 :名無しさん@お腹いっぱい。:04/07/07 02:25
テトリスは4.1からの機能だっけ?

441 :名無しさん@お腹いっぱい。:04/07/07 09:35
特定のコマンドに対しては、特定の拡張子を補完対象にしたくないのですが、
どうすれば良いのでしょう。

具体的には、less で、 .class ファイルを補完したくないのです。

442 :名無しさん@お腹いっぱい。:04/07/07 18:13
前に g++ の例が出てたけど、compinit 使ってるならこんなかんじかな
zstyle ':completion:*:*:less:argument-rest:*' file-patterns '%p~*.class:all-files'
ただしこれだとディレクトリにも適用される

443 :名無しさん@お腹いっぱい。:04/07/08 00:52
ignored-patterns を使う方が素直なような。
zstyle ':completion:*:*:less:*' ignored-patterns '*.class'

444 :名無しさん@お腹いっぱい。:04/07/09 22:28
補間候補リストが多い場合にdo you wish ...と尋ねてくるけど,
これを抑制するオプションってある?

445 :名無しさん@お腹いっぱい。:04/07/09 22:40
>>444
すこしは info 読め

446 :名無しさん@お腹いっぱい。:04/07/10 00:54
zstyle ':completion:*:default' menu select=long-list

447 :名無しさん@お腹いっぱい。:04/07/11 00:46
なんで
alias mv='nocorrect mv'
のときに
% mv
v の直後で
which-command してもなにもおきないの?

448 :名無しさん@そうだ選挙に行こう:04/07/11 11:54
zshoptions の説明の中で、
AUTO_PARAM_KEYS <D>
Completion in a brace expansion is affected similarly:
the added character is a `,', which will be removed
if `}' is typed next.
とありますが、brace 展開で補完する例を見たことがありません。
上のオプションの説明を実際にすることが出来る例を教えてください。

449 :名無しさん@そうだ選挙に行こう:04/07/11 13:06
>>448
wc ~/.z{shrc,shenv,history}
以外は思いつかないな。

450 :名無しさん@そうだ選挙に行こう:04/07/11 13:28
>>449
ありがとうございます。出来ました。
zsh って感動で出来てますね。


451 :名無しさん@そうだ選挙に行こう:04/07/11 14:12
>>450
残りの半分はテトリスで出来ています。

452 :名無しさん@そうだ選挙に行こう:04/07/11 16:57
コマンドの終了ステータスに応じてプロンプトの色変えたいのですが、
どうすれば?

453 :名無しさん@そうだ選挙に行こう:04/07/11 17:00
>>452
precmd使えばできると思う。

454 :名無しさん@そうだ選挙に行こう:04/07/11 17:28
>>453
ありがとう。

455 :名無しさん@お腹いっぱい。:04/07/11 21:47
PROMPT='%{^[[$[32+status % 5]m%} プロンプト %{$reset_color%} '
みたいなかんじでも

456 :名無しさん@お腹いっぱい。:04/07/11 22:22
status % 5 が 0になってしまう可能性については? 無視でもいいけど。

457 :名無しさん@お腹いっぱい。:04/07/11 22:55
status % 5 が 0 なのが通常だけど、その場合は
%{^[[$[32]m%} になって緑になるんじゃ?

あと
PROMPT='%{%(?.$fg[green].$fg[red])%} プロンプト %{$reset_color%} '
のが普通だったかな

458 :名無しさん@お腹いっぱい。:04/07/11 23:23
いや、エラーの際に 5とか 10を返された場合気付かないよ、という事では?

459 :名無しさん@お腹いっぱい。:04/07/11 23:36
ああ、なるほど。
まあ、数式でなんとかなりそうって意味で書いただけだったんだけど、
それを改善するなら
$[33+(status-1)%4]
とかかな

460 :ねぇ、名乗って:04/07/12 00:03
RPS1='%(?..exit %U%?)%u'
とかやってる.

461 :名無しさん@お腹いっぱい。:04/07/12 02:14
漏れはこんな感じで。
%(?.%{^[[32m%}%!.%{^[[35m%}%?%{^[[m%})
ほんとはもっと色々書いてるけど、関係あるとこ抜粋。

462 :名無しさん@お腹いっぱい。:04/07/12 18:31
(・∀・)イイ!!
もっといろいろ出していこう age

463 :名無しさん@お腹いっぱい。:04/07/14 06:22
>>438
俺も。

このテトリス、左右がh lじゃなくてj lなんだな。ちと使いにくいな。
setoptで変えられたらもっと驚きだが。

464 :名無しさん@お腹いっぱい。:04/07/14 12:41
bindkey -M tetris Th tetris-left

465 :名無しさん@お腹いっぱい。:04/07/14 17:29
prompt凝ってる人多いね.
俺は
prompt="[%~]%#"
orz

466 :名無しさん@お腹いっぱい。:04/07/14 19:24
だからキモイって言われるんだよ.

467 :名無しさん@お腹いっぱい。:04/07/17 11:05
初心者ですが、

ファイルの属性によってファイル名にちがった色をつけるには
どうしたらいいですか?

ディレクトリか実行ファイルか区別するためのbashとかで
よくある機能なのですが。

468 :名無しさん@お腹いっぱい。:04/07/17 11:09
man dircolors

469 :名無しさん@お腹いっぱい。:04/07/17 14:38
>>467
それはシェルの機能じゃなくて GNU 系 ls の機能。それとは別に、
zsh には補完リストに色を付けるモジュールがあるけども。

470 :名無しさん@お腹いっぱい。:04/07/17 17:03
>>467
ls --color=auto
あとは LS_COLORS を弄る(;´Д`)ハァハァ

471 :名無しさん@お腹いっぱい。:04/07/17 17:47
>>470
萌えるLS_COLORSを教えれ

472 :名無しさん@お腹いっぱい。:04/07/17 21:06
>>469
多分それを訊いてるんじゃないかな(補完)
>>467
でそれは LS_COLORS があれば
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

473 :名無しさん@お腹いっぱい。:04/07/21 12:59
>>395
kshもbashもzshも
vi modeしか使ったことない。

474 :名無しさん@お腹いっぱい。:04/07/22 19:47
>>473
凄いな。間違って vi mode になっちゃった場合を除いて、 vi mode は使った
ことがない。

ところで、 keymap の現在値って取得できないのかな。 vi mode だと、
viins か vicmd かを RPROMPT に入れられたら便利な気がする。
使ってないから他人事だけど。

475 :名無しさん@お腹いっぱい。:04/07/23 00:44
$KEYMAP

476 :名無しさん@お腹いっぱい。:04/07/23 03:04
echo $KEYMAP しても空白なんですけど……。

477 :名無しさん@お腹いっぱい。:04/07/23 03:11
print $KEYMAP しても空白なんですけど……。


478 :名無しさん@お腹いっぱい。:04/07/23 03:13
[[ -z $KEYMAP ]] && echo "echo \$KEYMAP しても空白なんですけど……。"

479 :名無しさん@お腹いっぱい。:04/07/23 19:34
キミタチ。
man zshzle
These special parameters are always available in widget
functions, but are not in any way special outside ZLE. If
they have some normal value outside ZLE, that value is
temporarily inaccessible, but will return when the widget
function exits. These special parameters in fact have
local scope, like parameters created in a function using
local.

つまり、zle の widget function 内で使用可。

480 :名無しさん@お腹いっぱい。:04/07/23 20:54
vi モードには C-] で移行できるようにしてる。C-[ (esc) じゃないよ。
ヒストリいじるときなんかに、
bbbcw とかやりたいときとかあるしね。
M-b よりは楽だし。

481 :名無しさん@お腹いっぱい。:04/07/23 22:53
>>480
>>397をおすすめします。

482 :476:04/07/24 01:16
>>479
いやそれは man で読んだ上でコメントしてます。やっぱそうだよね。
でもそれだと元々の、

RPROMPT に viins とか vicmd とかを表示する

っていうのができないんですよ……。これできないのかな。便利だと思うんで
すが。ついでに >>397 のような用途にも便利な気はします(でもRPROMPTが動
的に変わるわけじゃないから無理か)。


483 :名無しさん@お腹いっぱい。:04/07/24 02:41
ああ、そうだね
とりあえずこんなんしか思いつかん

up-line-or-history () { zle .up-line-or-history ; zle -R '' "histno.$HISTNO keymap($KEYMAP)" }
zle -N up-line-or-history

history に関してるのは特に意味無
keymap だったら vi-cmd-mode とかかな

484 :名無しさん@お腹いっぱい。:04/07/24 02:42
つーかコレ、ちらつくなあ

485 :名無しさん@お腹いっぱい。:04/07/24 15:11
やってみたら、暴走した。

486 :名無しさん@お腹いっぱい。:04/07/24 16:23
zle .up-line-or-history を
zle up-line-or-history にしたとか

487 :名無しさん@お腹いっぱい。:04/07/25 15:03
ここで質問すべきかどうかわからないのですが・・・

ずっとcygwin上でtcshを使ってたのですが、最近になってzshに乗り換えました。
ファイル名の補完だけでもめっちゃ便利で( ・∀・)イイ!って感じだったのですが、
ファイルにスクリプトを書いて実行する際、^Mがついてるとかなんとかでエラーがでます。
tcshを使ってるときはこのエラーは出ませんでした(DOSの改行も認識してくれてました)。

わざわざエディタを使って改行コードを変換してますが、DOSの改行コードが入っていても
認識してくれる方法、または、そういうzshってあるのでしょうか?

環境は以下の通りです。

Win98とWinXP(どっちも同じ症状)、cygwin 1.38、zsh 4.1.1 (i686-pc-cygwin)、
tcsh 6.12.00 (Astron) 2002-07-23 (i386-intel-posix) options 8b,nls,dl,al,rh,color

よろすくお願いします。

488 :名無しさん@お腹いっぱい。:04/07/25 15:19
LANG とかはどうなってるのかな?

489 :487:04/07/25 16:07
>>488
LANG=ja_JP.SJIS です。

490 :名無しさん@お腹いっぱい。:04/07/26 01:40
スクリプトの実行って source とかで?

491 :487:04/07/26 09:10
例えば・・・下記のような内容をhoge.zshに書きこんで、
zsh hoge.zshで実行するってことです。

for i in {1..10};do
print $i
done


492 :名無しさん@お腹いっぱい。:04/07/27 18:01
こんなんどう?
zsh-rm-r () { zsh <(sed $'s/\r$//' "${1}") "${(@)argv[2,$#]}" }
zsh hoho → zsh-rm-r hoho
と置き換えて使うんだけど、どっか間違ってるかなぁ

493 :487:04/07/27 20:28
>>492
考えてくださってありがとうございました。
しかし上記の関数を.zshrcに書いて、zsh-rm-r hogeを実行すると・・・
  zsh-rm-r: doesn't look like your system supports FIFOs.
というエラーがでました(どいういことを意味してるのかわかりません)。

ですが、見よう見真似で次のような関数を作ってみました。
  zsha () { dos2unix $1 ; zsh $1 }

これでなんとかうまくいったのですが、dos2unixの実行時に
  hoge : done.
というのが出て気持ち悪いので、
  zshb () { tr -d '\015' < $1 > /tmp/zshtmp ; zsh /tmp/zshtmp }
という関数を定義するとうまくいきました。

これで改行コードを気にせず編集できそうです。
どうもありがとうございました。
(できれば/tmp/zshtmpとかいうファイルを作りたくはないのですが・・・)


494 :492:04/07/27 22:04
ああ、悪い悪い。cygwin ってあったからもしかしてと思ったんだけど
<(hoge) と >(fuga) は /dev/fd mechanism か named pipes (FIFOs) を
使う(多分)んだよね。で、それを cygwin は support してないと。
zsh は <(hoge) の代わりに =(hoge) を使えてこれは /tmp/zshXXXXXX を
使う仕組なので cygwin でも可。てことで

zsh-rm-r () { zsh =(sed $'s/\r$//' "${1}") "${(@)argv[2,$#]}" }

とすれば上手くいくはず。結局 /tmp/ にファイル作ってるけどこれは勝手に消えるので。
あるいは

zsha () { dos2unix $1 2>&1 >/dev/null; zsh $1 }

とか

zshb () { tr -d '\015' < $1 | zsh }

とかでも確認してないけど良いと思う。

495 :名無しさん@お腹いっぱい。:04/07/28 01:46
prompt_prefix=`hostname -s`
prompt_titlebar='%{^[]2;%m - %n(%D %T)[%~]^G^[P^[]2;%m - %n(%D %T)[%~]^G
prompt=$prompt_prefix"%# "$prompt_titlebar

watch=(all)
WATCHFMT='^[[40;37m %U%T%u ^[[41;33;1m%n^[[00;m^[[40;37m has %a%(m: (^[[40;32m%
m^[[00m):)'


496 :名無しさん@お腹いっぱい。:04/07/28 01:49
age てまで言うことでは無いな.

497 :名無しさん@お腹いっぱい。:04/07/28 09:11
zle を他のコマンドに使えないかな

498 :名無しさん@お腹いっぱい。:04/07/28 13:02
>>492
そっか、パイプで渡せばいいわけですね。
勉強になります。何度もありがとうございました。

499 :名無しさん@お腹いっぱい。:04/07/28 17:01
mathfunc を使うにはどうしたらいいですか?

500 :名無しさん@お腹いっぱい。:04/07/28 18:02
雑種使ってます

501 :名無しさん@お腹いっぱい。:04/07/29 02:22
zmodload zsh/mathfunc

502 :名無しさん@お腹いっぱい。:04/07/29 14:31
zsh: do you wish to see all 113 possibilities (29 lines)?
これなんとかならん?

503 :名無しさん@お腹いっぱい。:04/07/29 14:49
だまって表示しろやって事?

504 :名無しさん@お腹いっぱい。:04/07/29 14:56
英語がわからんって事?

505 :名無しさん@お腹いっぱい。:04/07/29 15:18
「尋ねる/黙って表示/表示しない」を切替えられると嬉しい.
man zshallを読もうとしても,長すぎてどこに書いてあるのか分からない….
どの辺に書いてあるかだけでも教えてくれると有難い.

506 :名無しさん@お腹いっぱい。:04/07/29 16:57
LISTMAX=10000
とか。無条件で表示ってのは知らんけど、
あまり大きい場合困ると思うので要らんでしょ。
ところで LISTMAX が負値の設定ってどういうときに使うのかね。
あとは
LISTPROMPT='hogo hogo'
とかもありかな。
それと >>446 のあたりも。

507 :480:04/07/29 18:56
>>481
遅れすだがサンクス。
便利だが、screen を併用してると
ちと反応が鈍いね。
screen の方で解決できるかな。

508 :名無しさん@お腹いっぱい。:04/07/29 19:11
>>506
なるほど.thx.
尋ねる→LISTMAX=0
黙って表示→LISTMAX=10000
表示しないのは…,何か参考になるものは無いかと思ってpredict-onを見たら,
# This is a helper function for autocompletion to prevent long lists
# of matches from forcing a "do you wish to see all ...?" prompt.
predict-limit-list() {
if (( compstate[list_lines]+BUFFERLINES > LINES ||
( compstate[list_max] != 0 &&
compstate[nmatches] > compstate[list_max] ) ))
then
compstate[list]=''
elif zstyle -t ":predict" list always
then
compstate[list]='force list'
fi
}
こんなのがあった.これを
comppostfuncs=( predict-limit-list )
と登録しとけばいいらしい.

509 :名無しさん@お腹いっぱい。:04/07/29 19:52
>>507
maptimeout 5
とか。5 は適当。

>>508
一応、説明足しとくと、
LISTMAX=0
で screen あふれたとき
LISTMAX=10000
で候補数が 10000 超えたら
LISTMAX=-100
で 100行以下のとき
に尋ねられる。

predict-limit-list のままだとあれだけど、それでいけそうすな

510 :名無しさん@お腹いっぱい。:04/07/30 10:00
誰か ssh 切れたあともなぜか remote に残ってる zsh につなぐ方法しらない?
もっかい remote 入ると別の tty に残ってるの。再現性なし。

511 :名無しさん@お腹いっぱい。:04/07/30 13:48
screen使え

512 :名無しさん@お腹いっぱい。:04/07/30 17:33
たまたま screen 使ってなかったときなんよ
もういいんだけど何か方法があるなら教えてください

513 :名無しさん@お腹いっぱい。:04/07/30 17:54
remote では screen 使うのが半ば当然。
local で使うかどうかはスタイルの問題だが。

514 :名無しさん@お腹いっぱい。:04/07/30 18:01
>>513
remote でだってスタイルの問題だが。

いや、漏れも当然のように使ってるが。

515 :名無しさん@お腹いっぱい。:04/07/30 19:49
clone ってどういうときに使うの?

516 :名無しさん@お腹いっぱい。:04/07/31 21:47
cd や less 等の補完候補から .svn を削除したいのですが,
そうすれば良いのでしょうか?

517 :名無しさん@お腹いっぱい。:04/07/31 21:51
>>516
そうすれば? :)

518 :名無しさん@お腹いっぱい。:04/08/01 02:24
>>516
こうゆうことかな?
zstyle ':completion:*:*:*:*' ignored-patterns '.svn'

もしあってたら,ゆゆたんの画像を下さい.
違ってたら,何をしたいのかはっきり言ってね.

519 :名無しさん@お腹いっぱい。:04/08/01 03:08
>>518
もまいは例のモーヲタか!?

520 :名無しさん@お腹いっぱい。:04/08/01 03:25
>>519
例のって何?

521 :名無しさん@お腹いっぱい。:04/08/01 03:30
linux 板のデスクトップすれのことかな。
この一年くらいで急速に低年齢化したような感じのスレ。

522 :名無しさん@お腹いっぱい。:04/08/01 03:45
>>521
なんでゆゆたんで分かったの?
さては...

523 :名無しさん@お腹いっぱい。:04/08/01 03:56
>>520
>>171,187,192-201

524 :名無しさん@お腹いっぱい。:04/08/01 04:58
モヲタに生存権は無いっす。

525 :名無しさん@お腹いっぱい。:04/08/01 06:12
typeset -A associate
としたとき associate の key か value で sort することは出来ますか?

526 :名無しさん@お腹いっぱい。:04/08/01 16:23
${(o)associate}

527 :名無しさん@お腹いっぱい。:04/08/02 10:00
incappendhistory on にすると elapsed times が 0 になるのはなぜ?

528 :名無しさん@お腹いっぱい。:04/08/02 12:26
モヲタってのは、mohta ヲタク?


529 :名無しさん@お腹いっぱい。:04/08/02 16:35
.complete-word とかって直接呼んでるとそのうち落ちる?
特に _complete_help の後とか

530 :名無しさん@お腹いっぱい。:04/08/02 21:29
うーん。なんとかして直前の completion が終了したか選択中なのか
知る方法はないかなあ。ないですかねえ。

531 :名無しさん@お腹いっぱい。:04/08/03 18:31
suspend してる jobs 数をプロンプトに表示するにはどうしたらいいっしょ?

532 :名無しさん@お腹いっぱい。:04/08/03 21:39
%j The number of jobs.
man zshmisc

533 :名無しさん@お腹いっぱい。:04/08/03 21:50
reverse-menu-complete から始まった補完の最中に
complete-word とかすると確定するのってなんで?
順送りになるべきでは。

534 :名無しさん@お腹いっぱい。:04/08/03 22:16
linuxの話で悪いのです。

$ rpm -q <Tab>
とするとrpmのデータベースが読み込まれますが、これを再度読み直すことは可能でしょうか?
消したrpmの情報がいつまでも残ってしまうのです。



535 :名無しさん@お腹いっぱい。:04/08/03 22:27
>>532 tnx.
%(1j.%{[31m%}%j:%{[m%}.)
こんなのを加えてみた。

536 :名無しさん@お腹いっぱい。:04/08/04 03:11
たまには ROM っていないで、contribute してみる。
ttp://hiki.ex-machina.jp/zsh/?%CA%E4%B4%B0%A5%D5%A5%A1%A5%A4%A5%EB

537 :名無しさん@お腹いっぱい。:04/08/04 05:40
>>534
_rpm の最後みるとデフォで
zstyle ":completion:*:*:rpm:*" cache-policy _rpms_caching_policy
となるようす。よーわからんけど、どうも一週間 cache が有効になるみたい
これを適当な関数にすればいいと
returns status zero で needs rebuilding かな

あるいは
zstyle ":completion:*:*:rpm:*" use-cache false
とか

man zshcompsys

538 :名無しさん@お腹いっぱい。:04/08/04 05:54
>>534
手動でってんなら _rpm の中で _store_cache してるのを
自分でやればいいんでない?

539 :名無しさん@お腹いっぱい。:04/08/04 06:44
お疲れ >>536

540 :名無しさん@お腹いっぱい。:04/08/04 08:31
>>537
gj

541 :名無しさん@お腹いっぱい。:04/08/04 10:04
vim の display lines downward かと思った。

542 :名無しさん@お腹いっぱい。:04/08/04 12:24
_iconv が iconv --version の出力に "GNU" の文字列が含まれるかで
gnu のか判断してるようだけどその出力に
iconv (GNU libiconv 1.9)
とか先頭行に出てくるから誤認しれくれますね。
zstyle の command 指定すりゃいいかもだが。

543 :名無しさん@お腹いっぱい。:04/08/05 10:12
gnu の iconv --version ってどんな出力?
誰か書いて

544 :名無しさん@お腹いっぱい。:04/08/05 10:32
# iconv --version
iconv (GNU libc) 2.3.2
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.

これかな

545 :名無しさん@お腹いっぱい。:04/08/05 11:42
確かに GNU の文字は入ってるけど libc にかかってんのか。
iconv が GNU だとは明記されてないんだね。
てか、なんで libc がわざわざ表示されんの?
つーか、FSF ?

546 :名無しさん@お腹いっぱい。:04/08/05 12:29
orz

% iconv --version
iconv (GNU libiconv 1.9)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.

>>544 のとどっちがっぉぃの?

547 :名無しさん@お腹いっぱい。:04/08/05 12:42
Copyright (C) に Free Software Foundation, Inc. とありますが。
GNU のんは _iconv みるかぎり iconv --list が使えると思う。

548 :名無しさん@お腹いっぱい。:04/08/05 12:45
>>546
同じモノなんじゃないの?

549 :名無しさん@お腹いっぱい。:04/08/05 16:19
rup | sort
とかしたときに Ctrl-C で rup の方に INT を送るようにする
方法はないですか

550 :名無しさん@お腹いっぱい。:04/08/05 17:55
kill -INT <pid>

551 :名無しさん@お腹いっぱい。:04/08/05 21:18
Ctrl-C で

552 :549:04/08/05 21:32
SIGINT シグナルはフォアグラウンドプロセスグループ中のすべてのプロセスに送られんだね
というか、なんか zsh とは関係ないみたいね

553 :名無しさん@お腹いっぱい。:04/08/05 22:56
freebsd とかで pid が 3桁以下のときの ps の出力ってどうなる?
_pids が ps で pid とるときに 1桁目から
ヘッダ行で (#i)[[:blank:]]pid に match する部分の桁までを使うようだけど
netbsd だと pid が 3桁のときは
PID_TT_STAT____TIME_COMMAND ( _ はスペース )
とかなって PID の前に [[:blank:]] がないから match せんでうまくいかんのよね
他の OS だとこういうことはないの?

554 :名無しさん@お腹いっぱい。:04/08/05 23:26
noglob zstyle :completion:* matcher-list 'r:|?=d'
として
% ls
abc adbe
となるディレクトリで abc から _files の補完かけると落ちるね

555 :名無しさん@お腹いっぱい。:04/08/06 01:57
補完対象に "air.mp3" があるとき
zstyle ':completion:*' matcher-list 'r:|.=air'
で "." からの補完が失敗しますが、理由がわかりません。
zstyle ':completion:*' matcher-list 'r:|.=*'

zstyle ':completion:*' matcher-list 'r:|?=air'
なら成功するんですが。なぜですか?

556 :名無しさん@お腹いっぱい。:04/08/06 02:45
read "info zsh".

557 :名無しさん@お腹いっぱい。:04/08/06 02:57
それで解決すると?

558 :555:04/08/07 02:45
man zshcompwid を読んで書いたんですけど、
info zsh も一応読んでみました。同じことが書いてあります。

r:|.=air

r:lpat|ranchor=tpat
の形式で設定しているので
. が ranchor で
air が tpat となり
. から補完すると前に air が入って成功すると思うのですが。
どこを勘違いしているのかわからない状況です。

zstyle ':completion:*' matcher-list 'l:|=air'
とかは成功して l: の挙動は思った通りになるんですが
r: の方がどうもよくわかりません。

559 :名無しさん@お腹いっぱい。:04/08/07 08:52
誰か _vim とか持ってない?

560 :553:04/08/07 13:10
まあ、あれだな。

% diff /usr/pkg/share/zsh/4.2.0/functions/ .zfunc/_pids
28c28
< pids=( "${(@)${(@M)out#${(l.${#desc[1,(r)(#i)[[:blank:]]pid]}..?.)~:-}[^[:blank:]]#}##*[[:blank:]]}" )
---
> pids=( "${(@)${(@M)out#${(l.${#desc[1,(r)(#i)((#s)|[[:blank:]])pid]}..?.)~:-}[^[:blank:]]#}##*[[:blank:]]}" )

561 :名無しさん@お腹いっぱい。:04/08/07 20:12
>>559
かなり適当ですが...

_vim.bz2 (Base64)
QlpoOTFBWSZTWfnN/OQAALvfgEAQSff/8D9Hn56/59/qUANeXSJttdumbcJEiSehTeqfk1Ce01NQ
2o/Uah6jRk009RtJ+qDQZKPSnppomFPTUep5IDQPSGCaNAMgwkQk0k8qbCIaZNqABoMQDTQHqNDm
EwCYATCYTTAAAJk00DCSQmlPaJ6ain6mnpqeqDyIB6Ieppk9QZDQcL6z3pAUiVCDLh49n78PTdu9
30wRoSA0CMGSAsZHF0r4eDF6LURRNEC9E6I7+P2l3nMazabjoOkwOk6jKqs+m5crSSnQ7cSzhE+K
hQeO6Zfk6NJTjOi6HMZZYGitTUSQ8R3/d40btG//eDXRW/r5teZg+bSuFzswZPKWmgN1FVXmpM/T
x7M5ilY0FkpQ5DGmE0gPImahBMnk7C7v79+SGYvmgj8Qs9l/qlkujrLHOJR2TA3Zw3UIqZCJRPXt
/WNX+lwxdMTt2WMLWs5pzawYMrB2FEElNSzqBnK8BpB4NWb8njd5craSmdTFtaepbsnCbYDUNNx1
woGOXDGkwbTY3DcQ0tu/u4VVbfh591HR8dlPtqNv39OGM8dflT+f7l4bvHWkBzHKwemEFTbbVuwg
wKO3YprAHIsykPDN6Tjaf2k1X1+PTwC03ZFxXmDFB7k+DKMpo2DRs3QYj4EtO9RiLspSEJwTwyaB
LSzBbdEUpUiqV2jtKjQ7UnxwqeIIaW9w6ICjDMPX7nS9pEiXZluT1riYtof0Fg3Bw6CIUUJ+q9bD
jz5qYL1phqJxeOSI6lqzX1c8QV5ZHIS5IlQHodZlvuJAGpCHAvMqRQJWP60CAOVkA52icsEpLx6N
RLVenKnmozyDBmZMMIdUHM0wrNiqHbBq7OdrcEspZui5dKRLKESqGoZJBBiwnNtQDTSojUw94xVW
NE06jZvlCYX3iXUTL6JdbBRctTjkldLAg9uQzoDiZaGkdi0kewO0xqKY++OpK+WvEEmbCJTZHdJf
XTU8nwxukDxZFSEKoyKel8AMZ4VQRAKEYzFRQgQ/4mkEIWW5pmDHkKIbzMFYGtcxsahXJzONpMBl
K9SSd7XsO1mXZiGdypKJDHejIoNOGJdtosCuyuAULEnFIrqczOuqmRIVDHY8N8WMVddluaUTokVh
PrMNH/F3JFOFCQ+c385A


562 :名無しさん@お腹いっぱい。:04/08/10 12:49
zsh のバージョンに依存する記述を .zshrc の中に書くには
どうするとよいでしょうか?

計算機を /home を NFS で共有していくつか使っていて、必ずしも zsh がどれも
最新とは限らないのですが、今やっているように
case $ZSH_VERSION in
4.2.*)
 なんたら ;;
esac
では 4.3.x になった時に困りそうです。
うまい判定法を使っている方, 教えて下さい。


563 :名無しさん@お腹いっぱい。:04/08/10 14:21
>>561 thx.
適当に追加して使わせてもらう。
で、こんなんなった。

_vim.bz2 (Base64)
QlpoOTFBWSZTWe10KvwAAnzfgFRwX///+3/n/9+/7//+YAi9vtDuZdpy9NCXEpVRJQOTVVw0IphN
NJpppmk/VPKbUMnqHpDQ0yYE0aAaGgNAGiDSZT1NpTaj1PUBoAAA0AAAAAAA0ap+oRQeoAaANGgA
AAAGgAABkEiIiYjSanoaTZSbKeo9RsoBgyaINqMnqNpHqaGnqBxkwTQyGRkZNDQBoMjCAaDRpkMQ
0AEkgmmgEyBNMhk0oybFGhkDCB6TRo0BoMliEBYkBuHX1w/V+lNKO4OjVZczDLHMnZPrs2Cdn8Tz
TMghXc6zhW9yjaqKLsvZMJCC80w6xNKTsSz7IoTBi8xMu4BF/tysvysc/Ki2TqGueK3F2LWVZ3Xo
QGZiEBX6fZ26PftWJHwMbTaExjaBc/u8np/b5EUCQSuEOTmQmmui7LZzer2vkRP8yMCHb3enNdGU
7HP3e37NWP9/sZ68i2sbL1BYa0gy/puke5hBQUBSrUyzxcHW111yf7xQiiPs7JZFJv4zvYrFxRK4
sdBM8nDZ0ougiA3FFVCuduCOJBiO5MHR7LkU9nf05X8mhiF8mCQNQg7wvjAMIxDGOgMgdf6TsA4K
WxBUBLOEERRGRKuW4sVzykMgxCc1LKElMi5CWNqwLlpcCe8W86GwBEBD0v2LyEwaWWlQgQb9xyom
tTYIKaWBrThPRfvrc+gllVSi4c1xFcH3Tm6+2zHq24QIY61r26S1Sa6ege5tEIZls8BygUkPcbM7
NOCp9jrOW2Nso1K+RRkbhD5lIdygEZKVdFP5hTC1NUCrLXquYxGYYyS2AGOhA14F058SDxttIbV7
U5MKd46I2JFXaNKz65kOmFD4B39J542tbKSrzG/1P0+g6AOIikRqMG68bn54Re82Qc3JqQWtBbMw
5G20wr39+i1qNWZLYwRaxJTmy5nRbqaKux5lCJFqGqfiwoJZx76x9UVY9NfNySlPOVsBFBJrS6K2
1KOpQA0wyTPBT8BYm554yeqIY0G8gR5Ce+P0Lf8TKrmMMBiy8ktadV1ql1xw+QzRHGBhqARaYzA3
Y4bpCRSYQvbSGFIRT+vL76Y+NYW3eywL2BOwDwzZ2UkpDKZQlFzNBnIATxuCzUOISeIYxLZRqWuw
7fwXrFJQMGdQy3kvT71/3UWK5vDUy+76M3OYN5TxLO2w2y4UEthDnP0UKHpTSOpMKdLGCjqxLarn
MUai21HQoqvCQkDVhYkb5p6wRwoR4QVBYmVJY7YpPmXYhts2+DWPHPkjk0yMHuRRIyGje4o6AOCN

564 :563:04/08/10 14:21
続き。

Qt1Z+C1UucCfbEBPtEQjv0P7EOtGQnl5WzVzCO0styxxtuRjucMYru1s5Wr8Mlgv3EPIhiXM4TO0
gh4N1mZuESBKW5x8K1+dHV7+vqjry3O6TtafnZsjuWkN+u5l8vqZLc/nb9msPwwIhbn6OD7aABDn
aHoCuWhEN2JAESNRAU8CI4SIZQuhBiDbxB58ixy8RnnuR/FIF+RbHj6ik7noNsUrQYFhheXloq8j
rV3NvlA8JUQW+k0pwQX2+tDJ1JELg7Q7WNgwRGYb3eR7ZGUksFEY0CkLfWFdan5vHEzCoVAwt5nz
lx/xXgusHGgjFPUJy0iM0Ja9jyYTmKoV2CqFvIIzSspvjDwPutbXXWdnchOCM6ZmWJOLdGlnpoey
v2yV0aiRqEbe9VVRJDoTQiiiNVDTtWo0iUoi4SIEVY8DftejPXXK0DEabk4ucdjbfCoIokNi0veY
TwEZDuvIpqjIDQQDpuxRjrcEtK9w7ICzBGArkvCx8vNmFLzvylhcNbXxl4sbRcWY0GhpJjUogPQM
GhgByRWUii74cpZFxng/WQJAl1BaG2Ix48NF4Wq7b2lKDxQkdCw3R4Y1nEeycBxRWUDWT8W7hMWq
D3qI6EDjF/XKKUvXu1sUSYqRoPzdNUfKwOVGCcGeKMmU1mFmICc+8biW6yztjZUk0gzLqqr1KIMq
WZmlXp2p7hwmHwgQQQEdKOWLLJxjJhzj8Msqtgt+9rmpuDi1BhJFl5ZY4c85zqY6gmhHBkkTBUC1
tY5th/2dagkppyxbBkJVBtmhKmB2Qgb0UvdgrBQuIN8NZEDbZat2UON8nw8SDuNA2mMEpkFIOcc7
JmzBwY7zOZ3SWFKuOhyKRVEekbCFvSwPnyJQXCJUAXYZJz0UkSSUBKCAcCHp6lBDZdRVUqIijtgo
ElWlUWmqTwhu2CoMpBbUEED1VUmTh5TSUqCe9dkDWGnUug8lkMhK/IS8pgnmRnSXnYSyCxlciUHj
KVaXysrtSVuG04gFJQ0QC+pHGkHGJeGcdviRZmT6UbBgiDcoeswgHaCaLaN1KX1P7Tvjbk9RpQWb
Er8DDtJpbwZjIV4u9LCJYuAZuNOgXZg4T8ju7HDnOd4vkx+AIhrSYAh4OOkUDk0pebsvWgbUOBhY
+/seALW+FSpQmdhAk0ikJUvBqHe9iKyBbFKZ2SKy4p3iwUTdNICEaxnQmEwBAkzgmAySQpw8Jy1A
W8BbtuOPNQwywRkvQa84yCKo1oJztnlS9ahE8EMyrGoIPD5lHM2olER7okTEbmGHsW1lkwTLpvjL
Q4JqnjS3XbZx1hjsLiaUtSHUk4QqLChU0FSIDJESZnavmNN+sTRVdQ8EwXzGg9WsBVX2BfrYPLaM
LnewadnIVCbg0d6QXDnLrOfx5JYLQZgtzs8ZafC62kKS8WgxdpFE02TL2fJ7ZEw/RVuKiyWGK2y4
s7718MXjPBYF+K580TJBKAeLXyY4XvdDvqiBroGCghajnS5EyDpRgebn9JGNc3SG8BbLGYcjT3uu
cKxqWsTP8XckU4UJDtdCr8A=

565 :名無しさん@お腹いっぱい。:04/08/10 14:25
>>562
つかったことはないが

is-at-least needed [ present ]
man zshcontrib

566 :名無しさん@お腹いっぱい。:04/08/10 17:56
setopt LOCAL_PARAMETERS みたいのが欲しいね

567 :名無しさん@お腹いっぱい。:04/08/10 19:29
>>565
Thx. そんな便利なものが。
autoload is-at-least
is-at-least 4.2.0 && ほげほげ..
で使えるようになりましたが、ブロックを書こうとして
if [ is-at-least 4.2.0 ]; then ..
は "condition expected: is-at-least" と怒られてしまう。何がいけないのかな。




568 :567:04/08/10 19:36
う、書いてから気づいた。自己レス。
[ は(zshでは組み込みの)コマンドなので、if is-at-least 4.2.0 .. と直接書けば
いいのでした。
というわけで、
if is-at-least 4.2.0 ; then
なんたら..
fi
でOKですね。

if の後にはほとんど必ず [ を書くので、普通のプログラミング言語の書き方
もあって、何か固定観念があったなぁ。

569 :561:04/08/10 21:39
>>563 改良ありがとうございます。早速使い始めた。

>>568
Bourne shell な話で、'[ ... ]' ていうのは確か 'test ...' と呼んでるのと同じだったと思う。

570 :名無しさん@お腹いっぱい。:04/08/10 21:51
% ls '/usr/bin/['
/usr/bin/[


571 :名無しさん@お腹いっぱい。:04/08/10 22:08
% ls '/usr/bin/['
ls: /usr/bin/[: No such file or directory

572 :名無しさん@お腹いっぱい。:04/08/10 22:49
% where '['
[: shell built-in command
/bin/[


573 :名無しさん@お腹いっぱい。:04/08/10 22:49
または
% echo ='['
/bin/[


574 :名無しさん@お腹いっぱい。:04/08/11 06:42
% where '[['
[[: shell reserved word

575 :名無しさん@お腹いっぱい。:04/08/11 06:59
>>563 で気付いたけど
[[ -prefix ''(|127.0.0.1|localhost)/ ]]

[[ -prefix (|127.0.0.1|localhost)/ ]]
だと
zsh: parse error near `('
で失敗するんね。

576 :名無しさん@お腹いっぱい。:04/08/12 03:03
ZDOTDIR ってどこで設定するん?

577 :名無しさん@お腹いっぱい。:04/08/12 08:26
>>576
/etc/zshenv

578 :名無しさん@お腹いっぱい。:04/08/13 13:54
precommand modifier の - builtin はあるけど
argv[0] string を任意に変更するのはないんかいな。
つーか - builtin ってどんなときに使うんだ?

579 :名無しさん@お腹いっぱい。:04/08/13 16:38
ARGV0=-are kore ぐらいでいいのでは。
- に関しては、頭に - が付いたらログインシェル扱いということぐらいしか知らないな

580 :名無しさん@お腹いっぱい。:04/08/14 00:37
あー。なるほど。 ARGV0 ですか。
ところで =- ってのは何か意味が?
いや、ちょっと気になったもんで。

581 :名無しさん@お腹いっぱい。:04/08/14 15:09
- builtin を使って同時に argv[0] も変えたい話だと思ってそうしたんだけど、
別個の話だったのなら意味はありません

582 :名無しさん@お腹いっぱい。:04/08/14 17:39
4.2.1リリースage

>>536の補完ファイルパッチは
_cvs、_subversion、_mplayerの変更が本家でされたため、
その部分だけ修正すればOK

583 :名無しさん@お腹いっぱい。:04/08/14 19:33
4.2.1の新機能解説キボン

584 :名無しさん@お腹いっぱい。:04/08/14 19:42
>>583
news

585 :名無しさん@お腹いっぱい。:04/08/14 20:19
zftpのipv6対応、cygwin/Darwin対応、ヒストリの実装変更
くらいはソース見たら分かった。

他にはNEWSみたら、autoload他の-k、-z optionはいいが、
try blockとalways blockがどういう機能かよく分からん。

586 :名無しさん@お腹いっぱい。:04/08/14 21:59
>>585
そのままだろ?

587 :名無しさん@お腹いっぱい。:04/08/14 22:06
>>586
具体的に説明してくれ

588 :名無しさん@お腹いっぱい。:04/08/14 22:10
だから try は C++ からの借用

589 :名無しさん@お腹いっぱい。:04/08/20 09:10
vim の vim/vim63/syntax/zsh.vim は
zsh/4.2.0/functions/_ssh とか読むと
9 行目とか
54 行目 の "'" のあたりや
152 行目 の (#i) のあたりでおかしくなるけれど
こーいったのを修正する ~/.vim/syntax/zsh.vim とか持ってる人おる?

590 :名無しさん@お腹いっぱい。:04/08/20 16:02
$'\c' てやると落ちるよ〜
まあ $'\u1234' とか $'\U12345678' でも落ちたりするけど

591 :名無しさん@お腹いっぱい。:04/08/20 22:28
RC_EXPAND_PARAM の RC って何?

592 :名無しさん@お腹いっぱい。:04/08/20 23:26
>>590
落ちない

593 :590:04/08/21 00:59
% zsh --version
zsh 4.2.0 (i386--netbsdelf)
で落ちるけど。ウチだけ?

594 :名無しさん@お腹いっぱい。:04/08/21 01:06
落ちる
zsh 4.2.0 (i386-unknown-openbsd3.6)

595 :名無しさん@お腹いっぱい。:04/08/21 01:20
'\'' ってゆーふーに '' の中で ' は出すことができないけど、
前からこうだったっけ?以前できてたような気がするんだけど。
そうだとすると unsetopt rcquotes すると '' の中で ' は出せないことになるよね。
そうだったっけな〜

596 :名無しさん@お腹いっぱい。:04/08/21 02:31
% zsh --version
zsh 4.1.1 (powerpc-apple-darwin7.0)

落ちた。

597 :名無しさん@お腹いっぱい。:04/08/21 02:35
>>590
$がpromptで
'\c'<return>で落ちるということ?
試しても落ちないけど。

598 :名無しさん@お腹いっぱい。:04/08/21 02:50
>>595
追試してみた。
zsh 4.2.0 (i386-portbld-freebsd5.2.1) と zsh 4.2.1 (powerpc-apple-darwin7.5.0) で共通の結果。
echo '\'' -> NG
echo '"' -> OK
echo "'"' -> OK
echo "\""' -> OK
工夫して回避できないことはないと思うけど、ちと困りますな。

599 :名無しさん@お腹いっぱい。:04/08/21 02:53
あー、なるほど、そう読めますか
えーとね、% が prompt で
% $'\c'
て打つの

600 :名無しさん@お腹いっぱい。:04/08/21 03:02
>>599
了解。追試してみた。

localhost:~$ $'\c' [2:57:24]
localhost:~$ $'\u1234' [2:57:41]
zsh: character not in range
localhost:~$ $'\U12345678' [2:57:52]
zsh: character not in range
localhost:~$ zsh --version [2:58:01]
zsh 4.2.0 (i586-ひみつ-linux-gnu)
localhost:~$ [2:58:09]

601 :名無しさん@お腹いっぱい。:04/08/21 03:03
落ちないよ。debian sid の
zsh 4.2.1 (i686-pc-linux-gnu)

602 :名無しさん@お腹いっぱい。:04/08/21 03:13
4.2.1 にしたら >>337 のバグが直ってる!

603 :名無しさん@お腹いっぱい。:04/08/21 03:30
% zsh<<<"$'\c'"
zsh: cannot do charset conversion
zsh: 22019 segmentation fault zsh <<< ""$'\\c'""

% zsh --version
zsh 4.2.1 (i386--netbsdelf)

こうなった。 $'' で cannot do charset conversion すると segmentation fault ってことかな。
$'' で \c を charset conversion しようとするのがおかしい気もするが。
linux では違うメッセージ出てますね。
下のは落ちないんだけどね。

% print '\u0000'
zsh: cannot do charset conversion

604 :名無しさん@お腹いっぱい。:04/08/21 05:53
gentoo amd64
$ zsh --version
zsh 4.2.0 (x86_64-pc-linux-gnu)
落ちなかったよ

605 :名無しさん@お腹いっぱい。:04/08/21 06:11
どうも linux 勢は落ちないみたいね

606 :589:04/08/21 06:17
自己レス。
~/.vim/after/syntax/zsh.vim に以下の記述で直る。

syn clear zshSpecial
syn match zshSpecial "\\." nextgroup=zshGlobOperators

syn clear zshDerefOpr
syn region zshDerefOpr start="\${" end="}" contains=zshShellVariables,zshDerefOpr

syn match zshGlobbingFlags "(#[^)]*)"
syn match zshGlobOperators "##\=" contained
syn match zshGlobOperators "\S\@<=##\="

syn clear zshString
syn region zshString start=+"+ skip=+\\"+ end=+"+ contains=zshSpecial,zshOperator,zshDerefIdentifier,zshDerefOpr,zshSpecialShellVar,zshCommandSub

もうちょっと色々したけど上で書いた問題はこれで一応解決する。

607 :名無しさん@お腹いっぱい。:04/08/21 06:37
けっこう linux のいるんだ。というわけで >>543 を誰かよろしく

608 :名無しさん@お腹いっぱい。:04/08/21 15:01
>>607
Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]
or: iconv -l


609 :600:04/08/21 15:32
>>607
$ iconv --version [15:58:09]
iconv (GNU libc) 2.3.2
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
これはフリーソフトウェアです。利用許諾についてはソースをご覧ください。
商業性や特定の目的への適合性の如何に関わらず、無保証です。
Ulrich Drepperによる書き込み.
$

日本語気持ち悪いな…

610 :名無しさん@お腹いっぱい。:04/08/21 16:08
以前APRESSから出版されるとかってかかれてあったと思うのだけど、その話はどうなったの?

611 :名無しさん@お腹いっぱい。:04/08/21 16:34
>>609
良く嫁
iconv (GNU libiconv 1.9)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.


612 :600:04/08/21 16:56
>>611
おおすまん。入ってなかったのでコンパイルして入れてみたら同じだな。

bash-2.05b# /usr/bin/iconv --version
iconv (GNU libiconv 1.9)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.
bash-2.05b#

613 :名無しさん@お腹いっぱい。:04/08/21 19:44
>>612
> bash-2.05b# /usr/bin/iconv --version
スレ違い、bash スレヘ go

614 :名無しさん@お腹いっぱい。:04/08/21 19:50
>>613
貼り間違えたけど結果は同じ。

615 :名無しさん@お腹いっぱい。:04/08/21 21:13
613 の意図がわからん

616 :名無しさん@お腹いっぱい。:04/08/21 22:27
>>615
スレ違い以前の勘違いだろ。スルーしとけ。

617 :名無しさん@お腹いっぱい。:04/08/21 22:52
ええと、つまり
iconv (GNU libiconv 1.9)
が iconv -l を使えるやつで
iconv (GNU libc) 2.3.2
が iconv --list を使えるやつ?
どっちも GNU 製ってわけじゃなくて
ライブラリが GNU 製なのか。
GNU か否かで分けるんじゃなくて
GNU libiconv か GNU libc かで分ければいいんすね。

618 :名無しさん@お腹いっぱい。:04/08/22 00:32
>>542-548 >>607-617
>>617 が結論ならば、_iconv の 6 行目を
if iconv --list > /dev/null 2> /dev/null; then
とすればいいのではないでしょうか。私は GNU iconv なので確かめられないが。

619 :名無しさん@お腹いっぱい。:04/08/22 01:09
ていうか 4.2.1 の _iconv の下の方にある

if [[ -f /usr/lib/iconv/iconv_data ]]; then # IRIX & Solaris
codeset=( ${${(f)"$(</usr/lib/iconv/iconv_data)"}%%[[:blank:]]*} )
elif [[ -d $LOCPATH/iconv ]]; then # OSF
codeset=( $LOCPATH/iconv/*(N:t) )
codeset=( ${(j:_:s:_:)codeset} )

って条件に引っ掛かる環境での iconv --version はどんなかな

620 :名無しさん@お腹いっぱい。:04/08/22 01:13
libc 使ってる iconv の iconv --list はどういうのが出るんだ?
最初の空行から数行うつしてほしい

621 :Solaris is good OS:04/08/22 01:13
iconv: オプションが正しくありません -- -
使用法: iconv -f fromcode -t tocode [file...]



622 :名無しさん@お腹いっぱい。:04/08/22 01:30
>>620
全部うつすぜ。
$ LANG=C iconv --list
The following list contain all the coded character sets known. This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters. One coded character set can be
listed with several different names (aliases).

437//
500//
500V1//
850//
851//
852//
855//
856//
857//
860//
861//
862//
863//
864//
865//
866//
866NAV//
(全部で961行)

623 :名無しさん@お腹いっぱい。:04/08/22 01:34
>>617 の通りなら
4.2.1 の _iconv の 6行目の ( >>618 の _iconv とはちがうみたい )

if _pick_variant gnu=GNU unix --version; then



local variant
if _pick_variant -r variant use_gnu_libc="GNU libc" use_gnu_libiconv="GNU libiconv" unix --version; then
case $variant {
use_gnu_libc)
そのまま
;;
use_gnu_libiconv)
上のを修正
;;
}

みたいなかんじでいいかな

624 :620:04/08/22 01:55
>>622
なるほど。1行 1エントリなのね。
4.2.1 の _iconv は GNU と認識した場合は codesets の取得で

${${${(f)"$(_call_program codesets iconv --list|sed -n '/^$/,$ p')"}## #}%//}

ってのを取ってるから、_iconv を変えたくない場合で libiconv 使用のときは

zstyle ':completion:*:*:iconv:*:codesets' command 'echo;iconv -l|tr " " "\n"'

とすれば、姑息だし libiconv の iconv の仕様と微妙に合ってないけど
codesets の補完が可能になる。

625 :622:04/08/22 02:03
もしかしたらちと違うかも。glibcのiconvで、
zshからiconv --listすると>>622 になるんだけど、
scriptの中で実行すると以下になる。

The following list contain all the coded character sets known. This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters. One coded character set can be
listed with several different names (aliases).

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,
ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,

626 :名無しさん@お腹いっぱい。:04/08/22 02:11
script の中でって not tty ってこと?
その出力だと 4.2.1 の _iconv では上手くいきそうにないね。

627 :623:04/08/22 03:49
修正してみた。
case 使った方がいいのかもしれんが diff の出力を長くしたくなかったので
if にした。

% diff ~/.zfunc/_iconv /usr/pkg/share/zsh/4.2.1/functions/
5d4
< local variant
7,31c6
< if _pick_variant -r variant use_gnu_libc="GNU libc" use_gnu_libiconv="GNU libiconv" unix --version; then
<
< if [[ $variant == use_gnu_libiconv ]]; then
< local exargs="-l --version"
< _arguments -C -s \
< "($exargs)-f[specify code set of input file]:code set:->codeset" \
< "($exargs)-t[specify code set for output]:code set:->codeset" \
< '(- *)-l[list all character code sets]' \
< "($exargs)-c[omit invalid characters from output]" \
< "($exargs)-s[suppress warnings]" \
< '(- *)--version[print program version]' \
< '(-)*:input file:_files' && return 0

628 :623:04/08/22 03:50
続き。

<
< if [[ $state = codeset ]]; then
< if compset -P '(|*[^/])/'; then
< _wanted option expl option compadd "$@" /TRANSLIT && ret=0
< else
< _wanted codesets expl 'code set' compadd "$@" \
< -r / -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \
< $(_call_program codesets iconv -l) && ret=0
< fi
< fi
<
< return ret
< fi
---
> if _pick_variant gnu=GNU unix --version; then

629 :名無しさん@お腹いっぱい。:04/08/22 03:58
echo `echo \``
ってできなかったっけ。できないなあ。できなかったんだなあ。

630 :名無しさん@お腹いっぱい。:04/08/22 22:23
>>629
echo $(echo \`)
echo `echo \\\``
でできるな。

631 :名無しさん@お腹いっぱい。:04/08/22 23:44
なんと
echo `echo \\\``
ですか。何で \ が 3つも要るんだ?妙な仕様。

今気付いたんだけど setopt sunkeyboardhack で
echo \`
と入れると ` が消される。あくまでも奇数かで判断するんだね。
ていうか何でこんなオプションつけてんだろ。外しとこ。

632 :名無しさん@お腹いっぱい。:04/08/23 19:38
>>631
2回評価されてるんでしょう。
\\\` -> \` -> `
という具合に。
まあ、command substitutionは``ではなく$()を使っておこう。

633 :名無しさん@お腹いっぱい。:04/08/25 05:01
おお、freebsd の ports にも 4.2.1 が来てる

634 :名無しさん@お腹いっぱい。:04/08/25 09:40
>>632
なるほど。まず `` の parse で
\\ -> \
\` -> `
としてから command の parse をするのか。
`` の parse では \\ と \` の解釈はしても置き換えはしないと勘違いしてた。
そうすると
echo `echo \`echo ee\``
とかして nest もできるのか。 `` で nest はできないと思ってたよ。
まあ $() 使ってるから関係ないけど。

635 :名無しさん@お腹いっぱい。:04/08/25 09:44
昔は融通が利かなかったもんだから、
三段ネストの `` とか何も考えずにやってたよ。
途中でわけわかんなくなるのだが、
大量の\がなぜか愉快だった。

636 :名無しさん@お腹いっぱい。:04/08/28 21:59
tex でtexのファイルを補完してくれるのですが、platexだと
補完してくれません。

こういう場合、既にある補完と同じ補完をするようにzstyle 等で指定できないでしょうか?

637 :名無しさん@お腹いっぱい。:04/08/28 23:14
>>636
うちでは
/usr/share/zsh/4.2.0/functions/Completion/Unix/_tex
にあるファイルを、
-#compdef tex latex slitex pdflatex jadetex pdfjadetex
+#compdef tex latex slitex pdflatex jadetex pdfjadetex platex
とか書き換えればいいんでね?

638 :名無しさん@お腹いっぱい。:04/08/28 23:29
>>637
すいません、説明が足りなくて。

その方法は知っているのですが、標準の補完の定義を
書き換えずに済ませる方法があるのか知りたかったのです。

もしかしたら、zstyleとかで既に定義されている補完と同等の
補完をするように定義できるのかと思いまして。


639 :636:04/08/29 01:03
>>637
出来るようになりました。

compdef _tex platex platex209
です。

これで '_tex'の補完と同じこと補完になるようです。

640 :名無しさん@お腹いっぱい。:04/09/01 11:33
ftp.ayamura.org/pub/emacs/emacs-21.3.tar.gz をダウソしてき
て、./configure で Makefile を作成した後、gmake と入力して、TAB を押し
たときに、ちゃんと、install-strip が出てくる人いますか?
私の場合 LANG=C と場合出て、LANG=ja の場合出ないんです。

LANG=C awk '/^[a-zA-Z0-9][^\/\t=]+:/ {print $1}' FS=: < Makefile
LANG=ja awk '/^[a-zA-Z0-9][^\/\t=]+:/ {print $1}' FS=: < Makefile
の結果が違うことに起因しているんだと思うんですけど、give up です。
ちなみに、gawk-3.1.4 を使ってます。

641 :名無しさん@お腹いっぱい。:04/09/01 12:08
>>640
手元の環境だと出るよ。 LANG は普段は ja_JP.eucJP だけど、 C でも ja で
も関係なく出る。
FreeBSD だと標準の awk 20030729、 Linux だと gawk 3.1.1 で試したけど、
できたよ。
install-strip 以外のターゲットは出てる??

642 :名無しさん@お腹いっぱい。:04/09/01 13:30
zle -R
でタブを打つとエラーにならない?
_zle:shift:70: shift count must be <= $#

643 :名無しさん@お腹いっぱい。:04/09/01 13:40
>>642
4.2.0だけど同様になるね。

644 :名無しさん@お腹いっぱい。:04/09/01 13:55
↓こんなかんじです。OS は Solaris 9 です。
----BEGIN BASE64----(a.gz)
H4sICCdWNUEAA2EApZBNTwIxEIbv/RVzMEGzDNuFBVkiCYQIHtSDeJIPU3a7bGW/
0hYVjP/dLuySaEw82KSdpzN5304nEGEIuIX++e3wftIfwZq9baBmL2cM90N8ougt
Zsu5Pdf9hdWz4SOXItVw5nzWYDzt9+AK7tiGhyLmF5XJC/uPC0FEsHWS23sV7a6Z
ezOFw2pS6iL1kDrgtHptt9eiDdpuNTudLqVgUY9SYlnWSbv/S9ulnue1TtrBANCp
t8Fy6i4MBgRYHBPkOdORwjCTPicQc5EQUNI3KFZYQCG7rDc7YHXqjnMQVn8h4Gdp
KNYNpZneKgIiNVS4loBM+hEGPP+REem33OHV001pKUwx2QRCEtymlSmMH0YmnSkd
7/yYs5RgGQKhdIkJM4M3m8uqyN+1ZEeGbRpn/oaA5IeIj8PJFDRbm9b9iBeVwooc
p2EaCjNSnsGrIJCw3Yo/r7JMmx5ZTuA3xFioHB3yBTIQ6m16AgAA
----END BASE64----


645 :名無しさん@お腹いっぱい。:04/09/01 18:55
>>644
最初何かと思った(w 結果をそのまま貼り付けても良かったのでは。

Solaris 9 では確かに起きますね。 FreeBSD なら、 gawk-3.1.4 でも問題な
いのですが。また、 gawk-3.1.2 なら Solaris 9 でも上手く行くことがわか
りました。ですからその間の gawk の変更で何かやっちゃったのがあるんじゃ
ないかと思うのですが……。

とりあえずの対処法としては、ちょっと古い gawk に入れ替えるとかしかない
かな? というか Solaris9 なら /usr/bin/awk があるから、そっちを使うよ
うにすればいいという話もありますな。


646 :名無しさん@お腹いっぱい。:04/09/01 19:19
setopt extendedglob
local word=${(M)LBUFFER%%[^[:blank:]]##}${(M)RBUFFER##[^[:blank:]]##}

より,もっと簡単な書き方は出来ますか?


647 :名無しさん@お腹いっぱい。:04/09/01 19:39
ところで、ayamura.orgの管理人はまだ行方不明なのか?

648 :名無しさん@お腹いっぱい。:04/09/01 19:40
>>647
どっからその話題が出てくるんだ?

649 :名無しさん@お腹いっぱい。:04/09/01 21:30
640 がわざわざ ayamura.org にあるアーカイブを指定したからだろう。

650 :名無しさん@お腹いっぱい。:04/09/02 03:37
>>642
zle -F や zle -I でも

651 :650:04/09/02 03:45
-F や -I に限定しなかった。 _zle に書いてないのもなると。 -Y とかでも

652 :名無しさん@お腹いっぱい。:04/09/02 04:01
>>642
_zle の下の方の
while (( $#state )); do
case "$state[1]" in
の中で
(args) と (redisplay) の場合に _arguments 呼んでるから
state と context が書き換えられて
下の
shift 1 state
shift 1 context
でエラーが出てる

653 :652:04/09/02 04:08
あー、そうそう share/zsh/4.2.1/functions/_zle ね

654 :名無しさん@お腹いっぱい。:04/09/02 12:45
っで、そろそろ utf-8 に対応しましたか?

655 :名無しさん@お腹いっぱい。:04/09/02 13:34
対応ってどういうこと?

656 :名無しさん@お腹いっぱい。:04/09/02 15:01
654の脳味噌はUTF-8に対応してない

657 :名無しさん@お腹いっぱい。:04/09/02 15:03
「ぜっしゅ」と読んでいます

658 :名無しさん@お腹いっぱい。:04/09/02 16:33
prompt expansion でカーソルポジションは変更するけど prompt には表示しないようなことはできますか?
%{%} の逆(の様なこと)がしたいのです.

659 :654:04/09/02 16:50
バージョン 4.0.7 なんだが、print_eight_bit しても、補完も化けるし、プロンプトに表示されるパスまで化けるね・・・。

660 :名無しさん@お腹いっぱい。:04/09/02 16:53
>>659
端末は何?端末の設定に問題は無い?

661 :名無しさん@お腹いっぱい。:04/09/02 19:03
>>660
うちでも化けるが、あなたの環境では化けないのか?

662 :名無しさん@お腹いっぱい。:04/09/02 19:14
>>661
すまぬ、化けた。

663 :名無しさん@お腹いっぱい。:04/09/02 20:59
そりゃ BadSoftware にもあげられるわ・・・
ttp://www.freedesktop.org/Software/BadSoftware

664 :名無しさん@お腹いっぱい。:04/09/02 22:04
さすがに BadSoftware 呼ばわりされるとちょっとショックだな、と思いなが
>>663のリストを見てると、
tcsh: This shell has issues: "Unicode (UTF-8) doesn't seem to work". This is on their wish list, though.
があってちょと安心した(w

665 :名無しさん@お腹いっぱい。:04/09/02 22:14
シェルで日本語なんて使わないからどうでもいいけど。

666 :名無しさん@お腹いっぱい。:04/09/02 22:47
>>665
おらはlgrepとかよく使うだよ

667 :名無しさん@お腹いっぱい。:04/09/02 23:07
migemo-grepつかうから

668 :名無しさん@お腹いっぱい。:04/09/03 02:37
>>658
どゆこと?
空白いれんじゃだめなの?

669 :名無しさん@お腹いっぱい。:04/09/03 03:21
>>668
'川*‘ ー‘ )%~%# '
というプロンプトにしたいのですが, ー の部分が2バイト文字なのに
表示は半角分なのでカーソルがずれてしまいます.
mlterm だとエスケープが表示されないようなので,
'川*‘ %{ー%}^[‘ )%~%# ' と詰め物をすると一応できるのですが,
kterm とかでは無理なので,カーソルポジションは変更するけど
prompt には表示されない,ここでいうエスケープの様な方法はありますか?


670 :名無しさん@お腹いっぱい。:04/09/03 04:52
またキタ━━━━━━(゚∀゚)━━━━━━ !!!!!

671 :名無しさん@お腹いっぱい。:04/09/03 07:24
ワラタ

672 :名無しさん@お腹いっぱい。:04/09/03 22:11
>>669
何が問題かよくわからんけど
^[[C はどう?

673 :名無しさん@お腹いっぱい。:04/09/04 09:48
>>672 表示さてしまうのでだめなようです.
これは何ですか?矢印?

これを見て思いついたのですが,
毎回色を決定しているのでプロンプトの最後 ^[[0m とかを入れても変わらないので,
'川*‘ ー‘ )' -> '川*‘ %{ー‘%} )^[[m'
'从*・ 。.・从' -> '从*%{・ 。%}.%{・%}从^[[0m'
' ノノ*^ー^)ノ' -> ' %{ノノ%}*^%{ー%}^)%{ノ%}^[[0m'
などで解決できたようです.
ありがとうございました.


674 :672:04/09/04 16:43
>>673
何が問題かわかった。
そういうことなら − を $'\xa1' と $'\xdd' みたいに 1バイトずつに分けて
$'\xa1'%{$'\xdd'%} とかやれば?
まあ、もう解決したようだけど。
っていうか半角表示の 2バイトの − って UTF-8 とか?

675 :673:04/09/04 17:05
>>674
そんな方法もあるのですね.勉強になります.
たぶん ー は機種依存?
\x8e\xb0 でした.

676 :674:04/09/04 17:23
>>675
あ、EUC-JP の半角カナね。
つーか、どーでもいいことだけど ascii の - じゃダメなんすか?

677 :674:04/09/04 17:28
愚問だった。ダメなんだね。

678 :名無しさん@お腹いっぱい。:04/09/12 04:09:13
定期保全

function RomaToKana () {
emulate -L zsh
setopt extendedglob
local MATCH
LBUFFER="${LBUFFER%%(#m)[^[:blank:]]##}$(ruby -p -r romkan -e '$_.to_kana!' <<< ${MATCH})"
}
zle -N RomaToKana

あとは任せた!

679 :名無しさん@お腹いっぱい。:04/09/12 04:20:14
保全が必要になる状況にはなってないのだが。

680 :名無しさん@お腹いっぱい。:04/09/12 05:26:46
狼板住人には保全必要な状況に見えるのだろう。

681 :名無しさん@お腹いっぱい。:04/09/26 22:00:19
linux の話で悪いが、_rpm に於ける rpm -q <TAB> の読込み手続きを

253c253,257
< _rpms=( $(_call_program packages rpm -qa 2>/dev/null) )
---
> if [[ -f /var/log/rpmpkgs ]]; then;
> _rpms=( ${$(cat /var/log/rpmpkgs)%.*.rpm} )
> else
> _rpms=( $(_call_program packages rpm -qa 2>/dev/null) )
> fi

と書き直したら、驚異的に速くなった。(/var/log/rpmpkgs は毎日 crond で更新)

682 :名無しさん@お腹いっぱい。:04/09/26 22:06:49
タイムスタンプあたりで自動更新したらいいかもね。

683 :名無しさん@お腹いっぱい。:04/10/02 19:43:21
hoge () {
typeset fuga
vared -p "> " fuga
print $fuga
}
zle -N hoge

M-x hoge でエラーが出ます.
hoge:vared:4: ZLE cannot be used recursively (yet)

zle widget の中で vared -p の様なことはどうすれば出来ますか?

684 :名無しさん@お腹いっぱい。:04/10/03 01:27:51
>>683
read-from-minibuffer
man zshcontrib

685 :名無しさん@お腹いっぱい。:04/10/03 03:58:37
reset-prompt なんてあったのか!
まあ NEWS に書いてあるけど

686 :名無しさん@お腹いっぱい。:04/10/03 04:25:22
mplayer -play

から補完しようとすると

option
-display -playlist
corrections (errors: 1)
-playlist

とか出るけどなんでだ?

687 :名無しさん@お腹いっぱい。:04/10/03 15:42:24
>>686
手元の環境ではならなかったなあ。普通に -playlist が補完されるよ。
ただし p のところにカーソルを合わせると、 -display と -playlist が補完
されるね。

688 :686:04/10/03 19:28:49
-play からああなったのは matcher-list に '+r:|?=**' が入ってたからだった。
でもそれなしでも -pl からで似たようになる。-p からはならないけど。
で、調べた結果 _mplayer の _x_arguments で ret を設定してないのが原因のよう。

% diff _mplayer ~/.zfunc/
111c111
< '(-use-stdin)*:video file:->mfiles'
---
> '(-use-stdin)*:video file:->mfiles' && ret=0

で直った。
4.2.1 の話ね。

689 :名無しさん@お腹いっぱい。:04/10/05 19:57:42
ここのスレで出てきた質問をまとめてみたんだが、このスレのレベルが高いのか、マニアックな FAQ になってしもうた。
http://hiki.ex-machina.jp/zsh/?FAQ%40zsh%A5%B9%A5%EC

690 :名無しさん@お腹いっぱい。:04/10/05 20:32:34
>>689
乙カレー。
まだ読んでる途中だけど、chpwdの例がprecmdになってるよ。

691 :名無しさん@お腹いっぱい。:04/10/05 20:34:09
出力の最終行が表示されない の項目でオプションの名前が
promptct になってるけど promptcr が正解だと思う。

692 :名無しさん@お腹いっぱい。:04/10/06 01:24:28
>>689
乙カレーさまです

693 :名無しさん@お腹いっぱい。:04/10/06 01:36:18
manpath=(
${^path:h}/man
$manpath
)
↑この`:h'ってどういう意味?

694 :名無しさん@お腹いっぱい。:04/10/06 01:45:58
zshexpn(1)の Modifiers の項より抜粋。
h Remove a trailing pathname component, leaving the head. This works like `dirname'.


695 :名無しさん@お腹いっぱい。:04/10/06 03:15:44
>>694
サンクス

696 :名無しさん@お腹いっぱい。:04/10/06 11:36:50
>>689 からたどれる zsh 用 euc-jp patch ってカーソル移動まわりだけなんだね。
でもそれは user の widget でなんとかしちゃったからなあ。早く知ってればよかったけど。
BUFFER は正しいのに文字化けする方が直ってればちょうどよかったのに。

697 :689:04/10/06 23:18:18
>>690-692
指摘アンド修正ありがとうございます。

ところで、そこの Wiki の管理人って最近どうしているんだろう?

698 :名無しさん@お腹いっぱい。:04/10/07 00:14:41
>>696
うp

699 :名無しさん@お腹いっぱい。:04/10/07 00:18:10
?

700 :名無しさん@お腹いっぱい。:04/10/07 19:23:55
>>698
ほい。

% gzip <zshzle-multibyte-char|encode-base64
H4sIADIEZUEAA81T/2vaQBT/+e6veDQpVcZB7U/FIcM6uznUga0w0ExicqnZ0iTkTuY07m/vJcaY
xDvtNhgrCOXe573Pl/eiwfPS4+78J6dgLczItDiNgC3DMIg4xhrQpUW+hTKUKE6azPWfPJoUmga0
YPJ1ujIbZLpy6HR1m/wcI8V96j3Mvsyub65vd7gcZhT+LSMbKTIZo4I0bvYQRzkwFz5LhM9Ckwvp
vui6qJVVxWXquEwTv6tfYPmsln5Vk9PHFfGxWqmYf3VObTHr+HfEC+naCe2SncV/bUjYwU4Q/TAj
m+TcJOGGWh02GMQfFQVTnBTpw5ot0idGeRByoCtOfZvaT14wT9+9wDI9GLQfOx9hcNf90BvCoDt8
n9YiGlKTg74ZjgfdUa/TJI0t2AFGKbyFUVPURnfj+/vuSNNq2nNd/yWPY4tRZzx6+Dx609I3Wtq+
TSnswKd4i/HctL7/N5b6O0uXl6+0ROSebOpR4UPlSCklS7RVyFYtQhrinzL3c+Y8gtcxSwlJEBHP
ZfxA7DowmQBZg545A8N4C3xBfYzWHoUELVoD16Jst3WP0V1JypBiHDdRwCPTZ2HAqhD2705o6Ytx
kL1idDDbPzKbzElcyT9kjKh3Kqp9t+KjwUhEkh+0ZKdnzvqUsGyG+IzT+aUjSPrIUNWaVVWas7J8
zdXek6iTt7gHKc8ls9FW2ED75wNjW+UJ5e9FsFQeyl6lU+Ud1fJZjn0ERa5yLG11LOhQyWLSKusu
pVPZjFZdYNmBAl3QieQbP5pbbDlzLRKWakKKE9KObqgaUfWmXgBOC/RbDQoAAA==

載せるにあたってちょっと修正した。
以下、あんまり必要なくてやってないこと。
multibyte_char_pattern は zstyle 使った方がいいかも。
あと、負値の NUMERIC には対応してない。
それとディレクトリを補完した直後に backward-multibyte-char とかしても / が消えない。
なんかほかにあったかな。

使うときは source zshzle-multibyte-char とする。

701 :名無しさん@お腹いっぱい。:04/10/10 18:05:03
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

で補完に色が付かなく、
eval `dircolors -b`
とやって LS_COLORS を設定しようとしても値がからっぽなのでちょっと悩みましたが
TERM を cygwin から rxvt にしてみたらちゃんと設定されました。

702 :名無しさん@お腹いっぱい。:04/10/11 13:25:45
.dir_colors に TERM cygwin の行がなかったのでしょう

703 :名無しさん@お腹いっぱい。:04/10/15 21:53:29
svn {copy,move} でファイル名を補完するにはどうすればいいでし
ょうか。zstyleでおねがいします。

704 :名無しさん@お腹いっぱい。:04/10/15 23:27:38
コマンドラインスタックが超絶便利なはずなのに慣れで\C-uで消して次のコマンド入力してしまう。

705 :名無しさん@お腹いっぱい。:04/10/16 00:32:54
コマンドラインスタックが超絶便利なはずなのに慣れで\C-a\C-kで消して次のコマンド実行して\C-yしてしまう。


706 :名無しさん@お腹いっぱい。:04/10/16 12:10:03
>>703
svn help $1
の出力と
svn $1 からの _complete_help の結果と
_complete_debug の結果から _svn_subcommand の中で
$_svn_subcmds と $_svn_subcmd_usage がどうなってるか
わかればなんとかなるかな。
$1 は {copy,move} 。
svn help の出力とかも。
うちは svn ないので。あるひとどんだけいんだろ。

707 :名無しさん@お腹いっぱい。:04/10/16 12:11:37
最初の 1つだけでもなんとかなりそうだけど

708 :名無しさん@お腹いっぱい。:04/10/17 09:59:03
cd したときに補完されるディレクトリが 2 段に
同じものが表示されてしまうんですけどなんででしょ?

% \ls -F
a/ b/

% cd [tab]
a/ b/
a/ b/

% \cd [tab]
a/ b/

709 :名無しさん@お腹いっぱい。:04/10/17 11:05:12
>>708
zstyle ':completion:*:descriptions' format %B%d%b
するとどうなる?

710 :708:04/10/17 11:38:47
>>709
% cd [tab]
a/ b/
directory in cdpath
a/ b/

となりました。


711 :名無しさん@お腹いっぱい。:04/10/17 12:18:21
$cdpath はどうなってんの?

712 :名無しさん@お腹いっぱい。:04/10/17 12:27:49
てか
where cd
は?

713 :708:04/10/17 13:34:54
>>711
うは $cdpath に ./ が入っている…。
これが原因かな。

>>712
cd: shell built-in command
でした。


714 :名無しさん@お腹いっぱい。:04/10/17 14:46:53
ていうか zsh --version は?

715 :名無しさん@お腹いっぱい。:04/10/17 15:01:51
zstyle ':completion:::::' completer _complete
としたらどうです?
というか zstyle の completer はどうなってますか?

716 :名無しさん@お腹いっぱい。:04/10/17 15:05:38
>>710
その状態で \cd から試すと?

717 :708:04/10/17 20:46:10
% /sw/bin/zsh --version
zsh 4.2.1 (powerpc-apple-darwin7.5.0)

>>715
> zstyle ':completion:::::' completer _complete
> としたらどうです?

% cd
local directory
a/ b/
directory in cdpath
a/ b/



718 :708:04/10/17 20:55:23
ゴチャゴチャしていた zstyle を思い切って消したら
直りました。これから、必要なものだけ入れるようにします。

719 :名無しさん@お腹いっぱい。:04/10/20 15:49:28
% echo (/sbin|/bin)
zsh: bad pattern: (/sbin|/bin)
path の pattern ってなしなんだね

720 :名無しさん@お腹いっぱい。:04/10/20 16:03:11
zshexpn(1)より
----
Note that grouping cannot extend over multiple directories: it is an
error to have a `/' within a group (this only applies for patterns
used in filename generation).
----
ということですね。
% echo /(bin|sbin)
ならできる。

721 :名無しさん@お腹いっぱい。:04/10/20 17:36:24
いやー実は
% echo (${PATH:gs/:/|/})/*(S)
とかやろうとしてた

722 :名無しさん@お腹いっぱい。:04/10/20 19:36:13
ごちゃごちゃやればできるのかもしれないけど、漏れなら、
for i in ${path}; echo -n $i/*(S); echo
ってやるかな……。

723 :名無しさん@お腹いっぱい。:04/10/20 20:07:14
% for i ( $path ); echo $i/*(S)
結局こんなんした

724 :名無しさん@お腹いっぱい。:04/10/24 22:41:56
cd - からの補完で cd -1/ とかなるのっていままであまり気にしてなかったけど
やっぱり面倒なときがある。だれか直したひとおる?
/ がつくのは bug なんよね?

725 :名無しさん@お腹いっぱい。:04/10/25 00:23:13
>>724
4.2.1 ですが、私の環境ではそのようなことはありません。
cd が関数定義されているのでは?

便乗質問です。bindkey -a (select vicmd keymap)って効きますか?

726 :724:04/10/25 03:57:07
4.2.1 で cd の関数定義はない。
そちらではなりませんか。
dirs -v でディレクトリのリストが出る状態、っていうか
directory stack のある状態でだよね?
/ がついても cd が成功すればいいんだけど。
補完なおすより cd -1/ を受け付けるように関数書いた方がいいかな。
bindkey -a は効いてます。

727 :725:04/10/26 21:32:01
>>725 (bindkey -a が効かない)
自己解決。man zshzle にあった Special Widget zle-line-init をやったら vicmd モードになりました。
bindkey -v
zle-line-init() { zle -K vicmd; } ; zle -N zle-line-init

>>725 (cd の _directory_stack 補完)
% compdef _cd cd
やっても駄目ですか?? それでもだめなら、あまり知識のない私はお手上げです。

728 :724:04/10/27 01:10:25
あ、効くってそういうことですか。
> % compdef _cd cd
変化ありません。

729 :724:04/11/02 03:47:47
>>727
いまさらですが cd の補完について。
setopt cdablevars だと -1/ みたいになるようです。
_cd の 30行目の条件で PREFIX の先頭が [-+] かに関わらないため、
こうなるようす。

730 :名無しさん@お腹いっぱい。:04/11/06 22:54:51
=() で filename extension を指定できないものか

731 :名無しさん@お腹いっぱい。:04/11/09 06:53:04
array から特定の値の要素を除去するのって zsh の機能である?

732 :名無しさん@お腹いっぱい。:04/11/12 02:02:39
zsh野郎は補完マニア。readlineについて小一時間語れそうだ。

733 :名無しさん@お腹いっぱい。:04/11/12 02:25:08
>>732
どこから readline が出てくるんだよ。

734 :名無しさん@お腹いっぱい。:04/11/13 08:51:34
Congratulations to Peter and Oliver, and Jerry Peek!

http://www.amazon.com/exec/obidos/tg/detail/-/1590593766/qid=1100286157/sr=1-1/ref=sr_1_1/103-9250847-9009444?v=glance&s=books



735 :名無しさん@お腹いっぱい。:04/11/14 00:57:16
>>731
単に array に対して :# の置換とかをするのじゃ駄目なの?


736 :731:04/11/14 09:56:32
>>735
いえ、それでいいです。気付きませんでした。ありがとうございます。

737 :名無しさん@お腹いっぱい。:04/11/15 21:18:21
zsh に bash の↓に相当する機能って無いの?

(info "(bash)Bash Builtins")
`checkwinsize'
If set, Bash checks the window size after each command and,
if necessary, updates the values of `LINES' and `COLUMNS'.


738 :名無しさん@お腹いっぱい。:04/11/15 22:54:01
>>737
ウィンドウサイズ変えると勝手に$LINESと$COLUMNS変わるけど?

739 :名無しさん@お腹いっぱい。:04/11/15 22:55:17
>>738
ほんとだ。ありがと。

740 :名無しさん@お腹いっぱい。:04/11/15 23:21:42
>>734
移行を促した本なのかな。ちょっと気になる。

741 :名無しさん@お腹いっぱい。:04/11/15 23:39:31
> focusing on two of the most recent Bourne shell variants, Bash and Zsh.

ってあるから、bash から zsh に移行する本じゃなくて bash と zsh の本なんじゃないの?

742 :名無しさん@お腹いっぱい。:04/11/15 23:41:19
http://www.amazon.co.jp/exec/obidos/ASIN/1590593766

743 :名無しさん@お腹いっぱい。:04/11/15 23:57:42
あ、 A to Z にかけてるとか

744 :名無しさん@お腹いっぱい。:04/11/16 00:01:41
debian に ash(netbsd の sh) というのがあるが、
これなら ash to zsh になるな。

745 :名無しさん@お腹いっぱい。:04/11/16 21:02:44
C-d を単語単位で消すようにするにはどうしたよいでしょうか?

746 :名無しさん@お腹いっぱい。:04/11/16 21:11:36
>>745
bindkey '^D' delete-word
とか?


747 :745:04/11/17 00:05:55
>>746
設定してみましたがこちらの期待の動作ではありませんでした。
/usr/local/bin
を消すときに usr local bin という単語レベルで消すのが期待する動作です。
bashとかだとデフォだと思ったんですけど、なんか単語境界を設定するオプションが
あったような気がするんですが、それがなんだったか分からない…。


748 :名無しさん@お腹いっぱい。:04/11/17 00:13:46
>>747
M-dと同じ動作?
だったら Src/Zle/zle_bindings.c には z_killwordってあるから
これbindすればいいと思うのだが。

749 :名無しさん@お腹いっぱい。:04/11/17 00:15:11
http://www.caliban.org/bash/index.shtml#completion
zsh より強力かも…。

750 :名無しさん@お腹いっぱい。:04/11/17 00:19:13
>>747
C-w を使ってる

751 :名無しさん@お腹いっぱい。:04/11/17 00:57:10
>>747
WORDCHARS を設定するとよろし。

WORDCHARS は「単語の区切りとみなさない記号」を指定する変数。デフォルト
ではこの中に/は含まれていたんじゃなかったかと思った。

漏れは
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
としている。


752 :名無しさん@お腹いっぱい。:04/11/17 01:04:23
自分はtcshから移行したときに下のような設定をしたな。

tcsh-backward-delete-word () {
local WORDCHARS="${WORDCHARS:s#/#}"
zle .backward-delete-word
}
zle -N tcsh-backward-delete-word
bindkey '^[^H' tcsh-backward-delete-word

753 :745:04/11/17 01:10:13
みなさん有難うございます。そうそうC-dと間違えて書いたけど
本当はM-dを>>745のようにしたかったとです。
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
でM-dもC-wも期待どおりに動きました。ヤター!

754 :745:04/11/17 01:11:43
>>753
レス番間違えたけど気にしないで…。スレ汚しスマソ

755 :名無しさん@お腹いっぱい。:04/11/17 16:27:21
>>742
さっき、amazonから届きました。
目次は

Part 1 : Introducting the Shell
Part 2 : Using bash and zsh
Part 3 : Extending the Shell

Appendix
A : Unix Programs
B : External Resources
C : Glossary

中をチラッと見る限り、純粋に zsh の本ではなくて、bash と zsh が対比する形で
かかれてます。

詳細は(機会があれば)また後日。

756 :名無しさん@お腹いっぱい。:04/11/17 16:30:28
つ ttp://www.faqs.org/faqs/unix-faq/shell/shell-differences/

757 :名無しさん@お腹いっぱい。:04/11/18 23:06:58
cygwin で zsh --login で起動すると

>You are running this script under zsh. Edit this script by hand.
>
>(failed to source lilypond-profile)

と警告が出ます。どのような設定が必要でしょうか?


758 :名無しさん@お腹いっぱい。:04/11/20 12:36:51
>>757
あーそれ俺もでる。うざい。

759 :名無しさん@お腹いっぱい。:04/11/20 14:31:05
alias cd='cd;ls'
このaliasでcdした後にlsするようになるのですが、auto_cd(ディ
レクトリ名だけでcdする)でこのようなことをするにはどうすれば
いいでしょうか?

760 :名無しさん@お腹いっぱい。:04/11/20 14:35:58
setopt autocd

761 :从*・ 。.・) ◆SayuminPM. :04/11/20 16:14:43
>>759
function chpwd () {
ls
}


762 :759:04/11/20 19:04:39
>>761
ありがとう

763 :从*・ 。.・) ◆SayuminPM. :04/11/21 01:03:14
zsh@hotmail.co.jp とったどー

764 :名無しさん@お腹いっぱい。:04/11/21 01:24:04
>>757
lilypond-profile って?どこに?

765 :名無しさん@お腹いっぱい。:04/11/21 03:38:28
while true; do
mail zsh@hotmail.co.jp <shine.txt
done

766 :名無しさん@お腹いっぱい。:04/11/21 08:40:52
輝け

767 :名無しさん@お腹いっぱい。:04/11/21 14:04:49
>>761 = >>171 (=>>192=>>518=>>669) なのですか?

768 :名無しさん@お腹いっぱい。:04/11/21 18:07:25
そうです.

769 :名無しさん@お腹いっぱい。:04/11/21 22:34:27
性別、年齢、体重、めがねの有無、趣味など教えてください。

770 :名無し募集中。。。:04/11/22 07:13:36
いやです.

771 :名無しさん@お腹いっぱい。:04/11/22 15:42:32
compdef hoge=foo fuga=foo moge=foo
とかやろうとしたけど、2つめまでしか登録できなかった。それ以上は
compdef: unknown command or service: foo
となります。複数の行に分けても変化無し。
なにか抜け道はないでしょうか。

772 :名無しさん@お腹いっぱい。:04/11/23 04:13:51
>>771
share/zsh/4.2.1/functions/compinit 269行目
- func="$_comps[${_services[(R)$svc]:-$svc}]"
+ func="$_comps[$svc]"
のようなきがする

773 :名無しさん@お腹いっぱい。:04/11/23 14:24:18
それでとりあえず動いたようです。tnx.

774 :名無しさん@お腹いっぱい。:04/11/26 19:20:00
autocd使っている人多いのかな.やたら補完候補が多くなるので使ってないんだが.

775 :名無しさん@お腹いっぱい。:04/11/26 19:29:09
/etc/passwdにあるユーザをcdの補完対象から除きたく

776 :名無しさん@お腹いっぱい。:04/11/26 19:32:06
>>774
./
../
~
/
から始まる場合のみ補完、ってオプションがあれば便利だと思う。

777 :名無しさん@お腹いっぱい。:04/11/28 05:33:21
>>775
autocd の?

778 :名無しさん@お腹いっぱい。:04/11/28 05:44:37
あ、 cd っていってるし違うか。
とりあえず share/zsh/4.2.1/functions/_cd の 45行目
if [[ -o cdablevars && -n "$PREFIX" && "$PREFIX" != <-> ]]; then
から始まるブロックを消せば止められるけど。

779 :名無しさん@お腹いっぱい。:04/11/30 04:31:06
$HISTFILE.<-> に match するファイルができるんだけど、
コレなに?前からちょっと気になってた。
ちなみにファイルの中身は <-> の部分です。

780 :名無しさん@お腹いっぱい。:04/12/01 19:44:32
javaの補完がゴッツ重い。

781 :名無しさん@お腹いっぱい。:04/12/01 21:32:39
自分でカスタマイズする根性がないけど
du とか mutt の引数(ほとんど単なるdirectory選択のはずだが)は
やたら重い。directory 階層の下まで覗きに行くのか、
各 file の中身をチェックしているのか...

782 :名無しさん@お腹いっぱい。:04/12/01 21:53:44
>>781
duの引数はただのファイルだけど、muttはユーザ名とかホストとか
オプションとか

783 :名無しさん@お腹いっぱい。:04/12/02 11:15:09
setoptでappend_historyとshare_historyしてます。

ときたまhistoryが巻戻ってしまうのですが、
(昔のhistoryになってしまう)
解決方法をご存知でしたら教えてください。


784 :名無しさん@お腹いっぱい。:04/12/02 16:49:59
>>780
確かにCLASSPATHをたくさん指定するとごっつ重い。
jarの展開が重いのか、classの検索が重いのかは不明だけど


785 :名無しさん@お腹いっぱい。:04/12/03 04:53:45
zprof でしらべてみよう

786 :名無しさん@お腹いっぱい。:04/12/03 04:59:43
>>783
append_history と share_history って同時指定するもんだっけ?

787 :名無しさん@お腹いっぱい。:04/12/03 11:43:56
append_history はデフォルトで有効だが、share_history を有効に
すればこっちが優先される

788 :名無しさん@お腹いっぱい。:04/12/03 23:44:37
>>873
具体的には?

789 :788:04/12/03 23:45:28
s/873/783/

790 :名無しさん@お腹いっぱい。:04/12/04 19:57:15
>>780,>>784
java の補完を僅かに高速化してみた。

% diff /usr/share/zsh/4.2.1/functions/_java_class _java_class
17c17
< c+=( ${${${(M)$(_call_program jar_classes jar -tf $i)##*.class}%%.class}:gs#/#.#} )
---
> c+=( ${${${(M)$(_call_program jar_classes unzip -l $i)##*.class}%%.class}:gs#/#.#} )

791 :名無しさん@お腹いっぱい。:04/12/05 16:06:45
.cshrc に、
if ( -x `which zsh` ) then
exec zsh
end
とかしてるんですが、これだと、外からこのマシンへのscpに失敗するんですよね。
みなさんどうしてますか?

792 :名無しさん@お腹いっぱい。:04/12/05 16:48:24
if ( -x `which zsh` ) then
    if ($?prompt) then
        if ($SHLVL == 1) then
            exec $zsh -l
        endif
    endif
endif

793 :名無しさん@お腹いっぱい。:04/12/05 17:56:01
>>792
ぬりがとう!
SHLVLは1じゃないことが多いので、そこだけ削除して、いただきました。

794 :名無しさん@お腹いっぱい。:04/12/06 15:10:39
例えば、tarの補完関数とかがおせっかいすぎるので、
自分でもっとシンプルなのを、compctl で書きたいん
だけど、どうやって特定のコマンドの補完関数を無効
にできるんでしょうか?
functions の中のファイルをリネームというのはしたく
なんです。

795 :名無しさん@お腹いっぱい。:04/12/06 15:13:18
FPATH=~/.zfunc:$FPATH
とかして、 .zfunc の中に自分用のやつを入れる。

796 :名無しさん@お腹いっぱい。:04/12/06 15:48:02
ぬりがとう。
空のファイルを作れば、無視されるんだね。
$ touch foo/_tar
みたいに。

797 :名無しさん@お腹いっぱい。:04/12/07 16:38:05
>>778
それ、`-' + TABを利用してのcdの履歴が利用できなくなるようですね。

798 :名無しさん@お腹いっぱい。:04/12/08 15:52:18
現在編集しているコマンドラインの内容を履歴バッファに登録するだけで
実行はしない方法があったと思うんだけど、どうやるんだっけ?
マニュアル見ても思い出せん。

799 :名無しさん@お腹いっぱい。:04/12/08 16:18:18
>>798
そんなのあったけ?
C-qのpush-lineではなくて?

800 :名無しさん@お腹いっぱい。:04/12/08 16:48:39
>>799
うん。どこかで読んだ気がするんだけど。実行せずメモがわりとして履歴に
入れておきたいと思うことがごく偶にある。

801 :名無しさん@お腹いっぱい。:04/12/08 17:01:08
ごく稀つーか、結構時々くらいにあるよね

802 :名無しさん@お腹いっぱい。:04/12/08 17:20:43
めんどくさいんで echo hoge hoge で済ませてるよ。
パイプが絡むと面倒だけど。

803 :名無しさん@お腹いっぱい。:04/12/09 19:06:17
% setopt interactivecomments [/work]


804 :名無しさん@お腹いっぱい。:04/12/09 19:12:54
それは使えん

805 :名無しさん@お腹いっぱい。:04/12/09 19:15:09
>>804
えーなんで? 使えますよ。先頭に#を付けるだけです。

806 :名無しさん@お腹いっぱい。:04/12/09 19:26:49
実行したのと同じようにしたいんよ。インクリメンタルサーチを使わずに
コマンドラインの先頭数文字で呼び出すことがほとんどだから。
メモしたことさえ忘れるかもしれないし。

807 :名無しさん@お腹いっぱい。:04/12/11 13:37:37
>>796
無視だけなら compdef -d tar でも可。

>>797
あー、それなら 47行目で
- alt=( "$alt[@]" 'named-directories: : _tilde' )
+ alt=( "$alt[@]" 'named-directories:directory-stack: _directory_stack -qS/' )
として、48行目からの else節を削除っつーのはどーでしょ。未確認。

>>798
マニュアルの記述は知らないけど、
history-register-line () { fc -R <(<<<$BUFFER); zle send-break }
zle -N history-register-line
でどうすか?
最初 setopt noexec 使おうと思ったけどコレ turn on(off?) できないんだね。

>>803
[/work] って何?

808 :名無しさん@お腹いっぱい。:04/12/11 14:32:51
>>807
RPS1

809 :名無しさん@お腹いっぱい。:04/12/11 19:34:00
>>807
> history-register-line () { fc -R <(<<<$BUFFER); zle send-break }
> zle -N history-register-line
これで望みが叶いました。ありがとうございます。

しかし、以前読んだのが何だったのか思い出せないので、まだすっきりしない(w

810 :名無しさん@お腹いっぱい。:04/12/12 12:59:28
>>808
なるほど

811 :名無しさん@お腹いっぱい。:04/12/14 23:40:46
みんなの ulimit -a の結果を教えて
特別な設定してる?

ちなみに私は
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 8192
-c: core file size (blocks) 0
-m: resident set size (kbytes) unlimited
-u: processes 4091
-n: file descriptors 1024
-l: locked-in-memory size (kb) unlimited
-v: address space (kb) unlimited
-N 10: file locks unlimited


812 :名無しさん@お腹いっぱい。:04/12/15 05:14:30
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 8192
-c: core file size (blocks) unlimited
-n: file descriptors 256
-v: virtual memory size (kb) unlimited


813 :名無しさん@お腹いっぱい。:04/12/15 13:55:19
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 8192
-c: core file size (blocks) 0
-m: resident set size (kbytes) unlimited
-u: processes 7679
-n: file descriptors 1024
-l: locked-in-memory size (kb) 32
-v: address space (kb) unlimited
-N 10: file locks unlimited
-N 11: 1024
-N 12: 819200

814 :名無しさん@お腹いっぱい。:04/12/17 08:13:36
最新の CVS HEAD では、
----
autoload -U compinit
compinit
----
と書いてあるだけで、TAB を押しただけで、core を吐いて落ちてしまいます。
Linux kermit 2.6.9-1.1032_FC4 でも、Solaris8 でも、同様でした。
何か環境・設定がおかしいのでしょうか。

815 :名無しさん@お腹いっぱい。:04/12/17 09:59:54
>>814
Solaris 9 4/04 だと問題ないけど…。


816 :名無しさん@お腹いっぱい。:04/12/17 16:43:00
>>815
> Solaris 9 4/04 だと問題ないけど…。

そうすると、設定ファイルの問題かな。.zshrc とか消すと、TAB 押しても平
気なんだよな。昔から使っている設定ファイルのどこかに問題があるのかも知
れないなぁ。(×_×;)シュン

817 :名無しさん@お腹いっぱい。:04/12/21 17:43:55
33 も書いてるけど、うちでも、日本語の入力ができません。
入力しても、化けたようなのが表示されるだけ。
setopt printeightbit 以外には何したらいいんでしょうか?
ちなみに、IMは、kinput2 で、bash だったらちゃんと日本語が表示されます。

818 :名無しさん@お腹いっぱい。:04/12/21 19:54:52
>>817
ターミナルエミュレータが何かという情報を隠すのは宗教上の理由?


819 :名無しさん@お腹いっぱい。:04/12/21 22:08:48
>>817
euc-jpなら表示できるはず。

820 :名無しさん@お腹いっぱい。:04/12/22 00:02:58
>>817
UTF-8 環境で補完が化ける & 日本語入力ができない
http://hiki.ex-machina.jp/zsh/?FAQ%40zsh%A5%B9%A5%EC#l4

821 :名無しさん@お腹いっぱい。:04/12/22 00:45:52
zshの補完で~/.bmp(beep media playerのディレクトリ)が
ビットマップイメージファイル(foo.bmp)と勘違いして色付けされます。
これって回避できませんかね?

822 :名無しさん@お腹いっぱい。:04/12/22 02:53:19
>>821
どんな設定?

823 :817:04/12/22 03:34:12
>>818
kterm です。

>>819
euc-jp です。

bashで通るのが悔しいorz

824 :名無しさん@お腹いっぱい。:04/12/22 04:26:55
>>823
入力だけなら printeightbit は要らないはず。

825 :名無しさん@お腹いっぱい。:04/12/22 04:27:41
>>817
つーか。化けたようなのってどんな?

826 :817:04/12/22 07:11:27
>>825
kterm + kinput2 で、
「日本語」は、「F|K¥8l」
「あいうえお」は、「$"$$$&$($*」になる。

827 :名無しさん@お腹いっぱい。:04/12/22 07:44:15
>>826
ちょっと
bindkey "\M-^@"
してみてっていうか
bindkey の "\M-^@"-"\M-^?" の部分が
self-insert-unmeta になってるとかないよね?

828 :名無しさん@お腹いっぱい。:04/12/22 08:02:46
>>826
jis?

829 :名無しさん@お腹いっぱい。:04/12/22 11:12:10
>>826
コマンドライン以外は化けない?
catとかで入力してみて。

830 :821:04/12/22 14:38:14
>>822
//.zshrc
eval `dircolors lscolors`
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

// lscolors
.bmp 01;35

てな設定ですが。

831 :名無しさん@お腹いっぱい。:04/12/22 17:18:55
>>830
eval のとこを
LS_COLORS='*?.bmp=01;35:'
で gnu ls 共に .bmp の色が消えるようだ。

832 :名無しさん@お腹いっぱい。:04/12/22 17:49:49
>>831
それやったら普通の画像ファイルの設定まで無効になるだろ。
LS_COLORS では ? はメタ文字ではない。

zsh では、
=(#b)*?.bmp=01;35
などとすれば上手く行くみたい。

ただしこの設定は gnu ls だとエラーになるので LS_COLORS には含めないようにしないといけない。

833 :名無しさん@お腹いっぱい。:04/12/22 19:26:09
なるほど。tnx

834 :831:04/12/22 20:18:52
これは失礼

835 :817:04/12/23 03:52:35
>>827
self-insert です。

>>828
euc です。

>> 829
cat で入力しても、同じように化けてます。

はー。凹む。
(Mac OS Xだからか...。)

836 :名無しさん@お腹いっぱい。:04/12/23 04:28:02
>>835
> (Mac OS Xだからか...。)
環境を真っ先に書かない宗教的な理由を(ry


837 :名無しさん@お腹いっぱい。:04/12/23 13:39:28
>>835
>cat で入力しても、同じように化けてます。
zshのせいではないようですね。
stty -istrip
でなおるかな?

838 :817:04/12/23 16:40:53
>>837
キタ━━━━(゚∀゚)━━━━ッ!!
直りました。ぬりがとう。
stty -istrip の意味が分からないのので、これから神様googleに
啓示を求めてみます。

839 :名無しさん@お腹いっぱい。:04/12/23 17:02:17
具ぐる前に man 読む習慣つけろ

840 :名無しさん@お腹いっぱい。:04/12/23 17:29:42
bash で OK とかあるから zsh の設定かなと思てたけど
よく考えれば他もありえますね

841 :名無しさん@お腹いっぱい。:04/12/25 23:33:57
utfのシェル上の日本語表示が化けるのは直すほうほうがとりあえず無いので
ファイナルアンサー?

842 :名無しさん@お腹いっぱい。:04/12/26 03:17:50
>>841
hack

843 :名無しさん@お腹いっぱい。:05/01/02 13:17:13
cd の補完対象に、チルダも付けていないのに、ユーザ名を補完するのは
止めたいんですが、何をいじればいいんでしょうか?教えてエラい人!

844 :名無しさん@お腹いっぱい。:05/01/02 14:58:31
setopt nocdablevars
それか >>778,807 あたり

845 :さゆPさん ◆SayuminPM. :05/01/02 23:04:23
さゆっこ~% hoge
从*・ 。.・)ノ<hogeとかみつからないの
さゆみん~% rm -rf *
从*・ 。.・)ノ</home/sayuminぜんぶけすの [yn]? n
道重さゆみ~% cd ~root
从*・ 。.・)ノ<ぱーみっしょんでないどなの

みたいにメッセージを変えることはできますか?


846 :名無しさん@お腹いっぱい。:05/01/02 23:06:12
>>845
できます。

847 :名無しさん@お腹いっぱい。:05/01/02 23:06:43
>>845
libc にも変更が必要

848 :名無しさん@お腹いっぱい。:05/01/03 00:16:22
cshだと萌え系のメッセージカタログがあった気がする。

849 :名無しさん@お腹いっぱい。:05/01/03 01:15:04
>>845
翻訳フィルタを作れ

850 :843:05/01/03 05:11:00
>>844
さんくす。

851 :名無しさん@お腹いっぱい。:05/01/03 15:41:14
冬休みだな

852 :名無しさん@お腹いっぱい。:05/01/03 17:01:04
あるコマンド hoge の引数の補完をファイルだけにするにはどうすればい
いでしょうか?

853 :名無しさん@お腹いっぱい。:05/01/03 17:48:27
>>852
デフォルトはファイルだけじゃないの?


854 :名無しさん@お腹いっぱい。:05/01/03 18:26:52
>>853
はい。そうです。
言葉足らずで申しわけありません。
補完がファイルでない既存のコマンドの設定を変えたいのです。

855 :名無しさん@お腹いっぱい。:05/01/03 18:29:15
~/.zshrcからcompinitって書いてある行を全部削除

856 :名無しさん@お腹いっぱい。:05/01/03 19:20:15
cygwinで使うことを想定しています。
alias -s 拡張子=Program
といった設定を、Windowsの設定から自動生成してくれるツールは
ありますか?


857 :名無しさん@お腹いっぱい。:05/01/03 19:41:41
>>854
compdef -d hoge

858 :名無しさん@お腹いっぱい。:05/01/03 20:23:55
>>856
テキストファイルに落として perl でも ruby でも

859 :名無しさん@お腹いっぱい。:05/01/03 20:47:03
>>857
ありがとうございます。faqのようですね。

860 :名無しさん@お腹いっぱい。:05/01/04 03:39:57
年明け頃から zsh 起動時に
^mona:: No such file or directory
なんていうエラーが出るようになりました。(´Д`;)
ログイン名 mona 、ホームディレクトリは /home/mona 、zsh 4.2.1 です。

autoload -U compinit
compinit
としたときに(2回目の) compinit で上記のエラーが出ます。
他のユーザ(root)ではエラーが出ず、.zshrc,.zlogin をリネーム後に
autoload -U compinit; compinit としても同じエラーが出ます。
何か環境変数等が悪さをしてるようなのですが、原因に 全く見当が付かないのでご教授をお願いします…

861 :名無しさん@お腹いっぱい。:05/01/04 10:50:37
4.2.1にしたら$SHLVLが2以上にならなくなった。

862 :861:05/01/04 10:52:44
正確に書くと、zshからzshを起動しても$SHLVLが増えなくなった。
不便

863 :名無しさん@お腹いっぱい。:05/01/04 10:59:23
>>862
ほんとだ


864 :名無しさん@お腹いっぱい。:05/01/07 06:17:10
% echo $SHLVL
1
% printenv SHLVL
1
% zsh
% echo $SHLVL
2
% printenv SHLVL
1
% zsh
% echo $SHLVL
2
% printenv SHLVL
1
% echo バグ?
バグ?

865 :名無しさん@お腹いっぱい。:05/01/07 06:22:03
最後のは

% echo バグ?
おまえの頭がな!

とかなってほしかったのか?

866 :名無しさん@お腹いっぱい。:05/01/07 06:28:33
どういう頭でそう思うんだ?

867 :名無しさん@お腹いっぱい。:05/01/07 06:40:04
echo () { if [[ $1 = ]]; then 1=\!; fi; builtin echo $@ }

868 :名無しさん@お腹いっぱい。:05/01/07 06:40:43
echo () { if [[ $1 = バグ? ]]; then 1=おまえの頭がな\!; fi; builtin echo $@ }

869 :名無しさん@お腹いっぱい。:05/01/07 06:50:48
>>860
こんなんしてみて
{ setopt xtrace && compinit && unsetopt xtrace } 2>&1 |less

870 :名無しさん@お腹いっぱい。:05/01/08 18:17:16
>>861-864
http://www.zsh.org/mla/users//2004/msg01060.html
http://www.zsh.org/mla/users//2004/msg01061.html

871 :名無しさん@お腹いっぱい。:05/01/12 22:10:41
Subject: Version 4.2.2 of zsh released

I've uploaded version 4.2.2 to ftp.zsh.org. Please try it out on as
many systems as possible before I upload it to Sourceforge and announce
it on Freshmeat. It would be especially good if someone could confirm
that there are now no problems on Cygwin.

There are lots of bug fixes and completion enhancements since 4.2.1,
only a few minor new features.


872 :名無しさん@お腹いっぱい。:05/01/12 22:56:45
>>871
GJ!
SHLVLも直ってる。

873 :名無しさん@お腹いっぱい。:05/01/15 00:51:42
Fedora Core 3 の iconv (GNU libc) 2.3.4 で codesets の補完が効かなくなったのは私だけ?

なお、_iconvを以下のように修正すれば補完が効くようになった:
- ${${${(f)"$(_call_program codesets iconv --list|sed -n '/^$/,$ p')"}## #}%//} && ret=0
+ ${$(_call_program codesets iconv --list)%%\/\/} && ret=0

874 :名無しさん@お腹いっぱい。:05/01/15 01:59:33
>>873
再現方法教えて。
glibc 2.3.3だけど、その変更しても
zsh$ iconv --list (ここでTABを押下)
してもリストは出ないな。

875 :873:05/01/15 03:18:23
$ iconv -f [TAB]

$ iconv -t [TAB]
みたいにしてするcodesetsの補完です。

876 :名無しさん@お腹いっぱい。:05/01/15 03:45:26
良く分からないけど
glibc 2.3.3
zsh 4.2.3
>>875で補完するとはいっぱい出てくるよ

877 :873:05/01/15 03:58:40
今気が付いたんだが、iconv --list の出力が呼び出し方に依って違っているみたいです
$ iconv --list
以下のリストには、知られているすべてのキャラクタコードが含まれています.
これは、これらの名前はコマンドラインパラメータのFROMとTOで使われる全ての
組合せを意味しているわけではありません. あるキャラクタセットは、
いくつかの異なる名前(エイリアス)と共にリストされます.

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
(以下略)
$ echo $(iconv --list)
437// 500// 500V1// 850// 851// 852// 855// 856// 857// 860// 861// 862// 863// 864// 865// 866// 866NAV// 869// 874// 904// 1026// 1046// 1047// 8859_1// 8859_2// 8859_3// 8859_4// 8859_5//
(以下略)
$ iconv --version
iconv (GNU libc) 2.3.4
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
これはフリーソフトウェアです。利用許諾についてはソースをご覧ください。
商業性や特定の目的への適合性の如何に関わらず、無保証です。
作者: Ulrich Drepper.



878 :名無しさん@お腹いっぱい。:05/01/15 20:09:35
Some groundwork for Unicode in Zle
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

879 :名無しさん@お腹いっぱい。:05/01/15 20:44:36
なんですぐに4.2.3が出たわけ?

880 :名無しさん@お腹いっぱい。:05/01/15 20:50:50
>>879
Mac OS X のため

881 :名無しさん@お腹いっぱい。:05/01/15 22:14:16
cygwin版は未だに4.2.0が最新

882 :名無しさん@お腹いっぱい。:05/01/20 18:35:00
補完時に大文字と小文字を区別しないで欲しくて

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

を.zshrcに追加したのですが,ちゃんと動作してくれません。
特にエラーが出たりはしないのですが。
zstyleはただ単に.zshrcに追加しても効果はないんですか?

zsh 4.2.1 (i686-pc-cygwin)


883 :名無しさん@お腹いっぱい。:05/01/20 18:59:14
当方 zsh 4.2.1 (i686-pc-linux) だけどその設定は .zshrc に入れてて、機
能はしているよ。

ただ、たとえばカレントディレクトリに、 INSTALL と install.sh があって、
i を入力したあとに TAB キーを押しても、 install まで補完してくれたりは
しない。

これは、あくまでも個々のファイルに「マッチする」だけであって、共通のサ
フィックスを取り出す部分では区別されるからだと理解している。
これを上手く対処する方法があるなら漏れも聞きたいが……。


884 :名無しさん@お腹いっぱい。:05/01/20 19:29:06
>ただ、たとえばカレントディレクトリに、 INSTALL と install.sh があって、
>i を入力したあとに TAB キーを押しても、 install まで補完してくれたりは
>しない。

エエーそうなんですか。
bashでも

/ero/AV
/ero/adult がある時に
cd /ero/a TAB を入力すると二つとも候補に出ますよね。
引用した例でもINSTALLとinstall.shが候補に出るはずです。
これをzshでやる方法があるなら>>883さんも知りたいということですか?



885 :名無しさん@お腹いっぱい。:05/01/20 19:35:32
違う、候補にはなる。
でも install まで補完してくれたりはしない、ということ。


886 :名無しさん@お腹いっぱい。:05/01/20 19:37:51
そういうことですか,そうですよね..orz
うーん,どうして動かないんだろ。
テンプレサイト巡りでもしてきます。

887 :名無しさん@お腹いっぱい。:05/01/20 23:34:56
[1] % zsh -f
[2] % autoload -U compinit
[3] % compinit
[4] % zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
(TAB 0回目) [5] % : i
(TAB 1回目) [5] % : iNSTALL
(TAB 2回目) [5] % : iNSTALL
INSTALL install.sh
(TAB 3回目) [5] % : INSTALL
INSTALL install.sh
(TAB 4回目) [5] % : install.sh
INSTALL install.sh

みたいになったけど。
いつも setopt menucomplete だから no_menucomplete はよくわからん。

888 :名無しさん@お腹いっぱい。:05/01/21 00:01:08
ports こねーなあ

889 :882:05/01/21 00:21:39
おお!その通りに入力したらいけました。
ただ,毎回これを入力するのは大変なので
これをファイルに書くとしたらどのファイルにどう書けばいいのでしょうか/////

890 :882:05/01/21 00:30:18
うはぁそのまま書けばいいんですね。
これでしばらく試してみることができます。
ありがとうございました。

891 :885:05/01/21 00:42:10
>>887
うぉ確かに動いてた。スマソ。

892 :名無しさん@お腹いっぱい。:05/01/21 04:42:30
>>888
send-pr

893 :名無しさん@お腹いっぱい。:05/01/21 18:56:01
文字化けうぜぇえええのは仕様ですか?
lsとか補完候補は化けないけどプロンプトのある行だけ化ける。
しかしなぜか半角カナは入力,表示共におっけー
どゆことよ

894 :893:05/01/22 10:55:17
つえぇええええええ
ZSHつえぇえええええええええ
なんだよこれ!!ファイラかよ!!
やべえ文字化けなんか気にならなくなってきた。
おもしれ

895 :名無しさん@お腹いっぱい。:05/01/22 12:09:00
>>893
仕様だ。日本語ファイルは使うなってことだ。

896 :名無しさん@お腹いっぱい。:05/01/22 12:43:41
>>895
ということにしたいのですね

897 :名無しさん@お腹いっぱい。:05/01/22 16:15:08
>>893
半角カナ入力OKなの?
環境の詳細キボンヌ


898 :名無しさん@お腹いっぱい。:05/01/22 18:20:46
半角カナでもタ行以降は化ける
ア カ サ行はOK

899 :名無しさん@お腹いっぱい。:05/01/22 18:48:55
>>892
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/76268#.2ch.net

900 :893:05/01/22 21:09:47
>>897
そうなんです。
cygwin環境からXなしrxvt上で使っているのでIMEでの入力になるんですが
bashだと問題ないのにzshだと化けますね。
設定次第で日本語入力いけるんじゃないかって期待もあったんですけど
どうやら無理っぽい予感。
http://sylphys.ddo.jp/upld2nd/pc/img-box/img20050122210245.png

lsとか補完候補は化けないんですけどねぇ
まぁそんな事気にせず使い続けますけど。


901 :名無しさん@お腹いっぱい。:05/01/22 21:33:32
lsで化けないのはzshとは無関係
補完候補が化けないのは知らん。

902 :名無しさん@お腹いっぱい。:05/01/22 21:46:00
うちじゃ補完候補もバケバケだけどな。

903 :名無しさん@お腹いっぱい。:05/01/22 22:08:55
関数内でC言語でいう static な変数を使うことはできますか
function hoge () {
static typeset -i HOGE=0
print $((HOGE++))
}
% hoge
0
% hoge
1
% echo $HOGE

%

みたいに関数外からはアクセスできないようにしたいです


904 :名無しさん@お腹いっぱい。:05/01/22 22:27:40
4.2.1 まではないと思うよ。
今は知らん。

905 :名無しさん@お腹いっぱい。:05/01/22 22:36:19
>>900
\012 が ^J (J -> \112) になるように
\212 が ^ハ (ハ -> \312) になるんだと思うよ。
SJIS では。
つまり
\000-\037\177 と
\200-\237\377 あたりが化けるのでは。
EUC だと 2バイト全角が化けずに(色々やると化けるが)
2バイト半角が化けるけどね。

906 :名無しさん@お腹いっぱい。:05/01/23 11:13:43
対応するのが難しいのか
優先度が低いのか

アホアホマ〜ン

た〜す〜け〜て〜

907 :名無しさん@お腹いっぱい。:05/01/23 16:58:39
優先順位が低いんでしょ
Unicode なら >>878

908 :名無しさん@お腹いっぱい。:05/01/23 18:57:50
もちろん、zsh です。

909 :名無しさん@お腹いっぱい。:05/01/23 20:40:29
読むのマンドクセからメモ

Some groundwork for Unicode in Zle
http://www.zsh.org/mla/workers/2005/msg00035.html

910 :888:05/01/25 02:25:23
ports きた。Update to 4.2.3

911 :名無しさん@お腹いっぱい。:05/01/25 02:58:22
ports って自分で書くの難しいの?
rpm しか知らないんだけど

912 :名無しさん@お腹いっぱい。:05/01/25 03:20:13
フーン

913 :名無しさん@お腹いっぱい。:05/01/25 04:50:51
( ´_ゝ`)フーン

914 :名無しさん@お腹いっぱい。:05/01/25 13:09:13
FreeBSD ports で 4.2.3 入れたんだけど、
ports の Makefile のターゲットを補完してくれなくなったっぽい

あと GNU global の補完が効かないのはまだ直ってないみたいすね

915 :名無しさん@お腹いっぱい。:05/01/25 20:57:16
そうなの? じゃあ4.2.3は見送るかなあ。
まあUnix/_makeをとっとけばいいのかもしんないけど。
makeのターゲット補完はよく使うからできないと痛いなあ。


ところで、makeの補完で変数展開をしたものを解釈してくれると嬉しいんだけど
難しいでしょうか。


916 :名無しさん@お腹いっぱい。:05/01/25 21:20:36
ん? 普通のターゲット補完はできるよ。できないのは ports のターゲット補完。

漏れの場合 root は zsh にしてないし、そもそも portupgrade 使ってるから、
それくらいはやってくれなくても別にいいけど……。

見比べてみると Unix/_make はかなり大幅に変更があるみたいだね。
expandVars という関数があるみたいだけど、これは何をやってるんだろう。


917 :名無しさん@お腹いっぱい。:05/01/25 22:38:56
あ、そうですか。勘違いしてしまいました。
こんなおバカにフォローしてくださってどうもです。

expandVarsとな? 入れてみよう……。


918 :名無しさん@お腹いっぱい。:05/01/26 01:46:34
ports の make 補完は clean distclean がなかったからなあ。
_mplayer は直ったかな、と後でみてみよう。

919 :名無しさん@お腹いっぱい。:05/01/26 02:28:59
4.2.3 _make は .include はみてくれるようだけどパスが $PWD に限られてるようだ

920 :名無しさん@お腹いっぱい。:05/01/26 14:33:36
>>919
あーなるほど。それで意味がわかったので、ちょっと試してみた。
--- /usr/local/share/zsh/4.2.3/functions/Completion/Unix/_make 2005-01-22 22:41:31.000000000 +0900
+++ ./_make 2005-01-26 14:31:43.669529128 +0900
@@ -1,6 +1,6 @@
#compdef make gmake pmake dmake

-local prev="$words[CURRENT-1]" file expl tmp is_gnu dir incl
+local prev="$words[CURRENT-1]" file expl tmp tmp2 is_gnu dir incl

expandVars() {
local open close var val tmp=$1 ret=$1
@@ -120,6 +120,8 @@
tmp=( $(_call_program targets "$words[1]" -nsp --no-print-directory -f "$file" .PHONY 2> /dev/null | parseMakefile $PWD) )
else
tmp=( $(parseMakefile $PWD < $file) )
+ tmp2=( $(parseMakefile /usr/ports/Mk < $file) )
+ tmp=(${tmp} ${tmp2})
fi
_wanted targets expl 'make target' compadd -a tmp && return 0
fi
こんな感じで ports も補完できた。
ただし、動作が固まるくらい時間がかかるので、あまり出来はよろしくないです。

921 :名無しさん@お腹いっぱい。:05/01/27 01:16:46
二倍になった。 時間が。
--- /usr/local/share/zsh/4.2.3/functions/Completion/Unix/_make  Wed Jan 26 02:02:27 2005
+++ ./_make     Thu Jan 27 00:53:06 2005
@@ -59,6 +59,12 @@
           val=${val##[ $TAB]#}
           eval $var=\$val
           ;;
+       ([[:alnum:]][[:alnum:]_]#[ $TAB]#\?=*)
+           var=${input%%[ $TAB]#\?=*}
+           val=${input#*=}
+           val=${val##[ $TAB]#}
+           eval : \${$var=\$val}
+           ;;
       ([[:alnum:]][[:alnum:]_]#[ $TAB]#:=*)
           var=${input%%[ $TAB]#:=*}
           val=${input#*=}
@@ -74,13 +80,14 @@
           local f=${input##$incl ##}
           if [[ $incl = '.include' ]]; then
               f=${f#[\"<]}
-               f=${f%[\">]}
           fi
           f=$(expandVars $f)
           case $f in
           (/*) ;;
+           (*\>) f=/usr/share/mk/$f ;;
           (*)  f=$dir/$f ;;
           esac
+           f=${f%[\">]}
           if [ -r $f ]; then
               parseMakefile ${f%%/[^/]##} < $f
           fi

922 :名無しさん@お腹いっぱい。:05/01/27 02:51:21
実用的には 4.2.1 に倣って
--- /usr/local/share/zsh/4.2.3/functions/Completion/Unix/_make  Wed Jan 26 02:02:27 2005
+++ ./_make     Thu Jan 27 02:42:33 2005
@@ -70,6 +70,9 @@
            input=${input%%:*}
            print $(expandVars $input)
            ;;
+       (.include[ $TAB]##\<bsd.port.(|subdir.|pre.)mk\>*|.include[ $TAB]##\"*mk/bsd.pkg.(|subdir.)mk\"*)
+           [[ $incl = '.include' ]] && print fetch fetch-list extract patch configure build install reinstall deinstall package describe checkpatch checksum makesum clean distclean search
+           ;;
        ($incl *)
            local f=${input##$incl ##}
            if [[ $incl = '.include' ]]; then

923 :名無しさん@お腹いっぱい。:05/01/27 02:53:51
すごく基本的なことかもしれまえんが,教えて下さい.
カレントディレクトリに .aho というファイルがあって,zshで
rm -f * すると .aho も消えるんですが,bashからだと消えません.
これってどういうことなんでしょう?

また,bashで,.ahoとか.bakaとか消したい為に rm -f .* ってやると
rm: cannot remove `.' or `..'
rm: cannot remove `.' or `..'
って言われるのが嫌なんですが,"."から始まるファイルがたくさんある場合
どうやって消すのが普通なんでしょうか?

924 :名無しさん@お腹いっぱい。:05/01/27 03:00:15
ここはzshのスレですよ?

925 :名無しさん@お腹いっぱい。:05/01/27 03:03:46
zsh では setopt glob_dots でそうなる。

926 :名無しさん@お腹いっぱい。:05/01/27 03:07:03
bash なら dotglob とかじゃね?

927 :名無しさん@お腹いっぱい。:05/01/27 07:42:07
そのオプション便利かもしれないけど、
長年の常識を覆されるので
慣れてないとチョット怖いね。

928 :名無しさん@お腹いっぱい。:05/01/27 16:34:38
"*"で".aho"を含まない方がおかしい

929 :名無しさん@お腹いっぱい。:05/01/27 16:35:56
>>928
(゜Д゜)ハァ?

930 :名無しさん@お腹いっぱい。:05/01/27 16:49:28
*で.*が含まれたら恐いな

931 :名無しさん@お腹いっぱい。:05/01/27 23:21:39
そして
* で .. が含まれてたらさらに恐ろしい


932 :名無しさん@お腹いっぱい。:05/01/28 08:24:06
"."や".."が処理対象に含まれる方がおかしい

933 :名無しさん@お腹いっぱい。:05/01/29 05:03:12
きちがい?

934 :名無しさん@お腹いっぱい。:05/01/30 00:59:21
きちがい?

935 :名無しさん@お腹いっぱい。:05/01/30 01:14:31
MSDOS 上がりの俺としては
unko1
unko2
unko.tiff
unko.jpg
unko.ps
があったときに ls unko*
で5つ全てが出てきたときはなんじゃコリャと思った。

936 :名無しさん@お腹いっぱい。:05/01/30 01:16:46
>>935
UNIXしか使ったことのない俺としてはそれがどうしてなんじゃこりゃになるのかわからない
解説きぼん

937 :名無しさん@お腹いっぱい。:05/01/30 01:33:58
自分が使うシステムの勉強をサボるな。
それが unix であれ MS-DOS であれその他であれど同じことだ

938 :名無しさん@お腹いっぱい。:05/01/30 03:31:59
DOSの'.'は文字じゃないことに気付け

939 :名無しさん@お腹いっぱい。:05/01/30 03:46:37
938はどちら側に対して言ってるのだろうかとふと思った

940 :名無しさん@お腹いっぱい。:05/01/30 14:23:31
zsh遅い。重い。


941 :名無しさん@お腹いっぱい。:05/01/30 18:00:57
486 辺りの方でしょうか?

いやマジでどの辺りだと zsh の遅さを体感できるのか知りたい。

942 :名無しさん@お腹いっぱい。:05/01/30 18:17:23
確かcompctlで、指定ワードリストで補てんする設定して、
タブで補てんできたんですが、
ワードが、a1 a2 a3で
a*<tab> としても補てんできないです。これは仕方がないんでしょうか?
ちなみにbashから乗り換え中で、bashでもできなかった・・・


943 :名無しさん@お腹いっぱい。:05/01/30 18:18:11
SuperSPARCII 75MHz じゃ体感速度に違いは無かった

944 :名無しさん@お腹いっぱい。:05/01/30 18:24:11
シェルでもどうしようもできない、事と思うけど
バックグラウンドで実行したプロセスの出力を、
途中でファイルにリダイレクトできるだろうか・・

945 :名無しさん@お腹いっぱい。:05/01/30 18:39:43
>>944
シェルの機能じゃむりじゃない?
dup して exec だから


946 :名無しさん@お腹いっぱい。:05/01/30 19:04:02
>>945
そーですよね。外部からのfd操作は無理っすよね。
/procのfd1から < で取得なんてのもしたんですが、無理でした。
| tee > log で実行するようにします。

947 :名無しさん@お腹いっぱい。:05/01/30 20:31:08
体感する側のスペックの違いではなくて?

948 :名無しさん@お腹いっぱい。:05/01/30 21:06:46
bashではどう考えてもできないzshの機能をお教え下さい

949 :名無しさん@お腹いっぱい。:05/01/30 21:14:09
>>948
キモいプロンプト

950 :名無しさん@お腹いっぱい。:05/01/30 22:13:49
>>942
zstyle ':completion:*::::' completer _complete
setopt globcomplete
みたいな?

951 :名無しさん@お腹いっぱい。:05/01/30 23:39:58
$ cd ~
って bash はできるの? sh は無理ぽだけど

952 :名無しさん@お腹いっぱい。:05/01/30 23:50:15
>>951
~展開ぐらいcshでもできるぞ。

953 :名無しさん@お腹いっぱい。:05/01/31 01:17:06
>>951
~展開ぐらいashでもできるぞ。

954 :名無しさん@お腹いっぱい。:05/01/31 09:33:23
>952
ワロタ

955 :名無しさん@Vim%Chalice:05/01/31 11:54:30
>>950
まじ、早速と思ったけど、bash経歴が長くzshのがわからなくなってしまった・・
bashだと complete -W "aa1 aa2" hoge
hoge <tab> で候補表示ですけど
zshでは・・、マニュアルページが少ないなぁ〜

956 :名無しさん@お腹いっぱい。:05/01/31 13:15:38
マニュアルページが少ないだって!?

957 :名無しさん@お腹いっぱい。:05/01/31 13:16:14
>>942=955
やりたい事がわからんのだが、こういう補完か?
% ls h*<tab>
% ls hage hoge
これは unsetopt glob_complete で可能になる。

ともかく、書いてることがよくわかんないからアドバイスのしようがないよ。


958 :名無しさん@お腹いっぱい。:05/01/31 16:27:17
zsh のマニュアル多すぎて、もはや読む気がしないんですが。

959 :名無しさん@お腹いっぱい。:05/01/31 18:49:58
というか、あのマニュアルを読んでも全然分からない。
他人が作った設定をコピペしてるだけ。

960 :名無しさん@お腹いっぱい。:05/01/31 19:01:45
>>959
あほ

961 :名無しさん@お腹いっぱい。:05/01/31 19:06:12
マニュアルが複数ファイルに分かれてるソフトは呪われるべきだ

962 :名無しさん@お腹いっぱい。:05/01/31 19:08:35
>>961
ふつー info 使わない?

963 :名無しさん@お腹いっぱい。:05/01/31 21:03:12
http://ja.wikipedia.org/wiki/Zsh
> このシェル全体の大きさは巨大であることは、 このマニュアルページの最初の有名な一文
> 「zsh は多くの機能を持っているので、マニュアルはいくつかのセクションに分かれています。」 と 13 個のセク
> ション名のリストからもよくわかるだろう。

964 :名無しさん@お腹いっぱい。:05/02/01 00:40:37
man zshall

965 :名無しさん@お腹いっぱい。:05/02/01 02:17:31
いつになったら日本語訳が完成するのだか
http://hiki.ex-machina.jp/zsh/?ManPage

しかし本当に、このwiki放置プレーだな。

966 :名無しさん@お腹いっぱい。:05/02/01 08:00:30
>>965
結構がんばってると思うけどな。

967 :名無しさん@お腹いっぱい。:05/02/01 14:58:37
>>965
国が自分に何をしてくれるのかを問うのではなく、
自分が国のために何ができるかを問おう。

968 :名無しさん@お腹いっぱい。:05/02/01 15:29:34
なんでここで国家を持ち出すのだ

969 :名無しさん@お腹いっぱい。:05/02/01 17:01:57
Kennedyを引用か

970 :名無しさん@お腹いっぱい。:05/02/01 17:13:08
968はJFKの就任演説知らないのか。

971 :名無しさん@お腹いっぱい。:05/02/01 17:35:10
で、なんでここでJFKを持ち出すのだ

972 :名無しさん@お腹いっぱい。:05/02/01 19:09:02
zsh=国家

973 :名無しさん@お腹いっぱい。:05/02/01 19:24:08
zsh=宗教


974 :名無しさん@お腹いっぱい。:05/02/01 20:09:23
口開けて待ってないで自分で更新しろやvokeってことだろ。
その程度分かれよ。


975 :名無しさん@お腹いっぱい。:05/02/01 20:16:29
(´-`).。oO(…………)

976 :名無しさん@お腹いっぱい。:05/02/01 20:24:50
惰性でzsh使ってますけどzshの恩恵がどこにあるのかさえ分からなくなってしまった・・

977 :名無しさん@お腹いっぱい。:05/02/01 23:10:54
>>976
素の sh != bash でも使ってみては?

978 :名無しさん@お腹いっぱい。:05/02/02 03:46:48
1時間以内に間違いなく気が狂うぞ

979 :名無しさん@お腹いっぱい。:05/02/02 09:03:38
kshを使う。zshと大して変わらんことがわかる。

980 :名無しさん@お腹いっぱい。:05/02/02 09:57:38
変わるよ…。

981 :名無しさん@お腹いっぱい。:05/02/02 10:10:11
変わるわよ♥

982 :名無しさん@お腹いっぱい。:05/02/02 10:19:09
変わるわよ??

983 :名無しさん@お腹いっぱい。:05/02/02 17:17:15
今更だけど zsh をどう発音するのかが分かりません。


984 :名無しさん@お腹いっぱい。:05/02/02 17:25:00
zsh を周りの人はぜっしゅっていてるけど
私はぜっとしぇるって言うようにしている

sh えすえいち
bash ばっしゅ
csh しーしぇる
tcsh てぃーしーしぇる
ksh けーしぇる
zsh ぜっとしぇる

985 :名無しさん@お腹いっぱい。:05/02/02 17:27:42
ずぃーしぇる

986 :名無しさん@お腹いっぱい。:05/02/02 17:31:31
俺もぜっしゅと脳内では読んでるけど、人前だと迷う。
ずぃーしぇるもいいけど通じなさそうだし。

987 :名無しさん@お腹いっぱい。:05/02/02 17:42:45
じしゅをすすめます

988 :名無しさん@お腹いっぱい。:05/02/02 17:44:05
そんな単語は会話に出ないから大丈夫

989 :名無しさん@お腹いっぱい。:05/02/02 17:49:49
チンチンshsh

990 :名無しさん@お腹いっぱい。:05/02/02 18:49:10
次スレたてられないので誰かよろ

991 :名無しさん@お腹いっぱい。:05/02/02 18:55:04
テンプレは?

992 :名無しさん@お腹いっぱい。:05/02/02 18:55:50
過去スレ
zsh入門
http://pc.2ch.net/test/read.cgi/unix/990283346/
zsh入門 パート2
http://pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh その3
http://pc5.2ch.net/test/read.cgi/unix/1080002786/


993 :名無しさん@お腹いっぱい。:05/02/02 18:56:58
英語
index http://www.zsh.org/
公式 http://zsh.sourceforge.net/
FAQ http://zsh.sourceforge.net/FAQ/
http://www.zshwiki.org/cgi-bin/wiki.pl
Zsh Workshop: Table of Contents
http://www.acm.uiuc.edu/workshops/zsh/toc.html
Writing Zsh Completion Functions
http://www.linux-mag.com/2002-07/power_01.html

日本語
zshのある暮らし
http://hiki.ex-machina.jp/zsh/
zsh に関するドキュメント(翻訳)
http://dengaku.org/naoki/zsh/
ドキュメントの日本語訳など(上のより古い)
http://tehanu.hpcl.titech.ac.jp/zsh/
FreeBSD なあなたのための zsh (The Z Shell) 設定
http://aquahill.net/zsh.htm
zshのおぼえがき
http://www.ayu.ics.keio.ac.jp/members/mukai/tips/zsh.html
zsh 用 euc-jp patch
http://www.ono.org/software/zsh-euc/
【至高のコマンドインタプリタzsh】
http://www.gentei.org/~yuuji/rec/pc/intro-zsh.html
zsh for the working researcher
http://cl.aist-nara.ac.jp/~daiti-m/text/zsh-intro.html
Z shell(zsh) へ乗り換えよう
http://www.sol.cs.ritsumei.ac.jp/~sawaki/comp/zsh/
zsh補完関数の書き方 (Writing Zsh Completion Functions の翻訳)
http://www.ayu.ics.keio.ac.jp/~mukai/translate/write_zsh_functions.html


994 :名無しさん@お腹いっぱい。:05/02/02 18:57:30
LinuxZaurusのアプリケーション/ツール関連/zsh
http://www.yo.rim.or.jp/%7emono93/mobile/enter.cgi?LinuxZaurus%a4%ce%a5%a2%a5%d7%a5%ea%a5%b1%a1%bc%a5%b7%a5%e7%a5%f3%2f%a5%c4%a1%bc%a5%eb%b4%d8%cf%a2%2fzsh
ドットファイルの例
http://www.is.akita-u.ac.jp/~sig/dots/dot-files.html
http://dotfiles.com/index.php3?app_id=4


995 :名無しさん@お腹いっぱい。:05/02/02 18:58:20
リンク切れは消しておいた

996 :名無しさん@お腹いっぱい。:05/02/02 19:07:20


997 :名無しさん@お腹いっぱい。:05/02/02 19:09:09
997

998 :名無しさん@お腹いっぱい。:05/02/02 19:09:26
998

999 :名無しさん@お腹いっぱい。:05/02/02 19:09:28
次スレ別になくてもいいと思うけど

1000 :从*・ 。.・) ◆SayuminPM. :05/02/02 19:09:35
从*・ 。.・)ノ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

233 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)