[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 12:41 / Filesize : 219 KB / Number-of Response : 1004
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

zsh入門 パート2



1 名前:名無しさん@お腹いっぱい。 [02/11/03 20:49]
パート2ですよ,にーさん


801 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/11 12:04]
zshを理解するのも一苦労だな…

802 名前:名無しさん@お腹いっぱい。 [03/11/11 20:47]
だれか、man zsh* を日本語に訳してくれ
あれだけの英文を読みとおすのは、つらい
ユーザー会とかないの?

803 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/11 22:24]
>>802
どうぞ
hiki.ex-machina.jp/zsh

804 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/12 08:48]
hoge1の中のファイルを入力したいとき
%cat hog<TAB>
Completing files
hoge0/ hoge1/ hoge2/
↑ここで2回補完すると↓こうなります。
%cat hoge1/
Completing files
hoge0/ hoge1/ hoge2/
ここでもう1回補完するとhoge2になってしまします。この状態で
hoge1の中のファイルを補完するにはどうすればいいですか? 今ま
では一文字入力してバックスペースで消してから、補完していたの
ですが、いい方法ありませんか?

805 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/12 09:50]
>>804
別のキーに complete 系のコマンドを割り当てておいて、hoge1/ になった
ところでそっちのキーで補完するとか。

自分は、setopt NO_AUTOMENU とした上で C-o に menu-expand-or-complete を
割り当て、メニューコンプリートは明示的にするようにしているけどね。
zsh のデフォルトの動作は性に合わなかった。

806 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/12 12:37]
>>804
/を押す。
いや、BSが要らなくなるだけだが。

807 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/12 14:14]
おまえら、素人、通は C-/


808 名前:804 mailto:sage [03/11/12 14:20]
>>805>>806
ありがとう

809 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/12 21:12]
>>807
ワラタ。戻りすぎだろ



810 名前:名無しさん@お腹いっぱい。 mailto:sage [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.

アナウンスされるとしたらこのページか?
www.apress.com/book/forthcoming.html


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


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

814 名前:812 mailto:sage [03/11/20 10:15]
自己解決。

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

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

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

(゚Д゚)ハァ?

816 名前:名無しさん@お腹いっぱい。 mailto:sage [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 mailto:sage [03/11/20 23:42]
>>815
オラはtcshからの移行なんで、googleでたまたま見つけた、
ttp://www.is.akita-u.ac.jp/~sig/dots/dot-files.htmlから他人の.zshrcをパクった訳よ。
そしたら、bindkey -mとか書いてる行があって、
そいつを消さなかったオラが馬鹿だっただけです。




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

819 名前:名無しさん@お腹いっぱい。 [03/11/21 00:10]
設定ファイル群
aquahill.net/zsh.htm

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

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



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

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



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


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

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

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


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

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

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

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

828 名前:Matanuki mailto:sage [03/11/23 16:33]
うそにきまってるだろ

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



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

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


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

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

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

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

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

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

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

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

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

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



840 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:ネタ? mailto:sage [03/12/10 14:20]
>>841
できます。

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

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

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

846 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/11 21:19]
以下のサイトでzsh入門ぽいものがまとめられています。
ttp://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
このスレのzsh猛者な皆さん、よければ加筆していただけるとありがたいです...


847 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/11 21:56]
こっちで十分おなかいっぱいでつ。
ttp://hiki.ex-machina.jp/zsh/


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

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

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

なに?


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

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

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

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


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

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

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


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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

871 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 01:48]
>>869
www.ono.org/software/zsh-euc/

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

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

874 名前: ◆zshibaTAok mailto:sage [04/01/17 21:12]
1000get

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

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

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

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

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

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

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



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

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

881 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/28 22:34]
876の宿題が…

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

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

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

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

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

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


% echo -n 'foo'
%

みたいな。

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




888 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/31 23:40]
dengaku.org/~naoki/zsh/FAQ-J/zshfaq-j.html

889 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/01 00:03]
~

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

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


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

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

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

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

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

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

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

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

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

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

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



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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<219KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef