zsh入門 パート2at UNIX
zsh入門 パート2 - 暇つぶし2ch809:名無しさん@お腹いっぱい。
03/11/12 21:12
>>807
ワラタ。戻りすぎだろ

810:名無しさん@お腹いっぱい。
03/11/18 03:20
>>806
804じゃありませんが
setopt autoremoveslash を使っているという前提の技ですよね?

811:名無しさん@お腹いっぱい。
03/11/18 07:45
ZSHの本を執筆中らしい。

Yes, Jerry Peek, Oliver and I are collaborating on a book to be
published by Apress sometime, I imagine, in the first half of next
year. We may be asking for informal reviewers at some point, though the text probably needs drawing together a bit before then.

I think Apress are planning to announce its official forthcomingness in December.

アナウンスされるとしたらこのページか?
URLリンク(www.apress.com)


812:名無しさん@お腹いっぱい。
03/11/20 07:42
kterm+zshで日本語が化けます。
% echo 死ね とか入れると、
「ね」が消えて「死」しか出てきません。
tcshだときちんと表示できます。オラのdotfileが間違ってるんでしょうか?


813:名無しさん@お腹いっぱい。
03/11/20 07:46
>>812
俺はならねーぞ。なんかおまえのやつのほうが
命令に忠実で羨ましいぞ。

814:812
03/11/20 10:15
自己解決。

.zshrcのbindkey -m をコメントアウトしたら桶でした。

他人の腐った.zshrcを参考にしたのがいけなかったのか?

815:名無しさん@お腹いっぱい。
03/11/20 12:17
>>814
> .zshrcのbindkey -m をコメントアウトしたら桶でした。

(゚Д゚)ハァ?

816:名無しさん@お腹いっぱい。
03/11/20 17:54
screen のスレを読んでいて、以前 >>486 を書いたものの結局使わなかったなと思いつつ、
よく考えたら screen 内で動いている zsh を前提にすれば話が簡単だということに気付いた。
こんな感じでどうでしょう。

#
# $ZDOTDIR/.zsh/dabbrev
#
HARDCOPYFILE=$HOME/tmp/screen-hardcopy
touch $HARDCOPYFILE

dabbrev-complete () {
local reply lines=100

# screen -X eval "hardcopy -h $HARDCOPYFILE" # scrollback buffer の内容も含む場合
screen -X eval "hardcopy $HARDCOPYFILE"
reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines))
compadd - "${reply[@]%[*/=@|]}"
}

zle -C dabbrev-complete menu-complete dabbrev-complete
bindkey '^[/' dabbrev-complete
bindkey '^[^_' reverse-menu-complete

あとは .zshrc に例えばこんな風に書いておけばいいか。
if [[ -n $WINDOW ]]; then
source $ZDOTDIR/.zsh/dabbrev
fi

scrollback buffer の内容も利用する場合は、適当に行数を増やした方がいいでしょうね

817:812
03/11/20 23:42
>>815
オラはtcshからの移行なんで、googleでたまたま見つけた、
URLリンク(www.is.akita-u.ac.jp)から他人の.zshrcをパクった訳よ。
そしたら、bindkey -mとか書いてる行があって、
そいつを消さなかったオラが馬鹿だっただけです。




818:名無しさん@お腹いっぱい。
03/11/21 00:00
まだわかってないみたいです

819:名無しさん@お腹いっぱい。
03/11/21 00:10
設定ファイル群
URLリンク(aquahill.net)

私はこれらを自分用に修正して使ってる。
けっこう便利よ。

最近ネタもなくすたれぎみなのでage

820:812
03/11/21 00:49
>>818
>>819
ちょっとだけ理解したぞ。
オラは0.1㎜ぐらいでも前に進もうと思う。

-真面目な感想-
シェルを馬鹿にしてた。悔しいけど。



821:名無しさん@お腹いっぱい。
03/11/21 16:19
>>816
taiyaki.org の小松さんが、似たようなものを書いてた気がする。


822:名無しさん@お腹いっぱい。
03/11/21 17:32
>>821
>>486>>474 を受けて書いたもので、小松さんのが元になってます。
ただ script を使うので、ログが膨れ上がりやすいとか使い勝手がいまいち
なので常用することはなかったのです。

>>816 のままでは、余計な句読点や括弧類がつくことが多いので、手元のでは
もう少しいじってます。多分、使うことがあっても一日に一回あるかないかだと
思いますが、使いたいときに使えるのはいいものです。

823:821
03/11/22 03:15
>>822
あー、ちゃんと追ってなかったです。ごめん。


824:名無しさん@お腹いっぱい。
03/11/23 14:41
*(@)でシンボリックリンクを生成できるけど、リンク先が存在しな
いシンボリックリンクだけを生成することはできますか?

825:名無しさん@お腹いっぱい。
03/11/23 14:42
出きます。

826:824
03/11/23 16:27
>>825
ぜひやり方を教えてください。

827:名無しさん@お腹いっぱい。
03/11/23 16:30
>>826
500 円

828:Matanuki
03/11/23 16:33
うそにきまってるだろ

829:名無しさん@お腹いっぱい。
03/11/23 16:37
リンクはったあとにリンク先消すんでない?

830:名無しさん@お腹いっぱい。
03/11/23 17:05
824の使っている日本語が、言いたいだろうことと全然違うので、
どんな答があっても不思議じゃないと思うが。
前提が偽ならどんな命題も真となるのは論理学の教えるところ。

「*(@)でシンボリックリンクを生成できる」って、字義通りに解釈したら
成り立ってないだろ。824はもうちょっと日本語作文を練習すれ。
慣れない言語で意図通りの文を作るのはそれなりに大変かも知れないが。


831:名無しさん@お腹いっぱい。
03/11/24 04:22
*(@^-./)
で出来るかと思ったらシンボリック先がsocketsとかの時にダメだったので
*(@^-./=p%)

短くできないかと思ってl[-|+]ctで*(-l0)も試したけど残念ながら無理でした。

832:824
03/11/24 12:44
>>831
素晴しい。ありがとうございました。

833:名無しさん@お腹いっぱい。
03/12/03 15:08
neta naipo? age

834:名無しさん@お腹いっぱい。
03/12/03 16:46
新世代のスーパーハカーの皆さんはやはり zsh 何でしょうか?

835:名無しさん@お腹いっぱい。
03/12/03 17:47
スーパーハカーはshell程度でピーピー騒ぎません
「やっぱりハカーはzshじゃなきゃね♪」とか言っちゃう香具師は
モドキですモドキ

836:名無しさん@お腹いっぱい。
03/12/03 23:05
最近のzshはsegvしなくなりましたか?

837:名無しさん@お腹いっぱい。
03/12/03 23:32
3.1.6使ってますが、segvしませんよ

838:名無しさん@お腹いっぱい。
03/12/03 23:40
4.1.1使ってますが、segvしませんよ

839:名無しさん@お腹いっぱい。
03/12/04 06:35
>>837
それは骨董品といいます。

840:名無しさん@お腹いっぱい。
03/12/04 20:58
>>839
ラージファイル対応だし
最近のより軽いので
4系はやめてこっちに以降しますた。

841:名無しさん@お腹いっぱい。
03/12/10 13:58
screen や sudo といったコマンドの引数はalias展開(?)させる
といったことはできますか。

たとえば、
alias mutt='env LANG=ja mutt'

% screen mutt
とかやりたい。

もしくはなんかプレフィックスおくとalias展開してくれたりはしない?
% screen #mutt
みたいな感じで。

842:ネタ?
03/12/10 14:20
>>841
できます。

843:名無しさん@お腹いっぱい。
03/12/10 14:21
sample の .zshrc くらいよんでくれ。

844:841
03/12/10 20:38
>>842-843
global aliasってやつですか?
でもこれだとどこでも展開されちゃうじゃないですか。
それってちょっとこわくないですか?
sudo と screen の後だけやりたいです。

845:名無しさん@お腹いっぱい。
03/12/11 00:52
ウザィ

846:名無しさん@お腹いっぱい。
03/12/11 21:19
以下のサイトでzsh入門ぽいものがまとめられています。
URLリンク(www.yo.rim.or.jp)
このスレのzsh猛者な皆さん、よければ加筆していただけるとありがたいです...


847:名無しさん@お腹いっぱい。
03/12/11 21:56
こっちで十分おなかいっぱいでつ。
URLリンク(hiki.ex-machina.jp)


848:名無しさん@お腹いっぱい。
03/12/12 00:44
>>844
global alias を使わなくてもできる

849:名無しさん@お腹いっぱい。
03/12/16 22:34

setopt auto_pushd pushd_ignore_dups

export DIRSTACKSIZE=15

ch(){ builtin cd $* }

chpwd(){ compctl -g "`dirs`" + -/ ch }

% ch [TAB]

ウマー(゚д゚)

aliasのgdに比べると履歴順じゃないのと
~/ が /home/???? になるのが致命的かなぁ。
補完がぐりぐり動くヤシ(例のこれ↓)

setopt auto_menu
autoload -U compinit; compinit
zstyle ':completion:*:default' menu select=1

と併せて使ってると中々イイ感じ。

850:名無しさん@お腹いっぱい。
03/12/17 06:32
どうせ compinit を使うのなら
cd -[TAB]
の使い勝手の方がいいような。履歴の使い廻しがあまり利かないのが難点だけど。

851:名無しさん@お腹いっぱい。
03/12/17 11:16
>>849
> aliasのgdに比べると履歴順じゃないのと

なに?


852:名無しさん@お腹いっぱい。
03/12/18 18:44
>850
ch -[TAB] _| ̄|○ …シランカッタ
サンクスコ

>851
zsh gd でググれ。
compinit あれば要らんけど。

compctlてとっくにobsoleteなのね…見てたWebが古過ぎますた。
履歴の先へ潜ったり少しだけ名前の違うディレクトリにいきたいときくらいか。

入門スレ1から出なおしてきまつ。(;´Д`)


853:名無しさん@お腹いっぱい。
03/12/18 19:25
>>852
> zsh gd でググれ。

ハァ?個人的な設定だから聞いとるんだろうが、このバカチンが。
少くとも、manual にはのっとらんだろうが、このばかちょんが。

854:名無しさん@お腹いっぱい。
03/12/20 05:33
zsh 使うやつは屑が多いな。
レスのやり取りでわかる。


855:名無しさん@お腹いっぱい。
03/12/20 14:14
すんません。
特定のキー動作にシェルスクリプトを割り当てたりとかできますか?
"C-c C-c"とかに割り当てるとかなんですが...

856:名無しさん@お腹いっぱい。
03/12/20 15:01
よくわからんがシェルスクリプトに限るのか? 例えば Esc-C-o で ls を実行したければ
bindkey -s '^[^o' 'ls\n'
などとすればいいけど

857:855
03/12/20 20:22
>>856
いや、教えてくださった方法で問題ないです。
ありがとうございました。助かりました。

858:名無しさん@お腹いっぱい。
03/12/23 15:18
cdで補完対象をdirectoryだけにしようと思って、
compctl -g *(/) cd
したところ、.で始まるdirectoryが補完できなくなっちゃいました。
.から始まるものも含めてすべてのdirectoryをcdの補完対象にするには
どうすればいいでしょう?

859:名無しさん@お腹いっぱい。
03/12/26 02:11
>>858

compctl じゃなくて compsys 使ったらどうでしょ。
autoload -U compinit compinit だけで良いはず。

自分とこははこれで .から始まるディレクトリも
補完候補に出ます。
もちろん、ディレクトリ以外は候補に出ません。

860:名無しさん@お腹いっぱい。
03/12/26 02:19
メモリどか食いするので嫌

861:名無しさん@お腹いっぱい。
03/12/26 09:54
compctl -g '*(/) .*(/)' cd

862:名無しさん@お腹いっぱい。
03/12/26 11:48
今まで馬鹿馬鹿しくて誰も答えなかったのか(w

863:名無しさん@お腹いっぱい。
03/12/26 19:32
zsh は簡単なスペルチェックとかもしてくれるんですね。

864:名無しさん@お腹いっぱい。
03/12/27 15:30
860は資源の有効活用という言葉を知らないんだろうきっと。
貧乏性なのかな

865:名無しさん@お腹いっぱい。
03/12/27 16:20
>>864
zshの魅力は補完だけじゃないのよ
globのためだけに使ってる。
補完はtcsh程度にできればいいや → compsys巨大すぎ 必要ないのも混ってる
し無駄 → じゃあcompctlで → 設定まんどくせ

tcshは設定楽でバリバリ補完できるのに、zshはまんどくさい 楽しようとする
とバカみたいにメモリ食う 起動遅い screenを愛用してシェルを湯水のように
使う身としては、それはイタイ。
tcshはglobが貧弱。 そもそもc shellが気にいらない。

kshの補完みたく、ファイルの拡張子みないでテキトーに補完にしてくれるだ
けでも十分。
むしろ勝手に判断して、必要なものが補完されなかったり
不要な物が補完されたりするのがウザい。
そのくせメモリ食い。バカじゃないかと思う。
誰がそんなもん使うか。

866:名無しさん@お腹いっぱい。
03/12/27 16:23
>>864
資源の無駄使いが好きな香具師はWindowsでも使えばよろし

867:名無しさん@お腹いっぱい。
03/12/27 17:06
compctlの定義と自作関数の定義でzshrcが埋めつくされて
メモリもバカ食い 起動も激遅になったら
compsysのありがたみがわかる。

ただ、そうでもなければ
compsysみたいな重いものつかわなくても幸せになれる。

868:名無しさん@お腹いっぱい。
03/12/31 18:59
zsh は ウ ン コ !

869:名無しさん@お腹いっぱい。
04/01/04 00:25
モード行っていうの?コマンドを入力するところ。そこに
日本語を何文字か入力してからバックスペースで削除する
と1文字ずつちゃんと消せなかったり、プロンプトまで消
されちゃったりして困るんだけどこれって解決法あります
か?

870:名無しさん@お腹いっぱい。
04/01/04 01:46
パッチを書く

871:名無しさん@お腹いっぱい。
04/01/04 01:48
>>869
URLリンク(www.ono.org)

872:名無しさん@お腹いっぱい。
04/01/04 19:49
>>871
おお。さんきゅー。パッチあててみます。

873:名無しさん@お腹いっぱい。
04/01/05 15:34
>>872
うまくいきました。
wiki に書いておいたほうがいいかな?

874: ◆zshibaTAok
04/01/17 21:12
1000get

875:名無しさん@お腹いっぱい。
04/01/22 16:06
>>811
> I think Apress are planning to announce its official forthcomingness in December.
いまは1月ですが?

876:名無しさん@お腹いっぱい。
04/01/25 22:59
偉い人教えて。

対話式のシェルで動作させているとき、標準エラー出力だけを常に色つき(例えば赤)で
表示させることって、zsh のようなシェルで出来るの?

ぜひうちの zsh でやってみたいんだが。

877:名無しさん@お腹いっぱい。
04/01/26 08:12
>>876
フィルタ書いて常に使うとか。

878:名無しさん@お腹いっぱい。
04/01/26 10:58
>>876
エラーが発生したら色眼鏡をかけるとか。

879:名無しさん@お腹いっぱい。
04/01/26 11:42
モニタに赤セロハン貼っとけ。

880:名無しさん@お腹いっぱい。
04/01/27 02:00
>>877
その、「フィルタ書いて常に使う」っていうのが、
どのように設定すればいいのかイメージできないんですが。

>>879
それじゃ全部エラー出力に見えます。

881:名無しさん@お腹いっぱい。
04/01/27 12:45
簡単にやるとしたらこんな感じかな。ただ、端末周りを扱うプログラムで支障が
あるかもね。

% cat ./tored
tored () {
local line
while read line; do
print "\e[31;1m$line\e[0m"
done
}
% source ./tored
% perl -e 'printf STDERR "this is stderr.\n"'
this is stderr.
% perl -e 'printf STDERR "this is stderr.\n"' | tored
this is stderr.
% perl -e 'printf STDERR "this is stderr.\n"' 2>&1 | tored
this is stderr.
% exec 2> >(tored)
% perl -e 'printf STDERR "this is stderr.\n"'
this is stderr.

# 色は省略しています

882:名無しさん@お腹いっぱい。
04/01/28 22:34
876の宿題が…

883:名無しさん@お腹いっぱい。
04/01/31 02:53
876は納得したのか

884:名無しさん@お腹いっぱい。
04/01/31 14:06
>>883
いや、出来てないです。
すみません、遅くなって。

まだ自分自身の試行錯誤が足りないようです。

885:名無しさん@お腹いっぱい。
04/01/31 15:16
881に書いてあるやん

886:名無しさん@お腹いっぱい。
04/01/31 15:50
>>885
その >>881 を自分でやってみるという「試行錯誤が足りない」ということ。

887:名無しさん@お腹いっぱい。
04/01/31 23:35
stdoutの最後に改行がついてないとき、最後の行が消えます。


% echo -n 'foo'
%

みたいな。

どうすればいいでしょうか?




888:名無しさん@お腹いっぱい。
04/01/31 23:40
URLリンク(dengaku.org)

889:名無しさん@お腹いっぱい。
04/01/31 23:47
zshの拡張ファイル名生成機能を使って
ある文字列を含まない名前を選びだすことって出来ますかね?

カレントディレクトリ以下にある物を列挙する場合
echo *
hoge huga foo bar

その中からhoge hugaだけを除きたい場合(zsh 3.1.xで使えてた方法)
echo *^(hoge|huga)

なぜか4.x.xではこの方法が使えなくなってしまって
こうしても、hoge hugaは除外されずに表示されてしまいます。


890:名無しさん@お腹いっぱい。
04/02/01 00:03
~

891:名無しさん@お腹いっぱい。
04/02/01 01:06
>>890では駄目なのだよ
かといってブラケットで囲むのもだめ
正規表現もだめ

なぜか文字列の扱いがダメになってるのでどうしても必要なら
perl使え


892:名無しさん@お腹いっぱい。
04/02/01 01:09
*~*hoge*~*fuga*

893:名無しさん@お腹いっぱい。
04/02/01 01:14
>>891
info zsh

894:名無しさん@お腹いっぱい。
04/02/01 01:18
>>892
サンクスコ

逐一入力するのがマンドクサそうなので
スクリプト化して使うことにしまつ

895:名無しさん@お腹いっぱい。
04/02/01 02:09
echo ^*(hoge|huga) じゃないのか

896:名無しさん@お腹いっぱい。
04/02/01 02:11
あるいは
echo *~(hoge|huga)

897:名無しさん@お腹いっぱい。
04/02/01 02:14
>>895
> echo ^*(hoge|huga) じゃないのか

また、新しい、shell を実装してしまった人が出てきたようですね。

898:名無しさん@お腹いっぱい。
04/02/01 02:48
option の設定によって挙動が違うんじゃないのか

899:名無しさん@お腹いっぱい。
04/02/01 02:50
拡張ファイル名生成機能
extended glob

と明記されてるから大丈夫
ksh互換モードにしてたらシラネ。
パターンに影響及ぼしそうなオプションは他にないからね。

900:名無しさん@お腹いっぱい。
04/02/01 02:52
> echo ^*(hoge|huga)
これは冗長だった。
echo ^(hoge|huga) でよかった

901:名無しさん@お腹いっぱい。
04/02/01 03:32
>>900は文字がよめない
もしくは3文字タイプしたら1つ前のレスの内容を忘れる

902:名無しさん@お腹いっぱい。
04/02/01 04:08
なんだ、この噛み合ってないやりとりは(w

903:名無しさん@お腹いっぱい。
04/02/01 11:10
$ setopt extended_glob
$ echo ^h*
bar foo
$ unsetopt extended_glob
$ echo ^h*
zsh: no matches found: ^h*

904:名無しさん@お腹いっぱい。
04/02/05 01:48
<0-5> みたいなグロブって、桁数は関係ないのね。
ちょっとはまった。

905:名無しさん@お腹いっぱい。
04/02/05 02:23
そういうこともあって、もっぱら{m..n}のファイル生成を使っている

906:名無しさん@お腹いっぱい。
04/02/05 02:51
ごめん、桁数は関係ないってどういう意味?
% touch 1 2 3 4 12 23 45 67 123 345 ~/s
% ls <0-5> ~/s
1 2 3 4
% ls <0-15> ~/s
1 12 2 3 4
% ls <0-100> ~/s
1 12 2 23 3 4 45 67
これで期待通りなんだけど。


907:名無しさん@お腹いっぱい。
04/02/05 02:52
あ、後ろの ~/s は RPROMPT なので無視してください。


908:名無しさん@お腹いっぱい。
04/02/05 03:02
% touch 001 2 003 4 05
% ls <001-005> # 001 と 003 だけ出てほしい
001 003 05 2 4

こんな感じ

909:名無しさん@お腹いっぱい。
04/02/05 03:24
>>908
ありが
その例では
% ls 00<0-5>
でいいけどね。

3桁の数字にマッチさせるのはこうかなー
% ls <0-9><0-9><0-9>
こうでもできた
% ls <-><-><->


910:名無しさん@お腹いっぱい。
04/02/05 04:41
> ls 00<0-5>
> ls <0-9><0-9><0-9>
> <-><-><->
どれも同じ話だが、既出のように 0004 なんかも含まれてしまうし、
一番下は何桁でもマッチしてしまう。

数字3桁の globbing は [0-9][0-9][0-9] とでもするしかないのでは。

911:名無しさん@お腹いっぱい。
04/02/05 04:42
> 一番下は
真中もだった

912:909
04/02/05 05:30
全然理解してないことがばればれですた。

<0-9>は0から9までにマッチするが
前に0が1個以上ついていた場合それも含める
例えば 1 01 001 0001

<0-9><0-9><0-9>はそれが3個なので
3000040001とかにもマッチしてしまう

<-><-><->は3桁以上のすべての数字にマッチ

であってるよね?


913:名無しさん@お腹いっぱい。
04/02/05 22:09
globに、migemo使えたら便利な事もあるかも。

% echo path/to/%M|nihongo|.mp3
みたいな感じで。
# 表記法に関するツッコミは無しでたのむ。

914:名無しさん@お腹いっぱい。
04/02/05 22:30
それで何とechoされることを期待してるの?

915:名無しさん@お腹いっぱい。
04/02/05 22:32
path/to/日本語.mp3
じゃない?

916:914
04/02/05 22:41
あ、globだから、そこにあるファイル名しだいか。
場合によっては
path/to/にほんご.mp3 path/to/ニホンゴ.mp3 path/to/日本語.mp3
ね。重そう。


917:名無しさん@お腹いっぱい。
04/02/05 23:23
>>916
そういう関数書いて
内部でperl使って上手い事ごまかせばいけるかも

migemoを使って素直にできるかどうかはわからんわ

918:名無しさん@お腹いっぱい。
04/02/06 09:46
> globに、migemo使えたら便利な事もあるかも。
jetさんのTODOにそれっぽいのはあるね。
URLリンク(www.gyve.org)

919:名無しさん@お腹いっぱい。
04/02/08 22:48
誰かGentoo Linuxのportage用の補完コマンド書いてくれませんか?
自分でやろうとしてもわからないんで。
希望としては
emerge net-www/mozilla
さらには
emerge net-www/mozilla/mozilla-1.4.1.ebuild
のように カテゴリ/名前(/バージョン) みたいに出来ると良いです。

920:名無しさん@お腹いっぱい。
04/02/08 23:32
>>918
Gentooスレに行け

/usr/share/zsh/site-functions/_portage
ついでにこれも読め

921:名無しさん@お腹いっぱい。
04/02/11 20:11
>>919
スレ違いだけど
URLリンク(bugs.gentoo.org)


922:名無しさん@お腹いっぱい。
04/02/11 20:20
>>921
ガイスツ

923:名無しさん@お腹いっぱい。
04/02/11 20:40
URLリンク(zope.jp)
> 近々レポート、写真などを公開する予定です
まだー?

924:名無しさん@お腹いっぱい。
04/02/11 20:41
誤爆すまん

925:名無しさん@お腹いっぱい。
04/02/11 21:14
>>924


        ○
        ノ|)  
   _| ̄|○ <し







        ○ <ダメ人間
        ノ|)  
   _| ̄|○ <し

926:名無しさん@お腹いっぱい。
04/02/14 21:34
UNIX USER
あんまり買う気はしない雑誌だけど、zshの連載があったから気になる。

なんで UNIX USER のDVDは「特集」しか収録してないんじゃ?
っと、こんなところで言うことでもないか。


927:名無しさん@お腹いっぱい。
04/02/26 00:26
ls -1 |egrep `echo $1 |migemo -t egrep /usr/share/migemo/migemo-dict`

こういうことすると $1 のローマ字に対応する file のリストを migemo で抽出できるんですが、
これをうまく使えば zsh で migemo 補完が可能になると思います。
が、zsh の補完のメカニズムがさっぱりわかりません。

_w3m などいくつか参考にしてみましたが、どうも全体像が理解できませんでした。
僕もこれからいろいろ調べるつもりですが、
どなたか詳しい方、ささっと枠組でも作って下さったりしないでしょうか。


928:名無しさん@お腹いっぱい。
04/02/26 00:57
死ね

929:927
04/02/26 02:11
いやあ、面白いアイデアだと思ったんで、
自分で実装できなくても誰かやる人いないかなと思ったんで。
くれくれ君に見えたんならすみません。

930:名無しさん@お腹いっぱい。
04/02/26 12:47
てゆーか何に使いたいの?
% ls -1 |egrep `echo $1 |migemo -t egrep /usr/share/migemo/migemo-dict`
使用法: grep [オプション]‥‥ 文字列パターン [ファイル]‥‥
詳しくは`grep --help'を実行してください。
%
となるが

931:名無しさん@お腹いっぱい。
04/02/26 13:15
いや、ファイル名の補完に使いたいのだろう、それは

932:927
04/02/26 15:35
>>930
$1 の所に何か文字を入れなきゃ駄目です。
例えば

% ls -1
あいうえお.sh
愛人.txt
aiko.dic
aho.max
baka.mix

というディレクトリでは、ai という文字で補完すると

% ls -1 |egrep `echo ai |migemo -t egrep /usr/share/migemo/migemo-dict`
あいうえお.sh
愛人.txt
aiko.dic

こういう結果が出ます。この出力を補完のリストに使えないかということです。

% cat ai(ここで C-i すると)

% cat ai
あいうえお.sh 愛人.txt aiko.dic

こんな風に補完の候補が出るような。

僕個人は日本語ファイル名はほとんど付けないんですが、
単にできたら面白いなと思っただけです。

933:名無しさん@お腹いっぱい。
04/02/26 19:25
あぁ、migemoつきemacsのdiredモードみたいに使いたいわけね


934:名無しさん@お腹いっぱい。
04/02/27 17:40
927製の
zmodload migemo
待ちsage


935:927
04/02/28 01:00
できなくはなさそうですが、
C-i するたびに補完のリストを動的に作り直す必要があるので、
単純に compadd では駄目みたいです。
compadd 以外のやり方を知らないので、つまってます。

あと補完の候補が複数ある時、

% cat ai
あいうえお.sh 愛人.txt aiko.dic

こういう出力を期待してましたが、

% cat ai
\M-5\M-k\M-N\M-A\M-7\M-W\M-;.sh \M-5\M-k\M-N\M-A\M-7\M-W\M-;.txt aiko.dic

こんな風に出てしまう。これは zsh を直さないと無理っぽいです。

>>933
emacs の shell とか eshell とかでならもっと作りやすいかも知れません。
でも自分は shell-mode 使わないからなあ。

936:名無しさん@お腹いっぱい。
04/02/28 02:03
後者は setopt printeightbit という話じゃないの

937:927
04/02/28 02:41
おー、すばらしい。

938:927
04/02/28 02:42
おー、すばらしい。ありがとう。

939:名無しさん@お腹いっぱい。
04/02/28 19:57
うわさの zsh 本はどうなったの?

940:名無しさん@お腹いっぱい。
04/03/02 03:35
~/hoge/foo.log
~/hoge/foo.error
~/hoge/foo.today
~/hoge/foo.yesterday

というファイルを元に動く bar というコマンドがあって、
$ bar log
$ bar error
$ bar today
$ bar yesterday

という風に foo を無くした引数を指定します。この引数を補完させたいのですが
何か良い手はありませんでしょうか?

zshの補完機能は便利だけどややこしいですね。

941:名無しさん@お腹いっぱい。
04/03/02 05:24
至極単純にやるとすれば、こんな感じ。

_bar () {
compadd ~/hoge/foo.*(:t:e)
}
compdef _bar bar

942:940
04/03/04 04:47
なるほど。ありがとう。

精進します。

943:名無しさん@お腹いっぱい。
04/03/07 03:05
compaddってググっても殆ど情報ないんだが
マイナーなのか?

944:名無しさん@お腹いっぱい。
04/03/07 03:15
というかzsh自体、評判の割に日本語の情報が全然ないと思う。
自分が書ければ書くんだけど、compaddとか分からんからなぁ

945:名無しさん@お腹いっぱい。
04/03/07 17:48
UnixUser の連載の記事は、compsys を見通すには、なかなかまとまっていて
丁度良かった。

946:名無しさん@お腹いっぱい。
04/03/09 09:45
a

947:名無しさん@お腹いっぱい。
04/03/19 22:46
スレリンク(unix板:548番)
> これ以上はzshスレで。

えーと、やりたいこと書きますね。=() は知っていますけど、この場合は使え
ませんよね。

#! /usr/local/bin/zsh -f

cd /service/smtpd/log/main
TODAY=`date -d yesterday +%Y-%m-%d`
WORK=(make-temp-file "/tmp/work")
grep -h SBL *.s current | tai64nlocal | grep $TODAY > $WORK
echo >> $WORK
grep -h SBL *.s current | tai64nlocal | grep $TODAY | gawk '{ print $4 }' | sort -nu | dnsfilter >> $WORK
for i in `grep -h SBL *.s current | tai64nlocal | grep $TODAY | gawk '{ print $4 }' | sort -nu`; do
echo >> $WORK
echo % whois $i >> $WORK
whois $i >> $WORK
done

mailsubj "[rblsmtpd] $TODAY" giko@example.com < $WORK
rm -f $WORK

948:名無しさん@お腹いっぱい。
04/03/19 22:50
ついでに、4.2.0 age

949:名無しさん@お腹いっぱい。
04/03/20 00:06
要は一時ファイルくらいを作ってほしいということなのか。
zsh は関係ないな

950:名無しさん@お腹いっぱい。
04/03/20 01:00
emacs の with-temp-buffer とか便利だよね。
まあ shell では自分でウニクなtmpfile 作る function 作ればいいんじゃないの。

951:名無しさん@お腹いっぱい。
04/03/20 07:27
>>947
> えーと、やりたいこと書きますね。=() は知っていますけど、この場合は使え
> ませんよね。

? 素直に使えるよ?

> WORK=(make-temp-file "/tmp/work")
ちゃんと理解しているならこうはしないと思うけど。

#!/usr/local/bin/zsh -f
WORK==(true)
echo WORK=$WORK
echo hoge >> $WORK
echo moge >> $WORK
echo ---
cat $WORK
echo ---
# rm -f $WORK


952:951
04/03/20 07:35
あと、ふつうはこういうのはパイプでつなげるね。
(
grep ほにゃらら
grep はにゃらら
てんてんてん
) | mailsubj なんとやら

てな具合に。


953:名無しさん@お腹いっぱい。
04/03/21 01:02
あーん、今さっき、間違えて $HOME 以下をすべて消してしまったよう。
せっかく確認のプロンプトが出たのに、反射的に y 押しちゃった。

深刻な被害は無かったけど、こんな僕のためにも確か、
rm * コマンドを cp * /tmp/trash に変えてくれるようなscript か alias があったはず。

誰かスマートなサンプルを頼む。
出来れば、/tmp/trash/20040321_010023/* とかに cp されるほうが良い。


954:名無しさん@お腹いっぱい。
04/03/21 01:10
>>953
rmstar?

955:名無しさん@お腹いっぱい。
04/03/21 01:11
>>953
こんなかんじか?
function rm {
mkdir -p /tmp/trash`date +%m%d`
mv "$*" /tmp/trash`date +%m%d`
}

956:名無しさん@お腹いっぱい。
04/03/21 01:42
>>954
いえ、rmstar すら効かなかった馬鹿者なんです、私。

>>955
なるふぉど、いただきますです。

957:名無しさん@お腹いっぱい。
04/03/21 01:46
>>956
date の引数適当なので、好みに修正してね

958:名無しさん@お腹いっぱい。
04/03/21 01:47
cp しても意味ないのでは?

959:名無しさん@お腹いっぱい。
04/03/21 02:42
>>958
どうした 誤爆か?

960:名無しさん@お腹いっぱい。
04/03/21 02:46
>>959
あ? 知的障害者か? rm のかわりに、cp じゃ意味ないだろって意味なんだが??

961:名無しさん@お腹いっぱい。
04/03/21 02:51
誰もcpしてないじゃん

>>955が適切にmvで書いて
それを戴いたと>>956が言ってんだからそれで終りでいいじゃない。

今更ツッコミ入れる>>960は陰険

962:名無しさん@お腹いっぱい。
04/03/21 02:55
>>954 = >>955 = >>957 = >>958 = >>960 ですが何か?



963:名無しさん@お腹いっぱい。
04/03/21 02:56
>>961
> 誰もcpしてないじゃん
>>953
> rm * コマンドを cp * /tmp/trash に変えてくれるようなscript か alias があったはず。
> 出来れば、/tmp/trash/20040321_010023/* とかに cp されるほうが良い。


964:名無しさん@お腹いっぱい。
04/03/21 02:59
それを真に受けた馬鹿が居なかったんだからそれでいいじゃん
って言ってもわからんか。

いつまでも粘着したいのね。
たち悪いなぁ。

965:名無しさん@お腹いっぱい。
04/03/21 03:04
結果的に誰もcpしなかったんだから
わざわざツッコム必要なかったんでないのってことじゃねーノ


966:名無しさん@お腹いっぱい。
04/03/21 03:07
>>961==>>964==>>965必死だなw


967:名無しさん@お腹いっぱい。
04/03/21 03:08
最初に cp って書いた私が悪いんです。
すんませんでした。


では、次の話題へ。

968:名無しさん@お腹いっぱい。
04/03/21 03:09
>>966
見苦すぃ

969:名無しさん@お腹いっぱい。
04/03/21 03:12
陰険な粘着は以後放置の方向でよろしく


970:名無しさん@お腹いっぱい。
04/03/21 03:19
最近 bash から zsh に乗り換えたのですが
zsh の恩恵が実感できる処理方法を御教え頂けたらと

971:名無しさん@お腹いっぱい。
04/03/21 03:21
>>969
やはり2chなどクズの巣窟だなw
俺の質問に答えられない歯がゆさから三流の煽りをしなくてもいいぞ
お前は世の中に必要とされていない人間だからな。


972:名無しさん@お腹いっぱい。
04/03/21 03:21
>>970
info zsh

973:名無しさん@お腹いっぱい。
04/03/21 04:13
そういや、もう春休みだね
だから>>971みたいのが夜中まで頑張ってんだなぁ

974:名無しさん@お腹いっぱい。
04/03/21 04:16
>>971-973
俺はこの3人は同レベルだと思った。


975:974
04/03/21 04:21
× 同レベル
○ 役立たず

すまそ。



976:名無しさん@お腹いっぱい。
04/03/21 04:26
(= >>974 >>970)
=> t か?




977:名無しさん@お腹いっぱい。
04/03/21 04:37
>>976
それが洒落てるとでも思ってんのか?

978:名無しさん@お腹いっぱい。
04/03/21 04:47
>>977
だったら何? bash しか使えない低能がw

979:名無しさん@お腹いっぱい。
04/03/21 05:04
以降は↓で ;-)
スレリンク(unix板)

980:見苦すぃ
04/03/21 05:08
>>968-
俺はこいつらは同レベルだと思った。

981:名無しさん@お腹いっぱい。
04/03/21 05:11
>>980
自分も含むのね ;-)

982:名無しさん@お腹いっぱい。
04/03/21 05:44
981 氏の職業ってなに?

983:名無しさん@お腹いっぱい。
04/03/21 05:51
>>982
講師

984:名無しさん@お腹いっぱい。
04/03/21 10:08
>>982
大学教授

985:名無しさん@お腹いっぱい。
04/03/21 14:49
ケアマネ

986:名無しさん@お腹いっぱい。
04/03/22 02:20


           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


987:名無しさん@お腹いっぱい。
04/03/22 02:21
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


988:名無しさん@お腹いっぱい。
04/03/22 02:22
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


989:名無しさん@お腹いっぱい。
04/03/22 02:23
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


990:名無しさん@お腹いっぱい。
04/03/22 02:24
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


991:名無しさん@お腹いっぱい。
04/03/22 02:25
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


992:名無しさん@お腹いっぱい。
04/03/22 02:26
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


993:名無しさん@お腹いっぱい。
04/03/22 02:29
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


994:名無しさん@お腹いっぱい。
04/03/22 02:31
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
  
          ヽ    ''  .:/
           > ‐- 、、ノ
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ

 difficult!!
   


995:名無しさん@お腹いっぱい。
04/03/22 02:32
abc
   

996:名無しさん@お腹いっぱい。
04/03/22 02:34
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 ヽ| 丨        J:::::::::|    .
  \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


997:名無しさん@お腹いっぱい。
04/03/22 02:35
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 
 ヽ| 丨        J:::::::::|    .
  \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


998:名無しさん@お腹いっぱい。
04/03/22 02:36
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 ヽ| 丨        J:::::::::|    .
  |
 \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


999:名無しさん@お腹いっぱい。
04/03/22 02:37
test

1000:名無しさん@お腹いっぱい。
04/03/22 02:37
\\___finish///

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1002:名無しさん@お腹いっぱい。
04/03/22 21:57
やほ♪

1003:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch