zsh その4

このエントリーをはてなブックマークに追加
zshのスレその4です。

過去スレ
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/

>>2-3リンク
英語
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
UNIX shell differences and how to change your shell (Monthly Posting)
http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
>>1
> zshrc for HELLO!PROJECT
> May 3rd 2004, 05:42:48 AM
> zshrc from モーヲタ。
> uploaded by: 171@2ch
まだ落とせたのかさゆPさん
From Bash to Z Shell: Conquering the Command Line
http://www.amazon.co.jp/exec/obidos/ASIN/1590593766/
新スレおめでとうございます
おめでとう
新スレわーい
なぁんかさぁ freebsd で
mount /proc
って補完できないようになってるみたいだけど、どーいう訳?
mount /compat/linux/proc
は出るんだけどね。
補完の mount point に /proc があらわれないってことだけど
% grep proc /etc/fstab
proc /proc procfs rw 0 0
linproc /compat/linux/proc linprocfs rw 0 0
とはしてるんですよね。
/usr/local/share/zsh/4.2.3/functions/Completion/Unix/_mount の 770行目とかが
原因だと思うのですが、何故このような記述があるのでしょうか。
いえ、特に問題はありませんが。
14名無しさん@Vim%Chalice:05/02/03 17:51:20
標準エラーをパイプできるようになったけど、
なんで、stdout stderr を同時にパイプできないんだ!ふざけてる
コマンド出力で、、stdout stderr を別の文字で同時にgrepしたい
command 2>&1 | grep hoge
1615:05/02/03 18:12:48
ん? 別の文字か。おれにはわからん。頼む↓
17名無しさん@Vim%Chalice:05/02/03 18:33:25
>>15
だからそれだと、同じ文字で両方grepじゃん!
別々にgrepかけたいの。コマンドラインの作業として
必要とされると思うんだけど、そんな高ポイントなんで対応しないんだ?
それで最強シェルなのか?
よくわからんが
command > >(grep word1) 2> >(grep word2)
とかじゃ不満なのか
19名無しさん@Vim%Chalice:05/02/03 19:14:53
>>15
ビンゴです。勉強不足でした・・・
やはり最強。bashにはできない
command | grep foo 2| grep bar
なんていう記法があってもよさそうだな。いまんとこないけど。

>>19
bash でもまんまできるみたいだけど?
>>18じゃなくて>>15がビンゴなのかよ
>>20
パイプ繋ぐ時にどうするか考えると、その手のは難しそう。
>>21
ワロタ
25名無しさん@お腹いっぱい。:05/02/03 19:22:06
最強のシェル キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!
ここまでのあらすじ: zsh と bash は同じくらい最強のシェルということが判明
昭和シェル
28名無しさん@お腹いっぱい。:05/02/03 20:27:11
zsh-4.2.4
過去ログを置いておいた。
http://hiki.ex-machina.jp/zsh/?ZshLinks
>>29
乙乙
4.2.4 はどう変わってるのかな
Cygwin対策
cygwin.com 落ちとる
復活したってよ。cygwin には 4.2.4 きたかな。
4.2.4 の ports きたなあ。でも cygwin 対策なら関係ないかな。
cygwin版バイナリはいまだに4.2.3なんだけどね
表示される日本語の文字化けなんとかならんかなあ。



   ま  た  お  ま  え  か  !  !


39名無しさん@Vim%Chalice:05/02/08 19:52:35
zshってプロセス通信できるの?プロセス通信自体よくわかっていないけど
たしか、bashにできなくてkshにできると聞いたことがある
そもそも利用価値あるのかな
>>39
パイプならあります。パイプいらんかえ。
>>39
zftp
sourceforge なかなか復活しないな。
LANG=C にしてないと Subversion のコマンドの補完がぐちゃぐちゃになっちゃうみたい。
補完候補をとるために実行するときはLC_ALL=Cを先頭につけるようにして
もらってくれ。まかせた >43
svnの補完は http://bugs.debian.org/291683 にあるから
次のバージョンで直るはず。
>>45
おお、情報ありがとうございます。果報を寝て待ちます。

ところで >>44 さんに言われてからどうやってバグ報告したものかと
途方に暮れてたんですが、
もしバグ情報のチェックとか報告するとしたら、
その bugs.debian.org のを見に行くのが正解でしょうか?
いいえ、zsh-workersにメールしましょう。
48名無しさん@Vim%Chalice:05/02/15 16:05:08
zshで任意の doTest コマンドの補填を aa1 aa2 aa3 ... のようにしたいのですが
compctl の使用方法がよくわかりません
>>48
そうですか
50名無しさん@Vim%Chalice:05/02/15 17:04:44
けちっ
「任意の doTest コマンド」って何ですか?
52名無しさん@Vim%Chalice:05/02/16 17:57:09
ls a*<tab><C-i>とうっても、ファイル名が展開されないです。
展開するときのキーが違うのでしょうか?
>>52
どのような状況で何がやりたいのですか?
man zshoptions は読みましたか?
どーせ vi キーバインドになってるに9200ストールマソ
55名無しさん@Vim%Chalice:05/02/16 18:25:11
>>53
いろいろなサイトを見ていて、自分用の補填をするときは-kで
compctl -k "(test1 test2 test3)" test ってやればOKと書いてあり、
test test* まで打ち、<tab> と <Ctr-I> を入力すると
test test1 test2 test3 が補填される と書いてあったので
それを試そうとしていました。ちなみに bindkey -e は設定してます。
zshoptions は すいません、読んでいません・・・
5651:05/02/16 19:23:17
>>48 =>>53 =>>55 氏の聞きたい事(たぶん)の補完

任意のコマンド(testだと同名のコマンドと紛らわしいのでhogeとする)に対し
$ comctl -k "(test1 test2 test3)" hoge
と独自の補完機能を定義しました。このとき
$ hoge test<Tab>
とすると test1,test2,test3 が補完侯補として正常に動作します。

今ここで
$ hoge test*
からワイルドカード展開をしたいのです。
(注)ワイルドカード展開するには C-x * を打つ必要がある
$ hoge test*<C-x *>
しかしながら、カレントディレクトリには test1,test2,test3 が存在しないので
$ hoge test1 test2 test3
と展開されません。
これを展開する方法はありますか?

ということですか? >> 48 氏
5756:05/02/16 19:31:55
>>56
s/comctl/compctl/
58名無しさん@Vim%Chalice:05/02/16 19:36:18
>>56
まことにお恥ずかしいですが・・・・
そのとおりです。説明が足りておりませんでした。
ちなみに、私の環境で test*(C-x *) を入力したら
*が消えて、test になりました。
zshのバージョンは zsh 4.2.0 (i686-pc-cygwin) です。
ファイル名でなくてもワイルドカードは展開されるんでしたっけ?
確か、前スレあたりにあった気もするが
setopt glob_complete
でいいかな?
zstyle の completer から _expand を外しておくこと。
61名無しさん@Vim%Chalice:05/02/17 12:17:04
>>60
setopt glob_complete
zstyle ':completion:*:default' expansions
を実行してだめでした。zstyleがいまいち理解できてないのですが、
やはり間違っているでしょうか
いまいちやりたいことがわからん。
>>55を読むと、test1、 test2、 test3 をそれぞれ補完候補にしたいのではなくて、
どうやら test1 test2 test3 に展開して欲しいみたいだが…
定義からしてそんな動きをするわけないが
63名無しさん@Vim%Chalice:05/02/17 14:39:31
>>62
やりたいことを先に書くべきでした。すいません。
コンソースでSQLを打つことが多く、カラム指定がめんどくさく、そこで考えました。
sql用のカラム補填を作るのですが、補填しやすくするために
カラムをそれぞれ、
t1_c1_column1 t1_c2_column2 t1_c3_column3 ... として
sql t1_c[12]* from tbl とすると、カラム1と3が補填できるようにする、
がやりたいことです。
上の例で、補填でも10個を1つ1つ補填するのは面倒です。
ただし、<tab>で補填候補を確認できることはメリットです。
SQLを実行しようとおもい、t1_c<tab>で全カラムを確認し、
補填したい物を確認して、それを t1_c[13579]* で展開できれば
5つを別々に補填しなくてもすむので、操作の手間が大幅に短縮できるかと、
そうおもって調べていました。
そういう風に展開する関数を書いたほうが早くねーかい?
65名無しさん@Vim%Chalice:05/02/18 13:43:52
だしかに、そんなような気がしてきたような・・・
>>63
メーリングリストでも似たような質問を何度か見かける。試しにやってみたが、
全展開は簡単にできるが絞り込みがうまくいかない。例えば下のような感じ。
他に影響がないように機能を C-x x に割り当てている。

_foo () {compadd bar{1..5}{a,b}}
compdef _foo foo

zle -C all-matches complete-word _generic
bindkey '^Xx' all-matches

zstyle ':completion:all-matches:*' completer _all_matches _complete _match
zstyle ':completion:all-matches:*' old-matches false
zstyle ':completion:all-matches:*' match-original only
zstyle ':completion:all-matches:*' insert true

% foo bar<C-x x> → foo bar1a bar1b bar2a bar2b bar3a bar3b bar4a bar4b bar5a bar5b
% foo bar*<C-x x> → foo bar1a bar1b bar2a bar2b bar3a bar3b bar4a bar4b bar5a bar5b bar*
% foo bar[25]b<C-x x> → foo bar2b bar5b bar[25]b

などとなって、補完対象の文字列がそのまま残ってしまう。でも
% foo bar[48]a<C-x x> → foo bar4a
となったりするからよく判らん
これじゃダメかい?

zle -C all-matches complete-word _generic
bindkey '^Xx' all-matches
zstyle ':completion:all-matches::::' completer _all_matches _complete
zstyle ':completion:all-matches:*' insert true
setopt glob_complete
だめだな
あるコマンドの時だけ補完を抑制したいのですが、どうすればよいのでしょう?
ポインタだけでもプリーズ。
java コマンドの補完があんまり重いんで、コイツだけ殺したい。
>>69
compdef -d java
補完可能な文字列ってどうすれば取得できる? 例えば
> ls <TAB>
file-a file-b file-c
なら、"file-"がほしい。
取得って補完するわけではなくて?
>>70
thx!
>>72
はい。実際に補完するのではなくて、現在のカーソル位置でcomplete-wordしたら
補完されるはずの文字列を取得したい。

cur=$CURSOR
zle complete-word
PART_COMPLETE=$BUFFER[cur, CURSOR]
みたいに取得する…ってのは無理あり過ぎか。
FreeBSD5.3Releaseで
portsからzsh+euc_hack-4.2.4を入れました。
gdbでデバッグをしようと
break main
run
としたら、プロンプトが戻ってこなくなってしまいました。
tcshでは問題が無いのでzshのせいだと思います。
どうしたらgdbを使えるようになるでしょうか。
>>75
?何をデバッグしたいの?
僕と彼女の仲をデバッグしたいです
コアを吐いてしまって・・・
>76
大学で情報科学をやっているんで、
使えないと困るんです...
7976:05/02/20 14:47:05
>>78
答えになってないですよ。
>76
すいません。あまり重要な質問とも思えなかったので
さしあたって
#include <stdio.h>
int main()
{
printf("hello\n");
return 0;
}
のようなプログラムをデバッグしたいと思います。
8176:05/02/20 15:05:51
>>80zshをデバッグしたいのかな?と思ったので。

gdbとzshは全く関係ないはず。
break mainで戻ってこないってのはどうなってるんだろう? C-cで
割込みしたらどうなる?

#多分スレ違い。
>81
>gdbとzshは全く関係ないはず。
と、思っていたんですが、
zshをログインシェルにしてログインした状態で
gdbを使うとrunでプロンプトが戻ってこなくなってしまうんです。
C-cの時のメッセージはどんなのが出てたかは忘れてしまいましたが、
tcshでプロンプトが戻ってくる時にやった時とは
違うメッセージが出てたと思います。
>>82
zshとtcshで環境変数とかが違うとか。
デバッグするプログラムはgdbなしで普通に実行できる?
8475:05/02/20 15:40:32
>83
>デバッグするプログラムはgdbなしで普通に実行できる?
問題ありません。

>zshとtcshで環境変数とかが違うとか。
それはちょっと気がつきませんでした。
gdbのメッセージと併せて、
少し調べてみます。
zprofileだかzshenvだったか、gdbの実行時に読まれてしまう。
本家でもバグ報告上がっていたような。
特にzshenvという名前にだまされてこのファイルに環境変数書いてしまう人がはまる。
何か実行すると読まれるってことすか。
zshenv になんらかの環境変数をかくのは正しいのでは
>>74
それだとどんな問題があるの?
全部.zshrcに書けば問題ない
問題あるなしの話ではなくて
まあいいけど. 私も使ってないし
>>85
は? なんでgdbがzshのファイルを読むわけ?
92名無しさん@お腹いっぱい。:05/02/20 16:32:11
それがgdbクオリティ
漏れの人生もデバッグしたい
9475:05/02/20 20:51:45
>85
まさしくそれだったみたいです。
ありがとうございます。
zshが原因だとぜんぜん気がつかず、
デバッガまで作っちまったよ...
デバッガ作ったのか。すごいな。
"^J"を押しても何も起きないようにするにはどうすればいいですか?

bindkey -s "^J" ""
このようにすればできるのですが、もっと素直な方法はありますか?
9791:05/02/20 21:42:39
gdbってシェルを起動してるのか。知らなかった。
>>85
zshenvに環境変数を書いてもいいと思うが。
>>96
bindkey -r '^J'
bindkey '^J' undefined-key
>>74
無理あんの?
10096:05/02/20 23:42:02
>>98
両方ともベルが鳴ってしまうようです。答えてくださってありがと
うございました。
>>96
-s は素直でないかな
>>97
まあ書いてもいいんだけど、サンプルのzshenvに書いてある
コメント読んでもらえれば。でも普通の人はそんなこと意識
しないでzshenvという名前だけ見て環境変数全部このファイル
に書いたりしてるんじゃないの、という意味で>>85を書いた。
103名無しさん@Vim%Chalice:05/02/21 11:03:44
ログインしたときに、前回のdirstackを自動で復活させることはできますか?
>>103
こんなのしか思いつかないよ

typeset MICHISHIGESAYUMI="$TMP/.sayumin"
[[ -f $MICHISHIGESAYUMI ]] && dirstack=($(cat $MICHISHIGESAYUMI))
function chpwd () {
emulate -L zsh
print $dirstack > $MICHISHIGESAYUMI
}
>>104
さゆみんて、またアンタかい!

つーか、いくら2ちゃんだからとはいえ、
(変数やファイルの) 名前はきちんと責務を明確に表したものにしてほしいですよ。
さゆみんコテやめちゃったの?結構良かったのに。
107名無しさん@Vim%Chalice:05/02/21 12:05:30
>>104
できました。ありがとうございます。
108从*・ 。.・) ◆SayuminPM. :05/02/21 16:18:08
pathに空白があるとだめだったので訂正

typeset -r MICHISHIGESAYUMI="$TMP/.sayumin"
[[ -f $MICHISHIGESAYUMI ]] && while read sayu; do dirstack+=$sayu done <$MICHISHIGESAYUMI
function chpwd () {
emulate -L zsh
print -l ${dirstack} > $MICHISHIGESAYUMI
}

うはwwwwwpathにwwwwwwwww改行があるとwwwwwwwwwwwwwwwwだめじゃんwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
パスに使えない文字って、/と\0だけだったかな。

print -Nでヌル文字区切りに出来るようだ。
読む方はちと調べが付かぬ。
110从*・ 。.・) ◆SayuminPM. :05/02/21 17:48:11
>>109
おおすごい
読む方は
read -d '^@'
又は
read -d ''
かな
ただし^@は直打ち

'\0' みたいな書き方はどうやるんだろう
'' を認識できるって凄い
111从*・ 。.・) ◆SayuminPM. :05/02/21 19:12:06
自己レスだけど
read -d $'\0'
で大丈夫だね
112名無しさん@Vim%Chalice:05/02/22 10:55:35
zstyle ':completion:*:default' menu select true
でTBB入力時に補完候補を←↓↑→で選択できますが、
初回のTAB入力で最初のエントリを補填せず、途中一致する箇所までを補填し
次のTABで←↓↑→で選択させることはできるでしょうか。
できます
つーかもうそろそろマニュアル読もうぜ>>名無しさん@Vim%Chalice
なにか意味があって補填という言葉を使ってるの
116名無しさん@Vim%Chalice:05/02/22 15:32:07
>>112
すみません。マニュアル見ます。
117名無しさん@お腹いっぱい。:05/02/28 17:36:55
http://news.gmane.org/group/thread=5964.1109263147%40trentino.logica.co.uk/force_load=t
これなんだけど、Solaris で GNU libiconv 入れていると上手く動かなくね?
118名無しさん@お腹いっぱい。:05/03/07 12:28:53
test
何のテスト?
>>119 testは組み込み関数だと思われ。w
121[:05/03/07 18:48:43
うんこ
気が付くと ~/.zcompdumpというファイルが出来ているのですがこれは何ですか?
中見ると、コマンド→補完関数の早見表みたいな感じに見える。
complete 関連の初期処理を高速化するためにつくられんだと思うけ。
126125:05/03/12 01:30:42
んっ?zcompcacheじゃなくてzcompdumpでしたか。失礼いたしました。

compinit の実行を高速化するためのダンプされたファイル
ってzshのマニュアルに書いてあります。
http://hiki.ex-machina.jp/zsh/
Plugin error in 'rss.rb'.
になっててみえないみたい。
>>127
http://hiki.ex-machina.jp/ を見るとほとんど死んでいる…
直った?
cdとかlsみたいなのは履歴に入れないようにしたいんですが,
パターンにマッチしたら追加しない、みたいなことはできますか?
accept-line で BUFFER の先頭に空白を入れるとかじゃだめだよね
history に入れない .accept-line ぽいのはないの?
ignore_dups するようにしたら 30000 くらいで収束してきた。
alias cd='nocorrect cd'
alias ls='nocorrect ls'
では、だめ?
>>133
( ゚д゚)ポカーン
135名無しさん@お腹いっぱい。:05/03/15 20:12:20
そりゃだめだろう
alias ls=' ls'
とかは?
137136:05/03/16 06:51:21
setopt hist_ignore_space でね
138136:05/03/16 06:53:42
引数なしの ls だけをってんならちょっと違うか。
その場合 >>131 みたいな widget を作ればいいかな。
catぐらい組み込みで提供してほしい
>>139
なぜ?
>>139

つ < >

NULL_CMD/READ_NULL_CMDね。
142141:05/03/19 21:42:37
あー、デフォルトがcatやmoreなだけか。

143名無しさん@お腹いっぱい。:2005/03/24(木) 01:22:31
while read line; do printf '%s\n' $line; done
とか
while read -E; do :; done
とか考えてみたけど、EOF直前の改行の有無が再現できなかった。
144名無しさん@お腹いっぱい。:2005/03/24(木) 01:24:43
で、なぜ外部コマンドのcatでは駄目なのか
145名無しさん@お腹いっぱい。:2005/03/24(木) 17:24:18
まとまったメッセージを表示するときに
cat <<EOF
Usage: xxx [-a] [-b] files...
-a: set a option
-b: set b option
EOF

みたいなのを外部コマンド使わずに書きたいなぁと思ったことはある。
zshでは内部コマンドだけど、echo並べるのも芸がないしな。
146ニート:2005/03/24(木) 17:31:19
>>145
echo 'hoge
...
...
'
147名無しさん@お腹いっぱい。:皇紀2665/04/01(金) 05:06:01
fj.unix.shell が熱い
148名無しさん@お腹いっぱい。:皇紀2665/04/01(金) 06:56:26
fj.unix.shells
149名無しさん@お腹いっぱい。:皇紀2665/04/01(金) 12:27:53
test
150名無しさん@お腹いっぱい。:2005/04/04(月) 11:29:15
test
151名無しさん@お腹いっぱい。:2005/04/04(月) 11:57:06
zshにbashとkshにあるデバッガってないの?
bash → bashdb
ksh → kshdb
152名無しさん@お腹いっぱい。:2005/04/05(火) 09:19:28
zshdb
153名無しさん@お腹いっぱい。:2005/04/07(木) 01:26:59
zsh-4.2.5
154名無しさん@お腹いっぱい。:2005/04/07(木) 11:22:16
echo並べるのはちっとも恥ずかしくないよ。趣味の問題。
155名無しさん@お腹いっぱい。:2005/04/07(木) 11:27:53
>>154
ホシュシニクイ。
156名無しさん@お腹いっぱい。:2005/04/07(木) 12:26:17
どせなら

cat head tail cut sort uniq rev mv touch mkdir rm

ぐらいは内部コマンドで〜

grep find sed

も内部コマンドでいいかも〜
157名無しさん@お腹いっぱい。:2005/04/07(木) 13:04:24
>156
emacs がお望みで?

ちなみに find/sed はかなり内部コマンド的に使える機構がある
** とか :s/// とか
158名無しさん@お腹いっぱい。:2005/04/07(木) 13:49:40
>>153
4.2.4の補完ファイルだと_iconvだけがrejectされるな。
159名無しさん@お腹いっぱい。:2005/04/07(木) 21:15:27
最近zshを使い始めました。
で、憧れだったRPROMPTを使おうと思って、

local GREEN=$'%{\e[1;32m%}'
local BLUE=$'%{\e[1;34m%}'
local DEFAULT=$'%{\e[1;m%}'

PROMPT=$BLUE'${USER}%% '$DEFAULT
RPROMPT=$GREEN'[%~]'$DEFAULT
setopt PROMPT_SUBST

としたら、X上ではうまく表示されるのですが、
コンソール画面だと、文字までRPROMPTと同じ緑色に表示されてしまいます。
どうしたら改善出来ますか?
160名無しさん@お腹いっぱい。:2005/04/07(木) 21:33:05
そもそもあんたのつかっている "こんそぉる" とやらは
カラーをサポートしているのかね?

どのターミナルを使っているとか OS とか $TERM とか
termcap とかを晒せ。というか晒すために調べる時点で分かるだろうけど。
161159:2005/04/07(木) 22:01:33
>>160
OSとか書いてなかった・・・。
FreeBSD5.3Rを使っていて、うまくいかないのはXを上げてないときです。
Xを上げて、ktermやmltermなどではうまく表示されています。

設定見直そうと思ったけど、今はPC使えないんだった・・・('A`)
162名無しさん@お腹いっぱい。:2005/04/09(土) 16:18:50
DEFAULT のとこを \e[00m にしたら? DEFAULT ってより RESET だけん。
163名無しさん@お腹いっぱい。:2005/04/15(金) 15:52:33
16進法の展開ってできる?
164名無しさん@お腹いっぱい。:2005/04/15(金) 15:59:25
% printf '%x\n' 255
% printf '%d\n' 0x255
とかじゃなくて?
165名無しさん@お腹いっぱい。:2005/04/15(金) 17:06:57
globでは?
166名無しさん@お腹いっぱい。:2005/04/15(金) 17:52:17
うい
167名無しさん@お腹いっぱい。:2005/04/15(金) 18:33:00
展開ってことは、該当するファイル名がないとこで生成したいのかね。
存在する16進表記に対するglobなら [[:xdigit:]] とか使えばいいんだろうが。
168名無しさん@お腹いっぱい。:2005/04/16(土) 06:12:42
私はこういう事かと思った
print $'\xa4\xb5\xa4\xe6\xa4\xdf\xa4\xf3\xa4\xab\xa4\xef\xa4\xa4\xa4\xa4\xa4\xe8\xa4\xb5\xa4\xe6\xa4\xdf\xa4\xf3'
169名無しさん@お腹いっぱい。:2005/04/18(月) 17:38:41
zshのヒストリは、履歴が書かれている紙をさかのぼって
表示するような感じだと思うのですが(多分)、
過去の履歴を編集した時など、うっかり C-u で消してしまうと、
以後その履歴はなくなってしまって困っています。
履歴を readonly にする方法はないでしょうか。
170名無しさん@お腹いっぱい。:2005/04/18(月) 18:13:19
>>169
履歴はreadonlyです。
171名無しさん@お腹いっぱい。:2005/04/19(火) 14:54:51
tcshのような history-search-backward が欲しいのですが、
どうにかならないんでしょうか?
172名無しさん@お腹いっぱい。:2005/04/19(火) 15:02:25
>>171
bindkey "^[p" history-beginning-search-backward
173名無しさん@お腹いっぱい。:2005/04/19(火) 16:34:21
>>172
man読んだつもりが、見落してました。
ありがとう!
174名無しさん@お腹いっぱい。:2005/04/19(火) 17:12:34
FreeBSD 5.3-RELEASE-p9
zsh 4.2.4 (i386-portbld-freebsd5.3)
を使っているのですが
% cat <(who)
cat: /dev/fd/12: No such file or directory
となって <() の様な書き方ができません

どうすれば <() の様な書き方が出来ますか?
175名無しさん@お腹いっぱい。:2005/04/19(火) 21:03:38
fdescfsをmountする。
176名無しさん@お腹いっぱい。:2005/04/20(水) 20:58:57
サイズが0のファイルのファイル名に展開してくれる展開式はありますか?
177名無しさん@お腹いっぱい。:2005/04/20(水) 23:02:10
>>176

$ ls
$ touch 0
$ echo -n '1' > 1
ls -l ?
$ echo ?(e:'test -s $REPLY':)

178名無しさん@お腹いっぱい。:2005/04/21(木) 01:23:02
>>178
s/-s/! -s/
ですか?
179名無しさん@お腹いっぱい。:2005/04/21(木) 01:23:25
>>178
>>177だったorz
180名無しさん@お腹いっぱい。:2005/04/21(木) 21:02:17
globbing をつかうなら *(.L0) とか
181名無しさん@お腹いっぱい。:2005/04/23(土) 00:19:39
>180
サンキューデス。howmでよくうっかり作ってしまうサイズ0のファイルを、
rm **/*(L0)で消滅してもらって気分が少しすっきりしました。

zshのreference.ps、PDF変換したら一部欠けてしまうので何とかして欲しい・・・
182名無しさん@お腹いっぱい。:2005/04/24(日) 00:53:44
zsh-4.2.5でsuffix aliasが補完できない。
183名無しさん@お腹いっぱい。:2005/04/27(水) 22:23:33
できるけど
184名無しさん@お腹いっぱい。:2005/05/01(日) 16:26:27
シンボリックリンク展開とかないよね。
185名無しさん@お腹いっぱい。:2005/05/01(日) 16:28:22
あるよ
186名無しさん@お腹いっぱい。:2005/05/01(日) 16:29:45
早いなオイ
$(realpath hoge) とかじゃなくてすか?
187名無しさん@お腹いっぱい。:2005/05/01(日) 17:10:29
@
188名無しさん@お腹いっぱい。:2005/05/01(日) 21:47:08
じゃなくて、realpath みたいに追跡展開(置換?)したい
189182:2005/05/02(月) 00:03:44
>>183
できました。すまそ
190名無しさん@お腹いっぱい。:2005/05/04(水) 07:38:28
zmodload zsh/statして
stat +link hoge
191名無しさん@お腹いっぱい。:2005/05/12(木) 23:32:17
realpath と同じじゃ
192名無しさん@お腹いっぱい。:2005/05/17(火) 10:35:40
日本語入力したらプロンプト上の表示が文字化けするのは
直す方法はありますか?
193名無しさん@お腹いっぱい。:2005/05/17(火) 12:14:39
setopt print_eight_bit
とかで解決する話?
プロンプトにディレクトリを表示するようにしてて、
日本語なディレクトリに入った時に化ける、とかなら分かるが。
194名無しさん@お腹いっぱい。:2005/05/17(火) 12:49:50
いやそれ以前に文字コードを何使っているんだとか
LANG やら LC_* は、とかいろいろ告白すべきことがあるだろう。
195名無しさん@お腹いっぱい。:2005/05/17(火) 23:26:34
端末が日本語表示出来るかはいっか
196名無しさん@お腹いっぱい。:2005/05/18(水) 01:25:24
すいませんでした。
ターミナルエミュレータはputtyで文字コードはUTF8使ってます。
OSはFedora3 で文字コードはUTF8です。

LANG=ja_JP.UTF-8

setopt print_eight_bit
では解決しないようです。

たとえばプロンプト上でtabで日本語ファイルを補完などすると、
文字化けした状態で表示されます。
ただし表示がおかしいだけでファイルの操作などは普通に出来ているようです。

以前いろいろ調べた時はutf8を表示させる方法はとりあえず無くて、
bad なんたらに登録されていて、そこにも近日対応予定とありました。
んで、半年くらい立ったので解決されたかなと思いまして。

197名無しさん@お腹いっぱい。:2005/05/18(水) 02:18:58
>>196
cvs
198名無しさん@お腹いっぱい。:2005/05/18(水) 02:22:02
なるほど、まだ正式には未対応なのですね。
残念です。
CVSに手を出してまで必要では無いので待つことにします。
199名無しさん@お腹いっぱい。:2005/05/18(水) 21:05:22
今時ウtfも未対応とはとんだ糞ソフトだな。
機能は多いかもしれんがそのうち消える運命だな。
200名無しさん@お腹いっぱい。:2005/05/19(木) 20:31:02
UTF 対応って POSIX の必要条件なの??
201名無しさん@お腹いっぱい。:2005/05/19(木) 23:11:52
>>199
機能が多い時点でk(ry
202名無しさん@お腹いっぱい。:2005/05/29(日) 23:32:37
zshの補完についてお聞きします
例えば

/home/aaa.txt
/home/bbb.txt
/home/ccc.txt

というファイルがあって、ファイル名の拡張子を除いたものが補完候補に挙がるように

command [TAB]
aaa bbb ccc

とするには compadd をどう書けばいいのでしょうか?
203名無しさん@お腹いっぱい。:2005/05/30(月) 01:16:11
>>202
単純にかけば
compadd /tmp/*(.:r:t)
とか
204名無しさん@お腹いっぱい。:2005/05/31(火) 08:47:35
PATH環境変数から、"/usr/java/"で始まるパスのを削除したいんですけど、
zshでこういう(正規表現などでマッチする要素のみを削除する)操作は可能でしょうか?
205202:2005/05/31(火) 12:44:10
>203
感謝
206名無しさん@お腹いっぱい。:2005/05/31(火) 16:15:16
207名無しさん@お腹いっぱい。:2005/05/31(火) 17:08:58
>>204

path=( ${(R)path#/usr/java/*} ) とか?
正規表現じゃなくてglobだけど。
208名無しさん@お腹いっぱい。:2005/05/31(火) 21:01:35
>>204
スレ違いな解法だけど、
PATH=`echo $PATH | cut -d':' -f'1-3,5-'`

cut がダメなら代わりにsed とかでも。
209名無しさん@お腹いっぱい。:2005/05/31(火) 23:02:51
207が正統派っぽいけど、正規表現なら俺はperlにかませるな。
$echo $PATH |perl -pe "s#(^|:?)/usr/java/[^:]*##g"
210204:2005/06/01(水) 10:16:15
>207
ありがとうございました。(R)をつけても、/usr/java以降は削除されなかったんですけど、
最後がbinなのが決まっていたので何とかなりました。

function setjavahome () {
path=( ${path#/usr/java/*/bin} )
export JAVA_HOME=$1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=\
.:./classes:\
$JAVA_HOME/lib/tools.jar:\
$JAVA_HOME/jre/lib/rt.jar:
}
211名無しさん@お腹いっぱい。:2005/06/01(水) 17:45:50
>>204

path#パターン じゃなくて path:#パターン
が正しいみたいです。(コロン)
212名無しさん@お腹いっぱい。:2005/06/13(月) 13:49:04
コマンドを実行する時に環境変数を渡さずに実行したいのですがどうすればできますか?
213名無しさん@お腹いっぱい。:2005/06/13(月) 14:23:05
env -i
214名無しさん@お腹いっぱい。:2005/06/16(木) 14:05:18
なんかzshellのいい本か、ファイルないかな?サイトじゃなくて。。
215名無しさん@お腹いっぱい。:2005/06/16(木) 14:16:51
/usr/local/info/zsh.info
216名無しさん@お腹いっぱい。:2005/06/16(木) 16:37:33
これしかないんじゃない?
"From Bash to Z Shell"
ttp://www.amazon.com/exec/obidos/tg/detail/-/1590593766/103-1774413-5263841
217名無しさん@お腹いっぱい。:2005/06/17(金) 06:53:20
man zshall
user's guide to the z-shell
218名無しさん@お腹いっぱい。:2005/06/17(金) 09:27:22
shall we shell?
219名無しさん@お腹いっぱい。:2005/06/17(金) 18:17:22
そういえばUnixUserの連載の書籍化の話はどうなった
220名無しさん@お腹いっぱい。:2005/06/17(金) 18:30:56
売れないので流れました
221名無しさん@お腹いっぱい。:2005/06/17(金) 19:44:15
もったいねー
222名無しさん@お腹いっぱい。:2005/06/18(土) 02:26:47
PDF とかで手に入れられますかね?
223名無しさん@お腹いっぱい。:2005/06/18(土) 02:40:51
単発記事ならWebに載せられることもあるが、連載記事は難しいか
224名無しさん@お腹いっぱい。:2005/06/24(金) 00:59:32
カレントディレクトリの情報に応じて、umaskを動的に変更することは可能でしょうか。

NFSな/share/... は、umask u=rwx,g=rwx,o=rx にして、
自分のホームディレクトリな/home/.... は、umask u=rwx,g=rx,o= にする、といったような。
225名無しさん@お腹いっぱい。:2005/06/24(金) 01:26:15
ハァ?
226名無しさん@お腹いっぱい。:2005/06/24(金) 01:31:20
pwd して umask かえるような function を cd の代わりに使ったら?
227名無しさん@お腹いっぱい。:2005/06/24(金) 06:15:16
chpwd でいいでしょ
228名無しさん@お腹いっぱい。:2005/07/14(木) 11:27:39
EDITOR 変数にviを設定した状態で、zshを起動すると、
Ctrl+A,P,B,Nが ^A,^P,^B,^NとEchoされる状態になります。
回避したいのですが、どうやるのが作法なのでしょうか?
229名無しさん@お腹いっぱい。:2005/07/14(木) 11:42:09
bindkey -e
230& ◆PkVaNoo6gU :2005/07/14(木) 18:44:55
ありがとうございました。
ZSHEDITORみたいな変数が有るのかと探してました。
231名無しさん@お腹いっぱい。:2005/08/12(金) 02:15:46
てst
232名無しさん@お腹いっぱい。:2005/08/13(土) 17:02:43
suffix alias (alias -s suffix=command)で指定した拡張子を持つファイルを実行権限を与えること無く補完したいのですが、これって可能ですか?

↓こんな感じ。

% ls -l
合計 4
-rw-r--r-- 1 abcdefg abcdefg 0 8月 13 16:53 hoge.hoge
-rw-r--r-- 1 abcdefb abcdefg 2439 8月 13 16:53 hoge.html
% alias -s html=pick-web-browser
% ./hoge
(ここで expand-or-complete)
% ./hoge.html
233名無しさん@お腹いっぱい。:2005/08/13(土) 23:39:14
>>232
普通にできているが。
234232:2005/08/14(日) 00:55:23
自己完結しました。

alias -s {com,net,org 等々...}{,/}=pick-web-browser
という設定をしていたんだけど、指定する接尾辞に / を含めるのがダメだったみたい。

サフィックスエイリアスの中に1つでも / を含むものがあると全ての suffix alias
の補完ができなくなるようです。
235名無しさん@お腹いっぱい。:2005/08/14(日) 00:59:49
何のために/を入れるんだ?
236232=234:2005/08/14(日) 01:11:18
>>235
別に意味は無い
なんとなくいれてみたかっただけ
237名無しさん@お腹いっぱい。:2005/08/20(土) 10:41:55
開発中の使えでもなんでもいいんですが、
zshでまともにutf-8を使う方法ってありますか??
238名無しさん@お腹いっぱい。:2005/08/25(木) 15:22:56
... で ../.. に、 .... で ../../.. に、 ..... で ../../../.. に、・・・
ってできないかな?
239名無しさん@お腹いっぱい。:2005/08/25(木) 16:14:19
_morse
240名無しさん@お腹いっぱい。:2005/08/25(木) 18:00:34
..は、実際にそういう名前のディレクトリをシェルの外の世界で
辿ってるだけだからのう。
BUFFERを加工してやればやれなくもないとは思うが。

rootで、
# ln -d ../.. ...
ってやってみたら怒られた。(Linux ext2)
241从*・ 。.・) ◆SayuminPM. :2005/08/25(木) 19:21:41
>>238
ちょっと違うけどこんなの書いて使ってる

function MichishigeSayumi () {
emulate -L zsh
setopt extendedglob
typeset MATCH
zle .self-insert
LBUFFER="${LBUFFER%%(#m)(...)}${MATCH:+../..}"
}
zle -N MichishigeSayumi
bindkey '.' MichishigeSayumi
242名無しさん@お腹いっぱい。:2005/08/30(火) 14:27:21
モヲタが唯一のコードの読み手だとしたら、
Sayumin, Eririn, Reinya と呼べばそれで済むでしょう。
しかし、主要な読み手はモヲタではなく、人間なのです。

--- ケント・ベック
243名無しさん@お腹いっぱい。:2005/09/07(水) 18:17:05
mohta
244名無しさん@お腹いっぱい。:2005/09/08(木) 05:51:13
cygwin を利用せずに、Windows で Zshを使うほうほうはありませんでしょうか?
245名無しさん@お腹いっぱい。:2005/09/09(金) 16:25:40
ありません
246名無しさん@お腹いっぱい。:2005/09/09(金) 19:19:08
どれだけ使い物になるかは知らん
ftp://ftp.blarg.net/users/amol/zsh
247名無しさん@お腹いっぱい。:2005/09/10(土) 00:52:41
v3 の頃の奴で現在メンテナンスはされてないです。

でも win 環境で zsh script 書けるのはありがてーってんで
>246 の奴使ってます。
超最低限の範囲しか使ってないけど。

(それにしても cmd.exe つかえねえよな)
248名無しさん@お腹いっぱい。:2005/09/10(土) 03:17:27
monadはすごいぞ
zshがゴミに思える
249名無しさん@お腹いっぱい。:2005/09/10(土) 08:21:14
でも Longhorn は monad なし。

あと「決定的な差」がなかったら新言語に手を出すのは面倒。
250名無しさん@お腹いっぱい。:2005/10/04(火) 10:33:43
前スレ109のプロンプト直後で日本語入力すると左に表示がずれるという問題ですが,
KDEのkonsoleにて同様の症状になります.
XIM経由で入力してOver The Spotに設定しておくとなんとか入力できたんですが,
IM_MODULE経由で入力するようにしたところ,再びこの症状が表れました.

どなたかこの問題を解決できた方いませんか?
251名無しさん@お腹いっぱい。:2005/10/04(火) 13:59:47
gnome-terminal + uim とかだと問題なさそう
252250:2005/10/05(水) 12:09:47
>>251
そうなんですよ,これはkonsoleを捨てろってことですかね・・・?
253名無しさん@お腹いっぱい。:2005/10/05(水) 18:11:40
kterm でもなることがある
254名無しさん@お腹いっぱい。:2005/10/19(水) 20:47:34
zshhistory に ls とか cd とか残したくないんですが
そういうこともできますか?
255名無しさん@お腹いっぱい。:2005/10/19(水) 23:09:46
setopt histignorespace で
alias ls=' ls' cd=' cd'
256255:2005/10/19(水) 23:17:44
ちなみに自分は alias rm=' rm' で rm * なんかが履歴に残らないようにしてる
257名無しさん@お腹いっぱい。:2005/10/19(水) 23:32:43
>>255,256
なかなか便利な小技っすね
258名無しさん@お腹いっぱい。:2005/10/20(木) 10:19:46
自分は逆に履歴に残したくないときだけ頭に空白を入れている。
どうも案外使い回しているようだ。
259名無しさん@お腹いっぱい。:2005/10/20(木) 10:34:39
引数つきのlsやcdは残すけど、引数のないやつは外すにはどうすれば?
260名無しさん@お腹いっぱい。:2005/10/20(木) 11:07:16
>>259
setopt HIST_IGNORE_ALL_DUPS にしておけば一番早くないか
261名無しさん@お腹いっぱい。:2005/10/20(木) 11:56:40
それは嫌なの。
いくつかのコマンドからなる手順そのものを覚えていてもらいたい場合もあるから。

262名無しさん@お腹いっぱい。:2005/10/20(木) 12:07:58
どうつながるのかよく判らないが…
263名無しさん@お腹いっぱい。:2005/10/29(土) 09:07:38
$SHELL=zshな環境だと、ファイル名によってlessからlesspipeを呼ぶ時に失敗する。
264名無しさん@お腹いっぱい。:2005/10/30(日) 23:15:48
>>261
一連の手順のときだけ HIST_IGNORE_ALL_DUPS を無効にする
accept widget を使うって手もあるかな。

>>263
例えば?
265名無しさん@お腹いっぱい。:2005/10/31(月) 00:26:22
[test].tar.gzかな
266名無しさん@お腹いっぱい。:2005/10/31(月) 01:43:28
>>265
LESSOPEN="|noglob lesspipe.sh %s"
でダメかな?試してないけど。
267名無しさん@お腹いっぱい。:2005/11/18(金) 00:47:56
if [ ] と [[ ]] ってどういう基準で使い分けるの?
268名無しさん@お腹いっぱい。:2005/11/18(金) 00:48:44
age
269名無しさん@お腹いっぱい。:2005/11/18(金) 01:36:26
>> 267
[[ は [ より高機能な zsh の組み込み機能。
-a, -o の替わりに &&, || が使えたり、
$hoge = y* みたいに文字列をパターンで比較することが出来る。
自分は文字列の比較をするときには [[ を使用するけど、いつもは [ を使ってる

man zshmisc の CONDITIONAL EXPRESSIONS を参照
270名無しさん@お腹いっぱい。:2005/11/18(金) 02:36:33
>>269
ありがとうございました。
271名無しさん@お腹いっぱい。:2005/11/20(日) 00:31:05
bashからzshに乗り換えようかといろいろ調べてるところなんですが
ワイルドカードの展開のことで教えてください.

例えば
% echo a*<tab>

とここでタブを打つと a* がカレントディレクトリの aで始まるファイルに
展開されてしまいます. これをコマンドラインは展開されずに, マッチする
ファイル名の一覧が表示されるようにしたいのですが可能ですか?
272名無しさん@お腹いっぱい。:2005/11/20(日) 00:38:23
>> 271
C-x g
273272:2005/11/20(日) 00:40:18
ちなみに bash でも同じキーバインドで出来るよ
274名無しさん@お腹いっぱい。:2005/11/20(日) 00:49:44
>>272
すげえ. ありがとうございます!

ついでに厚かましいんですが, 教えていただいた C-x g の動作と<tab>の
展開の動作を入れ換えたい (おそらく私はC-x gの動作ばかり使うと思うので)
と思うのですが, ソースをいじるしかないのでしょうか?
275名無しさん@お腹いっぱい。:2005/11/20(日) 00:51:25
>>274捕捉
つまりキーバインドを入れ換えたいという意味です.
276274:2005/11/20(日) 01:01:03
>>274自己解決しました. bindkeyで簡単でした. 失礼.
277名無しさん@お腹いっぱい。:2005/11/20(日) 02:56:17
echo a<c-d>
でいいじゃん。
278名無しさん@お腹いっぱい。:2005/11/20(日) 09:09:51
単純に入れ換えただけでは使い易くならないと思うが…
279274:2005/11/20(日) 17:21:22
>>278
manで見つけて確認せずに>>276を書いてしまいましたが,確かに想像してたのと
違ってたので使えたものではありませんでした。とりあえずはC-x gに慣れる
ことにします。

>>277私へのレスですか?
280274:2005/11/20(日) 17:34:59
>>277
複雑なワイルドカードのグロビングを入力した後,実行する前に
本当にこれでいいのか確認したいというのが質問の趣旨です。
281名無しさん@お腹いっぱい。:2005/11/20(日) 18:22:25
C-/ で undo すればいいとか
282名無しさん@お腹いっぱい。:2005/11/20(日) 21:31:27
俺も前から思ってたが,グロビングが展開されるのってメリット何かある?
>>281みたいにundoすればいいんだけど,むしろundoしないことはめったに
ない。
283名無しさん@お腹いっぱい。:2005/11/20(日) 21:44:42
複雑な glob の時はさておき、どっちかっつーと
* から一部除きたいとか glob 結果にちょいと手作業修正を
加えたいときに使うね。

ちなみに、おいらの設定では *[tab] は リスト一覧みたいになって
そこから選ぶ(C-g で元通り)になってる(リストの最後の方にglob 全展開がある)。

この設定にするのがどの変数なのかは既に良く分かってない…
284名無しさん@お腹いっぱい。:2005/11/20(日) 21:57:49
* のまま履歴に残ると、間違って履歴を実行したときに
危ないコマンドが暴発しそうな感じがして展開することがあるなぁ
285名無しさん@お腹いっぱい。:2005/11/21(月) 09:05:46
けどエロ画像に展開されたヒストリを残したくないな
286名無しさん@お腹いっぱい。:2005/11/21(月) 09:13:49
一応 .zsh-history は 600 だし…

まあ人前で履歴を辿るのが危険といえば危険?
287名無しさん@お腹いっぱい。:2005/11/21(月) 22:19:27
俺はヒストリー100000だよ.
288名無しさん@お腹いっぱい。:2005/11/22(火) 01:12:09
いや chmod の引数のことっす
289287:2005/11/22(火) 04:30:35
>>288
おっと勘違い失礼。長くて複雑なコマンドラインを考えて仕事をいっきに
片付ける人かと思ったよん。考えるより先に手が動くおいらと正反対の。
290名無しさん@お腹いっぱい。:2005/11/23(水) 11:02:04
predictをhogeしてこんなん作ってみた。ただし少し鬱陶しい動作かも
あとなんか色の表示がおかしい。

begin-base64 664 interactive-complete.tar.bz2
QlpoOTFBWSZTWQ6B/OcABqX/lNQwAEB9//+b/+/er///3/4gAAABAAhgCN9Z
5jAWnbH27t64Bt3FNAkOgYSmlMhlQxpG0p5NNCMDRA0aGmgGIaGgZA0BoTIU
8TQmTUJ5Iaepo0NNAAAAAaANDQOaYjIyaZNAMhoyGTIAAAZGmRoGEMgSFEIQ
mxqmNTRoDQaNNMgGhpo00AGmgACNVHqZNGg0AAAAAAAAAAeoAAEiIECaJMAK
eRJ6j0nppGhoAGgZDJkNGQ9T9x0+36WAYqhI8dBFvAlwUo2CGkDFDSCLMwXL
OhTS+drfX49GUXW/JOXwn1lzY+PTnV507sn7F+4qqw4h4TfBpAw+/RwuibSC
wzqjorqOrPjxpraIR7DFZQWEzqcc7IRw2HWjgkxh1DcmsPns3xVFCSpvZsiM
zvv0ozW1gSDCxCRal0U2xsbENsGNNjGNtDMaGGUpVUUEMGgbRBqMymdw4Voo
v2B0KZuI52qWBcAjRzoMkQyfwu6yjFpdWhL0a2xUWVyZjL1aVy/Fgh5XBGpW
E7vkRi96xjnPpY9VJitNks6aL2s7Gm1abBqYy8XfDi0em2Q+gh7kNvbUIVA7
xXpQ51+EOBfdGtN2Uh1UC8Vab7C/dSZndPUNuGnPzbNuq0qZbDtHMfV+SJLJ
b9DPAkhWZoIxLoxaVzt59hzbPOmVDh1jqVqSmNEjCiUE2NkveeW4wmzl4W1v
yE6m2zxbQdlnwgqLobSxwlFmA1HlkGKNZvzs6642FWigdZU2cYZwtjawPkpq
ih8g2op2qfR1rSdkK40wUyxSkLMZwjdR7DC+uIsBhxoA1LEulELbCL5o8JmM
Se1SGMfFbCMQ060qsHxzlWS5oCiFY8IwvQQmgkwiz52KzJYiMkplpBs3GKux
zbG2lu7s7z0jcuDNCqEFfzzlTbhJkIZLgA8k7VFQk/zjCrjBurjWhv7tlt5y
Fi6VUUGbg4NxJ2t6XJ+Y0wKAO3jcmS5DBAsIUtrt3m44UthwSK4asqZC31Fi
rDmowMKe7IZYcRFtztWlBVtZn2fZHQuaU1vvPLnLeyx+fhD04dIvX0UVWItq
x+zY1aVGkgoiyaKKLZbdAsxjtoNpBQmx3UQXesuHfDNhr/I8oztVEztBIdxN
291名無しさん@お腹いっぱい。:2005/11/23(水) 11:02:38
続き

Ugycr+30s7CG1/oh+ofnoy81RlpibSfM5lIoK2VEqJGfz0Q9zqimdMSHYv2v
na9477GTNCnJpG9X5HSHcxhTvuaD7wqWbU7jXm5MrRDldpoQio1lZGSSQU1H
IVE+hwAYthBPmQRQAGkAInILOpBQjUx5Ea8RutzJWuhbeBOPKq8KGqB9WxoZ
dvVwuzkJi+rNHYoRWgm81Aa/Qku7/KHsmVLi+FBpJIEQYsXMuHfG8RsMcSFs
ueJ9wrYOY4Ga7BoaitYHG/zhnFxLfZYg0eDbSEXcA2zDxi0j0EqfIdA9Sfy8
hUYcXtnxlJzGCuMExMPAZE9SRCmMMZxgHmY1jWcLAVKsslivMV+jcx7r0xnt
aqz6LATxNU1RZBPd/zebFWYfxj5GV5IK8zxqlggKFKTeboKJL52hFd4ULRmw
07kB69DITBgI+GnB1YratXudU0o2whNpQlA26bhNl6tkQop22sethgoO/72s
x3ivmt6Ae8h3DpumRAC7/DavhMZLBdhpMCbVJzkl1rMlWVGDr5SGlStDT+t6
uli22K0Rk1m0F0kEQUGkjKd5SzNsLXG1fy3tteN9JVZNEVqrYyzxAygKyLnB
nWP6i2KiIfFmdilJc7k8ivLjB6Gm0kGDJRTLaWAZpOS6umr6isahgRAmBgOJ
gVDCv3BKwrgSi4lmEaA5ERtjiz0ZxCqR0zaO/kLVqNNhtOWOPXj4S8RCxgL6
jVDFW1yI0SNras8PrhaQQoJ2StJK9SiZA/CwFDEfpdQsM55mxFlypamHMHUB
16C5d53jvl2/o2Nx92lZULgeDglL1eckRxevbc88RuyZ75dOznGtT0wdEntl
H8UmTVgNgNbSFMMohjZVjRbPQkCxXwZwVCLzl5YxU5WVDvHmkg82l/I59PSY
KnY/GxHYgxxYzsp6Nl7Uj4EmlqeA9JuY6GjraQ0DGMEmiWcjuVMowj/sjG7+
4imAylzWeqpQxCyEy0Hjltq5PwHvSceJGbxjWYTIL660VKpIVZOVLoq0VgXJ
kBTKSp+yAgdAcPtygKUt566i+7UqlLsO8JFk20ENKdyKrng2LiujbFQL5EOV
AhFSQc9XfwazYj3qbHMtWG1qwIukOV5deuRNFk9F4CQpxkLcyaWkw3GsIuow
7ZKCfceWblVpmOTxAezmocA7ipB1sj458UuYy48p4WOWyPiK4TTYX0g7kki0
m2zYZjLCIYsGJOQmaNtyeaUZJG2hlBwibFEkGoMpRPVHGxppNOeMwdBlnggp


292名無しさん@お腹いっぱい。:2005/11/23(水) 11:03:26
ごめん長い

7+shUpfJ5ipzvKpQsc8EQQLVSYYmFk68ul2fN1c3ZjLPFnlQ1rM0LOTWK2bp
95soEu99rrXpC9S05qnLZxML3ftE8AHSH0enf31TYN4RwB7I8Shcs7aUjhQI
aMV6RdOC+IEKEUIrhKVANWM3AyQLTnuyaOFu0/MFg614rFyuc6mXuvF7uJIH
Uhk755KtSYjdQhXWEuDQkQLJQU2lrNQAhvi6GXBlEgO72OEdQ82V7SYMMbjM
a2nShuRCSDAlzNMLq2EWtQUpWA5GQWa7q+BJ4Hb5hT5ZrUyE0UYPoov/R7fi
8rG1UayQcySDmOWhMwvJA+lhLM37jQ0zkRfIsIv0M550pQmG6+ZLNJgQuiUj
rZ2OH63DpHANdIqlfiLsJ7rkt43BNGyMz0g/4u5IpwoSAdA/nOA=
====
293290:2005/11/23(水) 17:12:45
だれかなんか反応くれ〜。
294名無しさん@お腹いっぱい。:2005/11/23(水) 20:01:16
>>290
試すの面倒だから解説よろ
295294:2005/11/23(水) 22:03:02
おもしろいけど、たしかに鬱陶しい。
なんか動作が変だし。
296290:2005/11/24(木) 04:25:33
>>295
list-choicesっていうのを削ればちょっとましになる。

297290:2005/11/24(木) 04:58:55
すこしでも鬱陶しいのを減らすのと自分の好みとして
1.補完候補に色をつけたい(zstyle?)
2.terminalのまんなかあたりより下に
プロンプトがいかないようにしたい
---------------------
|$ls bar
|$tar -xf hoge
| - - - - - - - - - -<-ここより下にいかない
|
|
---------------------

1.は(とてもじっくり調べれば)なんとかなるっぽいけど
2.がわからん
298名無しさん@お腹いっぱい。:2005/11/24(木) 11:22:51
>>290

2.はターミナルの問題な気が…。
299名無しさん@お腹いっぱい。:2005/11/25(金) 00:15:29
>>279
zstyle の completer の _expand を自作の _list_expand とかに
すればよさそうだけど、これ多分めんどいね。

これやるなら expand-or-complete 使ってる場合は complete-word にしないといけない。
300名無しさん@お腹いっぱい。:2005/11/25(金) 00:51:06
誰か freebsd 用の _ls 持ってない?
-T で tabsize になるのが不便だ。いや消せばいいんだけど。
301名無しさん@お腹いっぱい。:2005/11/25(金) 01:01:24
>>297
2. って意味あるの?
302290:2005/11/25(金) 08:59:17
>>301
いわれてみれば気づいたけれど意味あんまり無いな

結局鬱陶しいと思うひとにはどう足掻こうと鬱陶しいだろうし
(自分的には気にならない)
補完に色付ける方法もなんかわかったしなんか
そこそこ満足してしまったからまあべつにいいや
303名無しさん@お腹いっぱい。:2005/11/25(金) 10:19:57
1って
zstyle ':completion:*' list-colors #{(s.:.)LS_COLORS}
みたいにやってできるやつのこと? それとも、もっと高度な処理を期待している?
304290:2005/11/25(金) 21:06:30
>>303
亀レスすまん
補完候補はそれで色付けられたから
補完候補に付いては満足
ただもしできるならば例えばemergeを補完するときに
$ emer|
(|はキャレット)までうって
$ emer|ge
と補完されたときキャレットより右側の補完された文字列
に色を付けたい
echo -n '\e〜'
でもいいけど動作がおかしくなるからそれ以外ってある?
305名無しさん@お腹いっぱい。:2005/11/26(土) 17:14:46
ないと思う。
306290:2005/11/26(土) 20:37:44
やっぱそうだよね・・・
307名無しさん@お腹いっぱい。:2005/11/28(月) 01:29:40
% : \x9c  a
  a[改行なし]

なにコレ
308名無しさん@お腹いっぱい。:2005/11/28(月) 20:16:55
なにそれ?
309名無しさん@お腹いっぱい。:2005/11/29(火) 02:15:15
% echo \x9c a
 ax9c a

じゃあコレ。
310名無しさん@お腹いっぱい。:2005/11/29(火) 02:57:24
% echo \x9c a
x9c a
となるんだが
311名無しさん@お腹いっぱい。:2005/11/30(水) 01:27:31
すまないそしてありがとう。
これは screen 用に

preexec () echo -n "\ek$1\e\\"

としていたところ、 echo によって解釈された \x9c ('\') が
どうも \ek に対する終端になっていた模様。
# man screen には \x9c に関するそうした記述は見当たら
# なかったが
ついでに \ek の後に来る文字列の最大長が 255 である様子
なので、それも考慮したらこうなった。

preexec () echo -nE $'\ek'"${1[1,255]}"$'\e\\'
312名無しさん@お腹いっぱい。:2005/11/30(水) 15:29:37
Zsh 4.2.3 で svn の補完をしようとして,
$ svn add [TAB]
とすると以下のようなメッセージが表示されてしまいます.

>_arguments:comparguments:208: invalid argument: <引数>

言語関係の設定は以下のようになっています.どうするのが良いでしょうか?
LANG=ja_JP.eucJP
LANGUAGE=ja
LC_CTYPE=ja_JP.eucJP
313名無しさん@お腹いっぱい。:2005/12/05(月) 23:14:31
Version 4.2.6 of zsh has been uploaded to ftp.zsh.org/pub and to
Sourceforge. The changes are minor: mostly bugfixes, with a few
enhancements to completion functions.

In case you haven't been following development, you should be aware that
a development version 4.3.1 will be released soon (before Christmas,
unless I get really tied up) which will contain support for multibyte
character sets such as UTF-8 in the line editor (though there's not yet
not much support in the main shell). This appears to be working quite
well already.

(4.3.0 was the version number used during initial development on the
branch, so doesn't correspond to a release.)
314名無しさん@お腹いっぱい。:2005/12/05(月) 23:20:37
>>313
クリスマスまでにマルチバイト対応ですか。
315名無しさん@お腹いっぱい。:2005/12/06(火) 10:53:51
>>313
おっ
やっとか
316名無しさん@お腹いっぱい。:2005/12/06(火) 11:14:19
EUC も OK?
317名無しさん@お腹いっぱい。:2005/12/07(水) 00:13:36
だめじゃない?と思ったら such as UTF-8 か。
UTF-8 しか相手にしてないと思ってたよ。期待しよ。
318名無しさん@お腹いっぱい。:2005/12/07(水) 00:49:23
EUC-JPなら今でも普通に使えるよ。
319名無しさん@お腹いっぱい。:2005/12/07(水) 01:10:56
ちょっとおかしいやん。
patch 当てれば完璧なんかな。
320名無しさん@お腹いっぱい。:2005/12/07(水) 09:52:02
EUC は
| http://www.ono.org/software/zsh-euc/
FreeBSD ports によれば
| What I did over this is disable the hack for non-EUC locales.
ということであった

本家で普通に綺麗に EUC 扱えるようになると良いね
321名無しさん@お腹いっぱい。:2005/12/08(木) 19:02:44
>>312
>>43-
322名無しさん@お腹いっぱい。:2005/12/10(土) 00:50:41
I've put a test release of zsh 4.3 in the pub/development directory of
ftp.zsh.org. It's unlikely to differ much from 4.3.1 when that appears.

The main new feature compared with 4.2 is multibyte support. This is
only enabled by default on some machines (most recent PC Unix-like
targets in particular). Reports on other machines where it works (or
compiles but doesn't work) when you explicitly supply --enable-multibyte
to configure would be useful.

The documentation package for 4.3 contains a PDF file instead of a
PostScript file. This should be easier to browse.
323名無しさん@お腹いっぱい。:2005/12/10(土) 23:36:06
4.3.0-dev-2 試してみたけど、ふつーに、euc-jp 使えたよ。
324名無しさん@お腹いっぱい。:2005/12/11(日) 22:09:28
>>311 みたいに preexec で ${1[1,255]} とか
$1 を添字つきで使うと
history -D で出る elapsed times が 0:00 になってしまう。
ナンダコレ。
325名無しさん@お腹いっぱい。:2005/12/20(火) 15:25:16
~/.zshrc に以下のように書いてプロンプトの先頭からタブを何回か打ち,
次の行まで行ったあと Ctrl-a を打っても先頭までもどらず,
プロンプトの終わりからカーソルまで空間ができてしまいます.
colors を使わなければ正常なのですが,
colors を使うと上のようになってしまうのはなぜでしょうか?

autoload -U colors; colors
PROMPT="$fg[cyan]%n@%m$reset_color $"
326名無しさん@お腹いっぱい。:2005/12/20(火) 23:44:20
>>325
colorsを使わず直接エスケープシーケンスを入れて回避することにしました
327名無しさん@お腹いっぱい。:2005/12/22(木) 12:15:41
zshrc に export RED=$'%{\e[1;31m%}' とか書いてると
export を実行した時の出力にも色が付いて見にくいです

RED='%{%}' <2個めの%以降が赤
SHELL=/bin/zsh <全部赤
SHLVL=2 <全部赤

何か回避策はありませんか
328名無しさん@お腹いっぱい。:2005/12/22(木) 13:23:36
export しなきゃいけないの? (shell 変数じゃ駄目?)

あとは RED でなく
COLOR_{R,G,B,C,M,Y,...} みたいにして
COLOR_ZZ 辺りに戻すシーケンスを入れておく

おいらのは
CLbgK='\033[0;40m'
...
CLfgWb='\033[1;37m'
CLreset='\033[0m' (←alphabet order で最後に来るようになってる)
329名無しさん@お腹いっぱい。:2005/12/22(木) 13:54:19
>>328
> export しなきゃいけないの?
うわあぁ export じゃなく local にして解決しました
アホでした
330名無しさん@お腹いっぱい。:2005/12/22(木) 14:04:20
あとは >328 みてもらえれば分かるけど
shell script で使いたいだけなら echo したときに
初めて esc として評価されるような書き方をしておくと
set で出るときには色はつかない。
331名無しさん@お腹いっぱい。:2005/12/24(土) 05:01:48
>>325
PROMPT="%{$fg[cyan]%}%n@%m%{$reset_color%} $"

が正しいのでは。
332名無しさん@お腹いっぱい。:2005/12/26(月) 14:26:58
>>331
それでうまくいきました.
エスケープ文字でカーソル位置を変えないようにするには
%{...%} でくくっとかないといけないんですね.
333名無しさん@お腹いっぱい。:2005/12/27(火) 11:18:22
文字列でエスケープ文字を直接入力以外で表現する方法ある?
echoに渡すなら\eとか\033とか使えるけど、PROMPTに使いたいんだよね。
334名無しさん@お腹いっぱい。:2005/12/27(火) 16:22:58
PROMPT="..$(echo \e)..."
という感じでechoの結果を埋め込むっていうのはどう?
335333:2005/12/27(火) 17:56:55
よく読んだら前のレスにヒントがあった。$'...\e...'とすればいいのね。
先達よありがとう。
336名無しさん@お腹いっぱい。:2005/12/28(水) 01:55:39
ユーザがコマンドとして使うことを意図しない関数の命名法って
決まっているのでしょうか?
_で始まるのは補完用みたいですが……。
337名無しさん@お腹いっぱい。:2005/12/30(金) 04:11:03
クリスマスって 1月6日までか?
338名無しさん@お腹いっぱい。:2006/01/08(日) 23:52:37
zsh 4.3.0-dev-2使ってみたけど、EUCも一文字として扱ってくれる。
339名無しさん@お腹いっぱい。:2006/01/09(月) 09:10:16
あんまり関係ないけどこんなのどうですか?

i=0
PROMPT='%U$USER%{^[[$[31+(i/3)%6]m%}@%{^[[m%}%U%m%#%u '
RPROMPT='%U%{^[[$[31+(i++/3)%6]m%} %~ %{^[[m%}'
340名無しさん@お腹いっぱい。:2006/01/09(月) 09:39:06
既に起動してる状態で$PROMPTとかを変えるってどうするの?
なんか反映されないのだけど
341名無しさん@お腹いっぱい。:2006/01/09(月) 09:55:05
.zshrc で変えていること自体 "起動している状態" で変えているわけだが
342名無しさん@お腹いっぱい。:2006/01/09(月) 11:47:23
それはとにかく変わんないんだもん
343名無しさん@お腹いっぱい。:2006/01/09(月) 13:08:39
% PROMPT=hogehoge
344名無しさん@お腹いっぱい。:2006/01/09(月) 13:49:20
反映されないよ。俺の環境変なのかな。
345名無しさん@お腹いっぱい。:2006/01/09(月) 13:51:00
実は zsh 使ってないだろ?
346名無しさん@お腹いっぱい。:2006/01/09(月) 13:58:03
ごめん。precmdで毎回更新してたorz
347名無しさん@お腹いっぱい。:2006/01/09(月) 14:45:12
>>346
precmdで何してる?
348名無しさん@お腹いっぱい。:2006/01/09(月) 15:38:44
if [ $? = 0 ] ; then
PROMPT="%{^[[34m%}%m:%{^[[m%}%(1j.%{^[[31m%}%j:%{^[[m%}.)%{^[[35m%}%.%# %{^[[m%}"
RPROMPT="%{^[[35m%}%~%{^[[m%} %{^[[36m%}%T%{^[[m%}"
else
PROMPT="%{^[[34;07m%}%m:%{^[[m%}%(1j.%{^[[31;07m%}%j:%{^[[m%}.)%{^[[35;07m%}%.%# %{^[[m%}"
RPROMPT="%{^[[35;07m%}%~%{^[[m%} %{^[[36;07m%}%T%{^[[m%}"
fi
}
こんなこと
349名無しさん@お腹いっぱい。:2006/01/09(月) 18:20:06
っ%(?.foo.bar)
350名無しさん@お腹いっぱい。:2006/01/09(月) 19:47:19
>>349
試してみたけど、$?が0の時に駄目みたい
351名無しさん@お腹いっぱい。:2006/01/09(月) 20:12:55
あ、そういうことか
352名無しさん@お腹いっぱい。:2006/01/09(月) 20:20:51
PROMPT='%{^[[34%(?..;07)m%}%m:%{^[[m%}%(1j.%{^[[31%(?..;07)m%}%j:%{^[[m%}.)%{^[[35%(?..;07)m%}%.%# %{^[[m%}'
RPROMPT="%{^[[35%(?..;07)m%}%~%{^[[m%} %{^[[36%(?..;07)m%}%T%{^[[m%}"
こうなるというわけね。
プロンプトなんて久々にいじったから手間取った。
353名無しさん@お腹いっぱい。:2006/01/09(月) 20:37:47
>>348
setopt printexitvalueは知ってる? 知ってるならいいけど。
354名無しさん@お腹いっぱい。:2006/01/09(月) 23:25:17
>>353
今初めて知ったけど視認性高めたいので両方使う事にするよ。
355名無しさん@お腹いっぱい。:2006/01/11(水) 00:05:23
4.3.0-dev-2にしてから
% echo -n hoge
hoge%
%
のように出力のあとに青い%が出るようになった。バグ?
356名無しさん@お腹いっぱい。:2006/01/11(水) 00:21:59
>>355
(゚Д゚)ハァ?
357名無しさん@お腹いっぱい。:2006/01/11(水) 21:09:13
4.3.0-dev-2だけど、aliasの-sが効かなくなってる。
358名無しさん@お腹いっぱい。:2006/01/11(水) 22:35:47
そうですか。
359名無しさん@お腹いっぱい。:2006/01/12(木) 16:45:12
>>355
呪い
360名無しさん@お腹いっぱい。:2006/01/13(金) 16:35:14
そうですか。
361名無しさん@お腹いっぱい。:2006/01/14(土) 01:18:06
ttp://d.hatena.ne.jp/secondlife/20060108/1136650653
ここにある
zsh + screen で端末に表示されてる文字列を補完する

compadd - "${reply[@]%[*/=@|]}"
って何やっているのですか?
362名無しさん@お腹いっぱい。:2006/01/14(土) 02:47:28
つ gdb
363名無しさん@お腹いっぱい。:2006/01/14(土) 08:59:49
>>361
それは自分がパート2で書いたのが下敷きになっているようだね。
ttp://makimo.to:8000/2ch/pc3_unix/1036/1036324177.html#816

> って何やっているのですか?
ls や zsh の補完リストで、ファイル名にファイルの種別を表すサフィックスが
ついてることが多いので、それを削除したのを補完候補としている。

そのレスを書いてから、2、3回手を入れて今はこんな感じ。
# dabbrev complete for zsh
HARDCOPYFILE=$HOME/tmp/screen-hardcopy
touch $HARDCOPYFILE

screen-dabbrev-complete () {
    setopt localoptions extendedglob
    local reply lines=1000
    local hp="([\'\"])##" tp="([*/=@|:\'\",)])##"

    screen -X eval "hardcopy $HARDCOPYFILE"
#   screen -X eval "hardcopy -h $HARDCOPYFILE" # scrollback buffer の内容も含む場合
    reply=($(sed '/^$/d' $HARDCOPYFILE | tr ${WORDCHARS//[._-]/} ' ' | sed  '$ d' | tail -$lines))
    compadd -M 'm:{a-z-}={A-Z_}' - ${${${${reply[@]##${~hp}}%%${~tp}}://(?|??)}}
}

zle -C screen-dabbrev-complete menu-complete screen-dabbrev-complete
#bindkey '^[/'  screen-dabbrev-complete
bindkey '^[^_'  screen-dabbrev-complete
364名無しさん@お腹いっぱい。:2006/01/14(土) 09:31:33
つづき。 _history-complete-{newer,older}のデフォルトの割当てと衝突するので
変えたのだが、使っていて混乱することがある。元に戻した方がいいか。

正直なところ、解読不能になってしまって最初の頃で止めておけばよかったと思う。
1週間に1回使えばいい方だが、使いたいときにちゃんと動いてくれると嬉しい。
が、意図する補完になってくれないことが増えたような。最後に手を入れた変更と
キー割当ての混乱が原因かな。
365名無しさん@お腹いっぱい。:2006/01/15(日) 14:23:37
FreeBSD で acroread7 + zsh のときに
% acroread [TAB]
_acroread:7: no such file or directory: /usr/local/bin/acroread[ブッ]
と怒られます。

めんどうなんで↓こんな力業をかましてしまいましたが、
ヨイコの皆様はどう対処されているのでしょうか?

366365:2006/01/15(日) 14:24:29
--- /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread.dist Sun Jan 15 13:52:52 2006
+++ /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread Sun Jan 15 14:19:03 2006
@@ -4,15 +4,16 @@

# Try extracting the version number directly from the executable.
# (This will fail if the executable is a wrapper script for acroread.)
-local ver=${${${(f)"$(<$commands[$words[1]])"}:#^ver=*}##ver=}
-[[ -n $ver ]] && _acroread_version=$ver
+#local ver=${${${(f)"$(<$commands[$words[1]])"}:#^ver=*}##ver=}
+#[[ -n $ver ]] && _acroread_version=$ver

-if (( ! $+_acroread_version )); then
- local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]}
- _acroread_version=${${${(f)"$(<$acropath)"}:#^ver=*}##ver=}
-fi
+#if (( ! $+_acroread_version )); then
+# local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]}
+# _acroread_version=${${${(f)"$(<$acropath)"}:#^ver=*}##ver=}
+#fi

-if [[ $_acroread_version == 7.* ]]; then
+#if [[ $_acroread_version == 7.* ]]; then
+if true; then
_arguments -C \
'--display=:X display:_x_display' \
'--screen=:X screen (overrides the screen part of DISPLAY)' \
367名無しさん@お腹いっぱい。:2006/01/15(日) 15:51:15
俺はこれを挿入。以前のバージョンにこのオプションがあったかどうか
知らないが、どうせそんなの使うことはないだろうからいいやと。
if (( ! $+_acroread_version )); then
_acroread_version=$($words[1] -version 2>/dev/null)
fi

ところで、globを変数展開等とあわせて同時にやる方法ってないですかね。
すぐにはあまりいい例が浮かばないですが、たとえば
files=(*.c(.N))
files=(${files%.c})
を一旦変数へ代入することなく一行で書きたい。
368名無しさん@お腹いっぱい。:2006/01/15(日) 19:52:14
>>365
compdef -d acroread
369名無しさん@お腹いっぱい。:2006/01/17(火) 04:20:54
>ttp://d.hatena.ne.jp/secondlife/20060108/1136650653
なんというか、出典を示さず自分で考えたみたいに書く奴って最低だよね。
370名無しさん@お腹いっぱい。:2006/01/17(火) 04:59:13
キモ
371名無しさん@お腹いっぱい。:2006/01/17(火) 10:17:04
>>369
くわしく
372名無しさん@お腹いっぱい。:2006/01/17(火) 21:07:13
age
373名無しさん@お腹いっぱい。:2006/01/18(水) 05:13:12
> とvimrc diaryに書かれてたので

て書いてあるじゃん
374名無しさん@お腹いっぱい。:2006/01/18(水) 06:04:26
それは要望がじゃなくて?
375名無しさん@お腹いっぱい。:2006/01/18(水) 06:12:10
>>373
国語力乏しすぎ
376名無しさん@お腹いっぱい。:2006/01/18(水) 15:43:45
cdするとき、ほかのユーザーの
ホームディレクトリが補完候補にあがってしまうんだが、
どうやったら補完しないようになるかわかります?

たとえば、自分以外にhogeさんがいるとすると、
cd hoge
ってやると、今どこにいても~hogeにcdできちゃうんだけど。。。
377名無しさん@お腹いっぱい。:2006/01/18(水) 17:26:06
>>376
補完されなかったが。
378名無しさん@お腹いっぱい。:2006/01/18(水) 17:39:21
unsetopt CDABLE_VARS
379376:2006/01/19(木) 17:40:49
thx

どっかのサイトからコピペってるうちに怪しい設定が大量に入り込んでたみたいデス
これで快適なzshライフが遅れそう
ありがとうございますた
380名無しさん@お腹いっぱい。:2006/01/21(土) 01:41:48
skkの動的補完が便利なので、zshも動的補完してくれないかなーと
思う。
381名無しさん@お腹いっぱい。:2006/01/21(土) 01:47:27
skkは使ってるけどzshでやられたらウザそう
382名無しさん@お腹いっぱい。:2006/01/22(日) 00:23:15
まあ、切れれば無問題
383名無しさん@お腹いっぱい。:2006/01/22(日) 22:57:40
>>380
predict-on じゃなくて?
384名無しさん@お腹いっぱい。:2006/01/22(日) 23:05:48
>>365
それってこういう状況?

% where acroread
/usr/X11R6/bin/acroread
% echo $commands[acroread]
/usr/local/bin/acroread

/usr/local/bin/acroread は参照先のない
シンボリックリンクのようだけど、
これを消せばまあ動くかな。(試してない)
where の結果と commands の内容が違ったりするんだね。
385名無しさん@お腹いっぱい。:2006/01/22(日) 23:58:39
>>367
うーん。
files=(*.c(.N:s/.c/))
だと末尾の一致がないから、
files=(${$(echo *.c(.N))%.c})
とかかな。echo を消したい。
386名無しさん@お腹いっぱい。:2006/01/23(月) 01:48:09
>>385
echoとか使っちゃうと途端に空白だとか何だとかの問題が入ってきちゃうんで、
zsh内の各種展開のみで済ませたいんですよねえ。
で、globも変数展開もあわせて一発で書きたいなと。
いまんとこ次善の策として>>367のように2行書いてるわけですが、
一発で書ければ変数を導入しなくてよくなる場合もあるので。
387名無しさん@お腹いっぱい。:2006/01/23(月) 08:38:32
一般的な方法はないんじゃないかな。やりたい内容によっては修飾子や
何やらで済ませられるけど。>>367のような単純な例だと、files=(*.c(.N:r)) でも
いいだろうし。globbing の展開は最後だから、変数展開を後にしたいとすると
結局多段にするのが簡単ということになりそう。
388365:2006/01/23(月) 10:00:36
>384
いや 両方とも /usr/X11R6/bin/acroread な状況です。
深く考えずに zsh を portupgrade で 4.2.6 にしたら
こんななりましたです。

ただ/usr/local/bin/acroread@ は参照先消えた状態で存在したので
消した上で /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread を
元に戻してみたらやっぱりこんななりました。
% acroread [TAB]
_acroread:12: no such file or directory:

まあおいらには >368 みたいな対処がいいのかもしんないけど
389名無しさん@お腹いっぱい。:2006/01/23(月) 18:26:32
>>387
やっぱそうですか。ありがとう。
390名無しさん@お腹いっぱい。:2006/01/23(月) 22:47:42
>>388
/usr/X11R6/bin/acroread って acroread5 じゃないので?
391名無しさん@お腹いっぱい。:2006/01/27(金) 23:20:48
cat hoge.txt | sed > tmp.txt
mv tmp.txt hoge.txt

というのを、zsh なら、
cat hoge.txt | sed > hoge.txt
的に、tmp.txt を必要なしにできたような気がするんだけど、勘違い?
あったような気がするんだけど、みつからねえぇ。
392名無しさん@お腹いっぱい。:2006/01/27(金) 23:41:15
>>391
( rm hoge.txt; sed > hoge.txt ) < hoge.txt
393名無しさん@お腹いっぱい。:2006/01/27(金) 23:52:24
cp =(cat hoge.txt | sed) hoge.txt
394名無しさん@お腹いっぱい。:2006/01/28(土) 10:33:11
なんか怖くない?
395名無しさん@お腹いっぱい。:2006/01/28(土) 13:16:27
zshじゃなくても

cat << __EOF___ | ed hogehoge.txt
edなこまんど
 :
__EOF__
396名無しさん@お腹いっぱい。:2006/01/28(土) 16:06:41
それ、catの意味あるのかよ。

397名無しさん@お腹いっぱい。:2006/01/28(土) 17:03:40
ナイスつっこみ
398名無しさん@お腹いっぱい。:2006/01/29(日) 15:24:34
screenを使っているんですが
^sで分割したいんですが
zshのインクリメンタルサーチが始まってしまいます。
このキーバインドを無効にするにはどうしたらいいですか?
399名無しさん@お腹いっぱい。:2006/01/29(日) 15:45:58
bindkey '^s' undefined-key
400名無しさん@お腹いっぱい。:2006/01/29(日) 17:46:40
>>398
zshがscreenのキー入力を食うはずがないのだが。
401名無しさん@お腹いっぱい。:2006/01/30(月) 19:12:35
んだ
402名無しさん@お腹いっぱい。:2006/02/02(木) 03:51:18
今日CVSから最新のzshとってきてmakeしたんだけど

: yodl -o zsh.texi -I. -w ztexi.yo version.yo zsh.yo; \
test -f zsh.texi
make[1]: *** [zsh.texi] Error 1
make: *** [all] Error 1

とか言われちゃいます。zsh.texiなんてソースの中に無いみたいだけど…

OSX10.4.4
texinfo 4.7
403名無しさん@お腹いっぱい。:2006/02/02(木) 05:38:50
そりゃあyodlで生成しているから
404名無しさん@お腹いっぱい。:2006/02/04(土) 11:06:28
zsh -c "hoge|moge" とかするとき、aliasは使えないんですかね
405272:2006/02/04(土) 11:25:17
>>404
$ZDOTDIR/.zshenvにaliasを書いちゃう
406名無しさん@お腹いっぱい。:2006/02/04(土) 13:33:34
どうもです
407名無しさん@お腹いっぱい。:2006/02/07(火) 20:53:47
(I meant to send this yesterday, but got sidetracked, so this is already
out of date.)

I uploaded 4.3.0-dev-3 to the pub/development directory of
ftp.zsh.org. This fixes a few odd things in multibyte mode and there
are the usual completion function tweaks. It's now possible to define a
ZLE hook function zle-keymap-select to run when $KEYMAP changes. One
minor incompatibility is that the shell no longer sets HOME itself if it
wasn't in the environment (which it usually is). [In the next version
we'll continue to set HOME unconditionally in native zsh emulation.]

It's probably in a pretty fit state to be released as 4.3.1 now.

--
Peter Stephenson <[email protected]> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070


To access the latest news from CSR copy this link into a web browser: http://www.csr.com/email_sig.php

408名無しさん@お腹いっぱい。:2006/02/17(金) 05:59:48
4.3.1 がでそう
409名無しさん@お腹いっぱい。:2006/02/20(月) 23:23:23
白い液もでそう
410名無しさん@お腹いっぱい。:2006/02/21(火) 00:02:27
母乳ですか。
そうですか。
411名無しさん@お腹いっぱい。:2006/02/25(土) 01:30:36
変色します
412名無しさん@お腹いっぱい。:2006/02/28(火) 22:11:10
I've uploaded

ftp://ftp.zsh.org/pub/zsh-4.3.1.tar.gz
ftp://ftp.zsh.org/pub/zsh-4.3.1.tar.bz2
ftp://ftp.zsh.org/pub/zsh-4.3.1-doc.tar.gz
ftp://ftp.zsh.org/pub/zsh-4.3.1-doc.tar.bz2

Please try this out on as many systems as possible as soon as you get a
chance; if there are any significant problems I'll produce a 4.3.2.
This is very little changed from 4.3.0-dev-5, so there shouldn't be any.
If it looks OK I'll make the appropriate arrangements at Sourceforge and
Freshmeat (please feel free to pass the message on elsewhere; I don't
use comp.unix.shell or Slashdot myself).

Thank you to everyone who helped.

The release announcement currently looks like:

This version contains initial support for multibyte characters in the
shell's line editor (in particular UTF-8, although any character set
supported by the system library is usable). Please read the appropriate
sections of the file INSTALL as this support is not turned on by default
on all systems where it can be used. The release also contains a few
enhancements to shell syntax and supplied functions as well as numerous
bug fixes. See the file NEWS for more detail. There are only a few
unavoidable incompatibilities with previous versions, mostly to enhance
compatibility with other shells and standards; see the README file.
413名無しさん@お腹いっぱい。:2006/03/01(水) 01:40:08
zsh 4.3.1でeuc patchがあたらないのだが、
patch当てないでmultibyte supportってまともに動く?
414名無しさん@お腹いっぱい。:2006/03/01(水) 03:03:15
普通に動く
プロンプトが削れていくバグも無い
415名無しさん@お腹いっぱい。:2006/03/01(水) 15:49:32
>>414
OSは?
416名無しさん@お腹いっぱい。:2006/03/01(水) 16:00:39
multibyteってコンパイル時以外に何か設定いる?
417名無しさん@お腹いっぱい。:2006/03/01(水) 17:31:32
>>416
LC_CTYPE
418名無しさん@お腹いっぱい。:2006/03/03(金) 03:09:51
.2
419名無しさん@お腹いっぱい。:2006/03/06(月) 20:20:39
4.3.2に上げたらUTF-8な端末上で日本語入力しても化けなくなった。
420名無しさん@お腹いっぱい。:2006/03/06(月) 20:57:33
>>419
Linuxユーザでしょ
421名無しさん@お腹いっぱい。:2006/03/06(月) 21:11:34
やっぱそうか・・・
422名無しさん@お腹いっぱい。:2006/03/06(月) 21:22:44
Mac OS X だけど化けない。嬉しい。
423名無しさん@お腹いっぱい。:2006/03/06(月) 21:41:22
utf8ですか?
424名無しさん@お腹いっぱい。:2006/03/07(火) 03:31:22
4.3 になったらマルチバイトのあつかいがうまくなった
425名無しさん@お腹いっぱい。:2006/03/07(火) 03:56:59
zsh-4.3.2 -f
bindkey -e
で delete おすと ~ が入力される
quoted-insert だと ^[[3~
bindkey '^[[3~' delete-char で望んだ動作になるんだけど
なにが悪いのかな?
426名無しさん@お腹いっぱい。:2006/03/07(火) 14:41:04
どちらか
o デフォルトのemacsキーバインドはDELキーに何も割りあてられていない
o TERMが正しくない
427名無しさん@お腹いっぱい。:2006/03/07(火) 15:24:55
ああ、pantherダメなんだ
428名無しさん@お腹いっぱい。:2006/03/10(金) 05:57:10
おお、いつのまに。freebsd ports にこねーなあ。
429名無しさん@お腹いっぱい。:2006/03/11(土) 11:34:00
おれも ports 待ち
430名無しさん@お腹いっぱい。:2006/03/11(土) 13:28:49
freeze
431名無しさん@お腹いっぱい。:2006/03/11(土) 18:10:37
cygwin版マダー
432名無しさん@お腹いっぱい。:2006/03/11(土) 19:08:10
いつの間にか日本語文字のカーソル移動が
きちんと二バイト単位でできるようになってるよ。
433名無しさん@お腹いっぱい。:2006/03/12(日) 00:12:04
4.3.1、4.3.2と試してみたけど表示とかカーソル移動は問題無し。
が、"第1話.avi"とかなファイルを"?1?.avi"とかで指定できなかった。
環境はLinux(Gentoo)、LANG系は全部ja_JP.UTF-8。
434名無しさん@お腹いっぱい。:2006/03/12(日) 01:12:02
「第1話」は
「??1??」でマッチするね。
435名無しさん@お腹いっぱい。:2006/03/16(木) 18:31:05
誰かfish(friendly interactive shell)って使ったことある人いる?
なんかちょっとすごそう。かも?
436名無しさん@お腹いっぱい。:2006/03/16(木) 20:45:13
少し前に試用してみたことはある。
良かった点は動的に色をつけてけっこう綺麗なことかな。

一方、
・コンソールの取り回しが重かった
・構文規則が bourne shell 系でも csh 系でもない独自なもので覚えるのが面倒だった
・細かいチューンの方法がよくわからなかった

という理由で利用を断念した。

まあ zsh がわかりやすいわけではないけれど、今はもう設定しちゃってるしね。
「設定が諸悪の根源」という思想もまあわかるんだけど、そのわりに標準がと
ても使いやすいというわけじゃないし、補完系の設定を見てみたらとても複雑
だったし、理念に実装が追い付いていないなーという感じ。

437名無しさん@お腹いっぱい。:2006/03/16(木) 21:26:35
>>437
確かに。
>・構文規則が bourne shell 系でも csh 系でもない独自なもので覚えるのが面倒だった
>・細かいチューンの方法がよくわからなかった
使ってて似たようなことさっき思った。w
うーんやっぱzsh越える用なのってそうそう出てこいわな。

438名無しさん@お腹いっぱい。:2006/03/18(土) 22:22:56
取り敢えず名前から困るからな。繰り上がって aash とか。
439名無しさん@お腹いっぱい。:2006/03/19(日) 07:22:01
っzzsh
440名無しさん@お腹いっぱい。:2006/03/19(日) 08:17:11
shzzじゃないの
441名無しさん@お腹いっぱい。:2006/03/19(日) 16:05:54
bush
442名無しさん@お腹いっぱい。:2006/03/22(水) 21:57:35
for i in a b c d e ; do ; command $i ; done
をよくやるんだが、zshならもっと簡単にやる方法あったりしない?
443名無しさん@お腹いっぱい。:2006/03/22(水) 22:32:46
ないんじゃないかな。数字だったら{x..y}でいいんだけど。
せいぜいdo, doneを省くくらい。
444名無しさん@お腹いっぱい。:2006/03/23(木) 00:08:23
そういうスクリプト作ったら?
445名無しさん@お腹いっぱい。:2006/03/23(木) 02:35:37
perlなスクリプト
perl hoge.pl a zで、aからzまででる
perl hoge.pl g oならgからoまで

#!/usr/bin/perl
for($i=ord($ARGV[0]);$i<=ord($ARGV[1]);$i++){print chr($i),"¥n";}
446名無しさん@お腹いっぱい。:2006/03/23(木) 13:36:59
jot -c 5 a
447名無しさん@お腹いっぱい。:2006/03/24(金) 07:19:52
setopt BRACE_CCL の下だと {a-e} で a b c d e を生成できる。

あと、自分はこんな関数を定義していて偶に使う。
function each () {
    for i in "$@[1,-2]"; do
        eval $@[-1] ${(qq)i}
    done
}

command は内部コマンドにあるから名前を変えるが、>>442の例だと
each {a-e} command1
みたいなかんじに。
448名無しさん@お腹いっぱい。:2006/03/25(土) 09:37:04
スレ違いだけど
each func arg1 arg2 ...
の方が直感的と思ったオレは lisper ?
449名無しさん@お腹いっぱい。:2006/03/25(土) 10:48:26
>>448
lisperならeachじゃなくてmapの方が直観的と思うハズだ。
450名無しさん@お腹いっぱい。:2006/03/25(土) 10:49:28
と思ったがschemeならfor-eachか。
451名無しさん@お腹いっぱい。:2006/03/26(日) 00:35:54
カリー化マンセー
452名無しさん@お腹いっぱい。:2006/03/26(日) 18:19:02
autocdくらいしか変更してないけど快適。
453名無しさん@お腹いっぱい。:2006/03/28(火) 04:59:32
>>451
Haskell?
454名無しさん@お腹いっぱい。:2006/03/28(火) 23:20:07
perl -le 'print for (a .. d)'
455名無しさん@お腹いっぱい。:2006/04/09(日) 17:17:32
>>442
bash ならもっと簡単にやる方法あるよ:
bash -c 'for i in {a..e} ; do ; command $i ; done'
456名無しさん@お腹いっぱい。:2006/04/09(日) 17:56:03
>>455
それはbash3と断るべきだな。現状まだbash2の方が多いし、bash2ではできない。

それより、zshは {1..5}は展開できるのに、{a..e}が展開できないのってなんか中途半端。
457名無しさん@お腹いっぱい。:2006/04/09(日) 18:09:41
すまん、純粋な好奇心で聞くのだが、 bash3 では {aa..zz}とかみたいなこと
は出来るの?
あるいは {a..aa} とかはどうなるの?

一文字限定でもあった方が便利ではあるだろうが。
458名無しさん@お腹いっぱい。:2006/04/09(日) 23:49:01
bash のスレで聞いたら?
459名無しさん@お腹いっぱい。:2006/04/09(日) 23:55:17
>>457
できないよ
460名無しさん@お腹いっぱい。:2006/04/14(金) 21:37:30
ttp://www.freedesktop.org/wiki/Software/BadSoftware

そろそろここのリストから消えそうだね
461名無しさん@お腹いっぱい。:2006/04/16(日) 10:42:22
>最終更新日時 2005-08-12 22:30:57
462名無しさん@お腹いっぱい。:2006/04/19(水) 20:05:10
4.3系は日本語入力可能だね
463名無しさん@お腹いっぱい。:2006/04/19(水) 21:03:10
portsにはまだこないの?
464名無しさん@お腹いっぱい。:2006/04/20(木) 02:27:27
portsってことはBSD系だよね?unstable版とかって選べないの?
ちなみにソースなら ttp://www.zsh.org/pub/ ここにあるよ
465名無しさん@お腹いっぱい。:2006/04/21(金) 03:44:27
portsがunstable版だもの
466名無しさん@お腹いっぱい。:2006/04/23(日) 19:15:09
Ports tree unfrozen はとっくにしてるんだよねえ。
467名無しさん@お腹いっぱい。:2006/04/23(日) 20:20:34
なかなかアップデートされないportsはパッチを作ってsend-prで
送りつけてやるのがいいよ。
468名無しさん@お腹いっぱい。:2006/04/25(火) 13:16:33
ports まだ?
469名無しさん@お腹いっぱい。:2006/04/25(火) 21:54:38
早く送りつけろよ
470名無しさん@お腹いっぱい。:2006/04/25(火) 22:43:20
ってか send-pr されてるじゃん。自分で作って損した。
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/95970

471名無しさん@お腹いっぱい。:2006/05/01(月) 16:58:29
>>470
472名無しさん@お腹いっぱい。:2006/05/01(月) 17:26:55
ports きた。 4.3.2
473名無しさん@お腹いっぱい。:2006/06/03(土) 18:44:04
cygwin の package にはこないんかのう。sjis が扱えるとウハウハなんじゃが。ま、いま cygwin つかってないけど。
474名無しさん@お腹いっぱい。:2006/06/09(金) 22:32:03
すべてのコマンドで実行時間(sys,real)を表示するにはどうしたらいいのでしょう?
precmd内から何らかの方法で値を取得し表示できるのが理想なのですが…。

すべてのコマンドにtime -o /tmp/hogeを頭につけてそれを取得する、という方法でも結構です。

REPORTTIME=0にTIMEFMTだと出ないときがあるので何とかしたいのです。
475sage:2006/06/10(土) 03:55:58
accouting を on にすれば? man acct
476名無しさん@お腹いっぱい。:2006/06/21(水) 02:35:14
なんかzsh 4.3.2でacroreadの補完がおかしくなったんだけど俺だけ?
477名無しさん@お腹いっぱい。:2006/06/21(水) 14:18:03
おなじく acroread おかしい。補完しようとするとなんかごちゃごちゃ出てきて,
_acroread:12: no such file or directory: Gtk-WARNING
とか言われる。tcsh では問題ないのに。
478名無しさん@お腹いっぱい。:2006/06/21(水) 14:31:53
4.3.2 というか、 acroread の 7.x のときに上手く動かないっつー問題。
いつになったら直るのかなあ。

>>365-368 あたりを読んでみ。
479476:2006/06/21(水) 17:55:28
それとは別件。なぜか別のシェルを上げたら使えたので
何か変なsetoptでも知らないうちにしちゃったのかも。
それが影響するcompletion関数というのも勘弁だけど。
480名無しさん@お腹いっぱい。:2006/07/12(水) 16:20:40
すみません質問があるのですが、以下のようにして ls の結果を less にパイプして
表示するようにしたいのですが、以下のやり方だと引数を入れたとき引数が less の
引数として認識されてしまい、ls の引数として認識させることができません。

alias -g L='| /usr/local/bin/jless'
alias ls="ls -alG L"


csh 等では以下のようにして同等の機能を持たせられるので、zsh でも同じこと
はできると思うのですが、やり方を知っている方がおられましたら教えていただけないでしょうか?

ls [オプション] [ファイル名] | less -e
alias ls "/bin/ls \!* | less -e"
481名無しさん@お腹いっぱい。:2006/07/12(水) 16:43:09
ls() { /bin/ls ${1+"$@"} | less -e }
482名無しさん@お腹いっぱい。:2006/07/12(水) 16:51:43
>>481
いまどき ${1+"$@"} なんてしなくても "$@" で桶。
483名無しさん@お腹いっぱい。:2006/07/12(水) 16:58:57
そうなの?
484名無しさん@お腹いっぱい。:2006/07/12(水) 21:33:38
そうよ
485名無しさん@お腹いっぱい。:2006/07/12(水) 23:46:50
いまどきもなにも、このスレに書くってことはzsh限定でしょ。"$@"すら$*でよいのでは。

486480:2006/07/13(木) 01:17:09
>>481
そのように設定をし、ちゃんと動作することを確認いたしました。
質問にお答えいただき、どうもありがとうございます。
487名無しさん@お腹いっぱい。:2006/07/15(土) 23:09:45
bindkey -v
を使っているんですが、
emacs bindでいうところの、再帰履歴検索がやりたくて、

bindkey "^R" history-incremental-search-backward
bindkey "^S" history-incremental-search-forward

と書いたのですが、Ctl-Rは効くのですが、Ctl-Sが効きません。
何故ダメなのかを教えてください。

もしくは、他の方法でもいいので、
bindkey -v の状態で、再帰履歴検索をやる方法を教えてください。
488名無しさん@お腹いっぱい。:2006/07/15(土) 23:37:43
489名無しさん@お腹いっぱい。:2006/07/16(日) 00:18:19
ビンゴです!
どうもありがとうございました。
490名無しさん@お腹いっぱい。:2006/08/03(木) 00:16:10
インクリメンタル検索って再帰履歴検索っていうんだ
初めて知ったかも
491名無しさん@お腹いっぱい。:2006/08/03(木) 07:35:22
どこの用法だよその謎訳語
492名無しさん@お腹いっぱい。:2006/08/03(木) 19:21:26
"再帰履歴検索" の検索結果 1 件中 1 - 1 件目 (0.29 秒)

このスレしかヒットしねぇ('A`)
493名無しさん@お腹いっぱい。:2006/08/06(日) 02:36:57
再帰履歴検索 で検索した結果 1〜10件目 / 約54,800件 - 0.46秒

ahooクオリティ(・∀・)
494名無しさん@お腹いっぱい。:2006/08/07(月) 00:10:45
timeコマンドの出力をリダイレクトでつかまえたい場合、どうすればいいんでしょうか?

% time hoge
とした時の、hogeコマンドの出力は /dev/null に、
timeコマンドの出力は >output などとしてファイルに出力したいのですが。

time hoge を実行するだけのシェルスクリプトを書いておけば、
以下のようにして望んだ結果を得られるのですけど。
% cat hoge.sh
time hoge
% ./hoge.sh >/dev/null 2> output
0.012
495名無しさん@お腹いっぱい。:2006/08/07(月) 00:43:47
(time hoge > /dev/null) 2> a
496494:2006/08/07(月) 03:43:48
おお!
なんかすごい基本的なことだったのかもしれませんが、ありがとうございます。
497名無しさん@お腹いっぱい。:2006/08/07(月) 16:47:31
time はコマンドじゃなくて予約語。
498名無しさん@お腹いっぱい。:2006/08/07(月) 19:57:51
( )じゃなくて{ }でもよかった
499名無しさん@お腹いっぱい。:2006/08/07(月) 22:11:10
GNUのtimeもきっと/usr/binあたりにあるでそ
500名無しさん@お腹いっぱい。:2006/08/09(水) 12:34:49
ない
501名無しさん@お腹いっぱい。:2006/08/09(水) 13:25:35
>>499
>>494 は GNU time の話ではない。
502名無しさん@お腹いっぱい。:2006/08/16(水) 01:03:00
http://lists.debian.or.jp/debian-users/200608/msg00104.html
日本語特有の設定ってある?
ロケールと print_eight_bit くらいだとおもうんだけど
503名無しさん@お腹いっぱい。:2006/08/16(水) 04:17:04
504名無しさん@お腹いっぱい。:2006/08/16(水) 08:36:54
ワロタ
505名無しさん@お腹いっぱい。:2006/08/16(水) 21:03:15
>>502
そいつは日本語特有の設定というより、
日本語で書かれた資料を切望しているように見えるんだが。
506名無しさん@お腹いっぱい。:2006/09/14(木) 00:24:17
cygwin版4.3.2キター
507名無しさん@お腹いっぱい。:2006/09/16(土) 02:36:00
まじでかぁあぁあ
でもいまcygwinいれらんね〜
508名無しさん@お腹いっぱい。:2006/09/25(月) 12:46:33
(bash 3.1.17)
$ bar=bar
$ echo ${bar/#/foo}
foobar
$ echo ${bar/%/foo}
barfoo

(zsh 4.3.2)
$ bar=bar
$ echo ${bar/#/foo}
foobar
$ echo ${bar/%/foo}
bar

どうして?バグ?
509名無しさん@お腹いっぱい。:2006/09/27(水) 13:27:58
zsh スレの過疎ぶりにワラタ

# グローバルエイリアスを my-expand-abbrev 用の連想配列 に追加する
# 注意:現状ではうまく動いているようだが、おかしくなっても知らない
function abbrev-with-global-aliases() {
local globals="$(alias -g|tr '=' ' ')"
local backup="$(alias -L)"
unalias -m '*'
eval 'myabbrev+=( '$globals' )'
eval $backup
}
abbrev-with-global-aliases
510名無しさん@お腹いっぱい。:2006/09/29(金) 09:02:55
これだけでよかった。死ね俺

# グローバルエイリアスを myaddrev に追加
myabbrev+=( ${==${(kv)galiases}} )
511名無しさん@お腹いっぱい。:2006/10/02(月) 21:26:17
生きろよ
512名無しさん@お腹いっぱい。:2006/10/05(木) 15:43:08
なにこの過疎スレ
513名無しさん@お腹いっぱい。:2006/10/08(日) 21:39:06
zshイイと思うけどなあ
bash+bash-completionじゃボロボロで使いモノにならんよ
Fedora Core 6ではzsh-4.3.2また見送りか
514名無しさん@お腹いっぱい。:2006/10/08(日) 22:09:14
今も昔もインストールすればいいだけ
515名無しさん@お腹いっぱい。:2006/10/09(月) 02:17:27
bashの中途半端振りはいつもいやになるな
% command >& log
すらできないし
はよ駆逐されてくれ
516名無しさん@お腹いっぱい。:2006/10/09(月) 02:35:46
>>515
zshが全部でデフォルトシェルにならない限り無理。

bashはbashでいいと思うけど。
zshと比較する気は無い。
517名無しさん@お腹いっぱい。:2006/10/14(土) 02:02:32
command.com = ミゼット
ash = ムーブ
csh = キューブ
ksh = マーチ
cmd.exe = フィット
tcsh = シビック
bash = カローラ
zsh = ステップワゴン
powershell.exe = ボンドカー
518名無しさん@お腹いっぱい。:2006/10/14(土) 10:31:09
zshはチューリング コンプリートですか?
519名無しさん@お腹いっぱい。:2006/10/14(土) 12:33:04
scshの評価もキボンヌ
520名無しさん@お腹いっぱい。:2006/10/14(土) 17:54:47
$(ls)などはexpand-or-completeで展開できますが
alias を展開することはできますか
521名無しさん@お腹いっぱい。:2006/10/14(土) 18:10:29
which
522名無しさん@お腹いっぱい。:2006/10/14(土) 19:54:00
global alias だとエラーメッセージにおきかえられてしまいます
global alias でも使える方法はありますか?
523名無しさん@お腹いっぱい。:2006/10/15(日) 21:41:19
"^Xa" is _expand_alias
524名無しさん@お腹いっぱい。:2006/10/16(月) 06:04:57
m(_________________________________)m
525名無しさん@お腹いっぱい。:2006/10/16(月) 16:40:22
平謝り
526名無しさん@お腹いっぱい。:2006/10/24(火) 16:35:29
bash = たろう
tcsh = はなこ
zsh = じろう
527名無しさん@お腹いっぱい。:2006/11/04(土) 15:43:13
zstyle ':completion:*:default' menu select true
の ^F, ^B, ^N, ^P での移動が
bindkey '^P' history-beginning-search-backward-end
bindkey '^N' history-beginning-search-forward-end
これを設定してるせいで ^N, ^P が履歴検索になってしまいます。
補完候補の選択時は履歴検索にならないようにする方法はありますか?
528名無しさん@お腹いっぱい。:2006/11/06(月) 04:32:14
>>527
なんか色々考えたけど、これが手っ取り早いかな。
bindkey -M menuselect '^P' up-line-or-history
bindkey -M menuselect '^N' down-line-or-history

ところで、マルチライン編集をする機会があるなら、
history-beginning-search-{backward,forward}-end よりも
{up,down}-line-or-beginning-search の方が便利だと思う。
529527:2006/11/08(水) 17:36:25
>>528
ありがとうございます。
しかし、「no such keymap `menuselect'」と出て上手くいきません…。
ちょっとマニュアル読んで調べてみます。
530527:2006/11/08(水) 18:19:03
zsh起動して
bindkey -M menuselect '^N' down-line-or-history
と、やると「no such keymap 'menuselect'」とエラーになってしまう。
だけど、いったん補完リストを出してからやると、ちゃんと設定できる。
何故だ…orz
531527:2006/11/08(水) 18:52:26
解決しました。
zmodload zsh/complist で先に読み込まなきゃいけないんですね。
>>528
>{up,down}-line-or-beginning-search の方が便利だと思う。
こっちの方が良さそうです。ありがとうございました。
532名無しさん@お腹いっぱい。:2006/11/11(土) 03:24:11
ちなみに俺はこうしてる

zmodload zsh/complist

bindkey -M menuselect "^V" forward-word
bindkey -M menuselect "^[<" beginning-of-history
bindkey -M menuselect "^[>" end-of-history
bindkey -M menuselect "^[v" backward-word
bindkey -M menuselect "^M" .accept-line

最後の行はなんで入れたか覚えてない
533名無しさん@お腹いっぱい。:2006/11/11(土) 14:35:43
俺はこうしてる

zmodload zsh/complist

bindkey -M menuselect '^n' down-line-or-history
bindkey -M menuselect '^p' up-line-or-history
bindkey -M menuselect '^o' accept-and-infer-next-history
534名無しさん@お腹いっぱい。:2006/11/23(木) 14:34:03
どんなコマンドを実行したときも自動的に標準出力のログ
をとってくれるような設定ってありませんか?
535名無しさん@お腹いっぱい。:2006/11/23(木) 14:45:25
>>534
man 1 script
man 1 tee
536名無しさん@お腹いっぱい。:2006/11/23(木) 14:46:52
>>534
script?
537名無しさん@お腹いっぱい。:2006/11/23(木) 14:59:13
makeした後とかで「teeしとけばよかった」と思うことがあるので、
どんなコマンドうったときも自動的にteeしてくれるようなものが
あるといいと思ったのですが、viとかを考えるとけっこう難しいですね。
scriptは常用するにはちょっとうざいです。
538名無しさん@お腹いっぱい。:2006/11/23(木) 15:05:35
>>537
kterm -sl 10000 とか???
スクロール保存行を多くとっておけばいいじゃん。

どーでもいいけど、質問は zshとどう関係あるんだよ??
539名無しさん@お腹いっぱい。:2006/11/23(木) 15:26:25
だから、loginしたときに自動でteeでもscriptでも走らせればいいじゃんって
ことじゃないの?
540名無しさん@お腹いっぱい。:2006/11/23(木) 15:30:19
teeだと viが使えなくなる。
scriptだと大げさ。知らずに使ってると巨大なファイルができるかも。

よって、今のところ kterm -sl 10000 が最適解か?
541名無しさん@お腹いっぱい。:2006/11/23(木) 15:38:38
screen 使っとけば?

# xscript (だっけ?) 思い出した。
542名無しさん@お腹いっぱい。:2006/11/24(金) 04:26:30
補完機能がすごいらしいしcsh系のへんなとこがないらしいので最近 chsh した初心者です。
まだ分からないことだらけですが、これからお世話になります。
こんな環境です。
FreeBSD 5.4-RELEASE-p6, X Window System Version 6.9.0, kterm: version 6.2.0.ext02

早速質問です。

mplayer についての記述が以下にありました。
/usr/local/share/zsh/4.3.2/functions/Completion/X/_mplayer
ここにmfilesの候補として*.flvがないため、入れたいのですが、
どこ(どのファイル)にどう記述するのが正しい方法ですか。

latex だと *.tex が補完の候補にあがりますが platex については記述がないみたいです。
そこで locate zsh |grep -i latex してみたところ、結果が空でした。
latex と同じものを補完してくれればいいのですが、どうすべきですか。

似た問題がいくつかあります。初歩的な質問ですがどうぞよろしく。
543名無しさん@お腹いっぱい。:2006/11/24(金) 04:48:30
>>542
/usr/local/share/zsh/4.3.2/functions/Completion/X/_mplayer

- "*.(#i)(avi|mp3|mpg|mpe|mpeg|m1v|m2p|m2v|mov|asf|vob|mjpg|wma|wmv|asx|qt|rm|mkv|mka|ogm|ogg|wav)(-.)" && ret=0
+ "*.(#i)(avi|mp3|mpg|mpe|mpeg|m1v|m2p|m2v|mov|asf|vob|mjpg|wma|wmv|asx|qt|rm|mkv|mka|ogm|ogg|wav|flv)(-.)" && ret=0
試してないけどこんな感じ?

/usr/local/share/zsh/4.3.2/functions/Completion/Unix/_tex

#compdef tex latex slitex pdflatex jadetex pdfjadetex platex
とか書いてない?
544名無しさん@お腹いっぱい。:2006/11/24(金) 05:44:47
>>543

早速有難うございました!

二つともうまくゆきました。

ホームディレクトリに何か作ることを想像しましたが、
/usr/local/share/zsh/4.3.2/ 以下のファイルをを直接直してもいいのですね。
デスクトップ使用なので個人的には問題ありません。
ただ zsh のバージョンアップの際に注意しないといけないですね。

バージョンアップに左右されない書き方や、管理者でない場合のことも知りたいです。

ディレクトリ名を打つと cd するのがデジャビュ的になつかしいです。
MS-DOS 用のソフトで見たのか、記憶はさだかでありませんが、なつかしいです。
545名無しさん@お腹いっぱい。:2006/11/24(金) 07:23:27
zshはいい加減正式版をリリースしてくれないと泣いちゃうよ?
546名無しさん@お腹いっぱい。:2006/11/24(金) 13:06:39
>> 544
platexに関しては
% compdef _tex platex
で_texの補完ルールをplatexに適用できる
547名無しさん@お腹いっぱい。:2006/11/24(金) 15:42:55
>>544
>596 名前: 名無しさん@お腹いっぱい。 投稿日: 02/07/21 06:49
> 1. ~/.zfunc というディレクトリをつくる
> 2.$fpath に ~/.zfunc を加える(.zshrc 等には PATH と同じように書けばOK)
> 3.以下のファイルを _mplayer という名前で ~/.zfunc 以下にセーブする
> 4.あとは ~/.zcompdump をいったん消してから zsh を立ち上げなおしてくだちい
>
> == _mplayer ここから===============================================
> #compdef mplayer
>
> _arguments -R \
> '-h[オプションの一覧]' \
> '-V[冗長モード]' \
> '*:Movie File:_files -g \*.\(\#i\)\(mp3\|mpeg\|mpg\|avi\|wmv\)'
> ==ここまで=========================================================
> オプションはたいぎいので書いてません。
私もこういう設定は~/以下に置きたいので、上のを試してみたんですけど、tabを押すと
_main_complete:1: _main_complete: function definition file not found
というエラーが出て補完が効かないです。
548名無しさん@お腹いっぱい。:2006/11/24(金) 19:57:20
みなさんのお蔭でだいぶ見えてきました。伏して謝します。
以下御報告。

>>546
おお、これはいろんな場面で役に立ちますね!
% compdef _dvi dvipdfmx
あと、うしろにargumentたくさん取れるみたいですね。
% compdef _tex platex jbibtex

>>547
大きなヒントになりました。ほとんどそのままですが以下の方法でできました。
% mkdir ~/.zfunc
% cd ~/.zfunc
% cp /usr/local/share/zsh/4.3.2/functions/Completion/X/_mplayer ./

ファイルを編集して .zshrc に次の行を追加。
fpath=(~/.zfunc $fpath)

引用に「PATH と同じように書けばOK」とありますが、以下ではNGでお書きのエラーが出ました。
fpath="$fpath:~/.zfunc"
fpath="$fpath;~/.zfunc"
549547:2006/11/24(金) 22:00:53
>>548
fpath="~/.zfunc "$fpath
はだめで(自分はこうやってて、だめだった)
fpath=(~/.zfunc $fpath)
だとうまくいくんですね。
なんでだろう?
550名無しさん@お腹いっぱい。:2006/11/24(金) 23:14:58
()は配列。前者は文字列にセットしちゃうからだめ。

FPATH="~/.zshfunc:$FPATH"
でもよい。
551547:2006/11/25(土) 00:10:24
>>550
お答えありがとうございます。
すっきりしました。
552名無しさん@お腹いっぱい。:2006/12/15(金) 13:37:16
zshのデフォルトのプロンプトにcsh/tcshと同じ % が使われてるのはどうして?
553名無しさん@お腹いっぱい。:2006/12/15(金) 18:47:06
普通 % だから
554名無しさん@お腹いっぱい。:2006/12/15(金) 19:37:26
>>552
csh/tcshからの移行組に対するリハビリモードだから。
社会復帰できたらちゃんと PS1='$ ' に設定するのが望ましい。
555名無しさん@お腹いっぱい。:2006/12/16(土) 05:32:14
wiki消えるぞ〜
http://hiki.ex-machina.jp/zsh/index.cgi
>重要 勝手ながら、都合により本サービスを停止することに致しました。停止予定日は2007年1月10日を予定しております。
>予定日までに http://wiki.fdiary.net/ など他のHikiFarm?への移動をお願いいたします。(2006.12.7)
556名無しさん@お腹いっぱい。:2006/12/17(日) 21:56:04
cygwinでzshを使い始めた若輩者です
解説サイトを見てますと起動時に ~/ 以下の
.zshrc .zshenv .zshprofile .zlogin が読み込まれることが前提のようなのですが
自分の環境ですと .zshrc しか読み込みません
他の3つの設定を読み込むにはどこに設定すればいいのでしょうか?
557名無しさん@お腹いっぱい。:2006/12/17(日) 23:19:24
/etc/zshenv 常に(-fの時も)
~/.zshenv 常に
/etc/zprofile -l(loginシェル)の時
~/.zprofile -l(loginシェル)の時
/etc/zshrc 対話モードの時
~/.zshrc 対話モードの時
/etc/zlogin -l(loginシェル)の時
~/.zlogin -l(loginシェル)の時
558名無しさん@お腹いっぱい。:2006/12/18(月) 11:33:40
/root が 700 で下のように zsh で先に * が
展開されちゃうのはどう回避したらいい?

$ sudo ls -l /root/*
zsh: no matches found: /root/*
559名無しさん@お腹いっぱい。:2006/12/18(月) 12:36:56
shell について勉強し直すのが先でそ
560名無しさん@お腹いっぱい。:2006/12/18(月) 15:15:53
>>557
ありがとうございます。
おかげで全部のファイルの読み込みが出来ました。
zshenvが読み込まれてないと思ったのは
ファイルの最初に書いてる echo をコメントアウトしてしまっていました。
561名無しさん@お腹いっぱい。:2006/12/20(水) 01:29:26
>>555
消えるんだ。。。もったいない。

ここいったいどんな管理になっているのだろう
連絡先とか管理者とか何も書いてない。
勝手に、コピーして違うページに公開するわけにはいけないし。。。


>http://wiki.fdiary.net/ など他のHikiFarm?への移動をお願いいたします。
って、ことは、勝手に移してよい?
それとも、サーバ管理者が、wiki管理者に移動を依頼しているのかよくわからね。。。
562名無しさん@お腹いっぱい。:2006/12/20(水) 01:32:58
>>561
移していいんじゃない?
563名無しさん@お腹いっぱい。:2006/12/20(水) 11:50:29
>>561
頼む。
とりあえずやっておいて、もし重複したりしたら後で消せばいいんじゃないの?
564名無しさん@お腹いっぱい。:2006/12/21(木) 17:15:13
ライセンスはどうなってるのよ。
勝手にコピー公開していいのか?
565名無しさん@お腹いっぱい。:2006/12/23(土) 15:18:05
>>564
それが、問題だな。。。
566名無しさん@お腹いっぱい。:2006/12/23(土) 20:50:50
書いた人のライセンス? サービス側のライセンス?
一部書いた人間としてはコピーしておくれって感じだが。
567名無しさん@お腹いっぱい。:2006/12/24(日) 02:09:41
まずは移転先を確保。
次に自分が書いた箇所を移転先にコピー。
残りは破棄。

これで問題なかろう。
568名無しさん@お腹いっぱい。:2006/12/24(日) 09:53:30
別に特定のライセンスとか明記していない
いわば「便所の落書き」を
よそに移したって問題なかろう
569名無しさん@お腹いっぱい。:2006/12/24(日) 11:11:28
阿呆か
570名無しさん@お腹いっぱい。:2006/12/25(月) 03:01:44
厳密には、便所の落書きでも2chの書き込みでも、書いた人に著作権とかの権利がある。
きっとコピーするには、編集した人全員に許可をもらう必要があると思うけど、、、
でも、そこまで厳密にする必要も無いと思うからWikiを創めた人(Wiki管理者)が、
許可したら移して良いと思う。

というわけで、誰かWiki管理者のふりをしてwiki書き換えといてくれ。。。と冗談を言ってみる。
571名無しさん@お腹いっぱい。:2006/12/27(水) 22:02:07
ライセンスが確定していなかった以上、別のWikiへの転載は禁止。
もったいないが、仕方がない。

てことでFA?
572名無しさん@お腹いっぱい。:2006/12/27(水) 23:01:47
阿呆か
573名無しさん@お腹いっぱい。:2006/12/27(水) 23:21:10
新しいwikiにコピーさせてもらって、
ライセンスのことは注意書きとして書いておけばいい。
574名無しさん@お腹いっぱい。:2006/12/28(木) 04:32:09
くだらねえな
・このスレのまとめを新たに作る
・Wiki移転
やってることの本質は変わらんだろ。
著作権法を軽んずる気はないが、意味のおかしい会話になっている。
575名無しさん@お腹いっぱい。:2006/12/28(木) 07:35:59
素直に著作権法は無視といえばいいのに。
576名無しさん@お腹いっぱい。:2006/12/28(木) 11:40:56
新たにまとめたら同じになった!

同じ元ネタを同じようにまとめたんだから当然だよな!
577名無しさん@お腹いっぱい。:2006/12/28(木) 11:53:17
あるあるw
578名無しさん@お腹いっぱい。:2006/12/28(木) 11:53:51
再実装ってやつだな
579名無しさん@お腹いっぱい。:2006/12/28(木) 12:00:10
たまたまならしょうがないよな
580名無しさん@お腹いっぱい。:2006/12/29(金) 13:17:24
bindkey で割り当て可能なコマンドの一覧てどこにあるんでしょうか
コマンドラインスタックをESC-q から Ctrl-q に変えたくて探してます
581名無しさん@お腹いっぱい。:2006/12/29(金) 14:20:18
stty を調べろ、に一票
582名無しさん@お腹いっぱい。:2006/12/29(金) 16:43:18
使い方を間違ってるのか stty -a だと以下の項目しかでませんでした…。
intr, quit, erase, kill, eof, eol, eol2, swtch, start, stop, susp, rprnt, werase, lnext, flush

backward-kill-lineなど他の項目はどう見つければいいんでしょうか
583名無しさん@お腹いっぱい。:2006/12/29(金) 17:04:08
>>581 は「知ったか」に1票。

zshの bindkeyの話なので、stty(低レベルの端末設定)とは関係ない。
584名無しさん@お腹いっぱい。:2006/12/29(金) 17:09:19
探してるのはこういうのか?
http://zsh.sourceforge.net/Doc/Release/zsh_29.html

これはちょっと古いけど、普通にインストールしてるなら
ローカルにも同じようなのがあるでそ。
585名無しさん@お腹いっぱい。:2006/12/29(金) 19:08:30
>>583
ありがとです
>>584
そうです。ありがとうございます
コマンドラインスタックは push-line なんですね
ずっと buffer stack で探してました…。
586名無しさん@お腹いっぱい。:2006/12/30(土) 00:30:21
>>585
Esc-q にbindされている関数の名前だけ分かればいいなら
bindkey |grep q
すりゃわかると思う。
一覧ではないから>>580の答えではないが。

>>581はC-qがsttyで割り当てられてるって話でそ。
C-s/C-qなんて今更使わんが。
587名無しさん@お腹いっぱい。:2006/12/30(土) 01:41:47
stty で奪われてたら zsh で扱いたくても扱えないでそ

> C-s/C-qなんて今更使わんが。

「使わない」には同意だけど大抵設定はされてるでしょ
588名無しさん@お腹いっぱい。:2006/12/30(土) 11:53:03
>>586
普通 M-x describe-key-briefly でそ?
589名無しさん@お腹いっぱい。:2007/01/05(金) 01:43:53
HIST_SAVE_NO_DUPS と HIST_IGNORE_ALL_DUPS ってどう違うんですか?
zsh のマニュアルによると

HIST_SAVE_NO_DUPS
When writing out the history file, older commands that duplicate
newer ones are omitted.

HIST_IGNORE_ALL_DUPS
If a new command line being added to the history list duplicates
an older one, the older command is removed from the list (even
if it is not the previous event).

こういう違いがあるようなんですが、よくわかりません。
590名無しさん@お腹いっぱい。:2007/01/05(金) 04:50:28
重複削除をどの時点で行うかが違う。

よくわかりませんで思考停止するんじゃなくてもうちょっと考えてみなよ。

・どこまでわかっていて、よくわからないのはどの部分なのか、
・わからないところはどのような可能性が考えられるか、
・それらの可能性が本当かを確かめるにはどうすればいいか、

を自分で考えるようにすればもう少し読解力が高まると思われ。
591名無しさん@お腹いっぱい。:2007/01/05(金) 07:16:54
書き込みのあとそれぞれ設定して調べたところ、
前者はシェルを抜けた段階でヒストリファイルの重複を削除するのに対して
後者は即時にメモリ内?のヒストリ重複を削除してるっぽいことがわかりました。
いずれもシェルを抜けた段階でファイルの重複は消されるようなので
設定は片方だけでよさそうですが、
share_history などの設定もいろいろ影響してそうなので
それ以上はつきつめて調べてません。
590 さん、助言どうもありがとうございました。
592名無しさん@お腹いっぱい。:2007/01/05(金) 08:43:16
手元の .zshrc だと

setopt hist_ignore_dups # 前後のダブりのみ消す
setopt hist_ignore_all_dups # ヒストリに追加されるコマンド行が古いものと同じなら古いものを削除

と両方書いてあるな。
説明はmanualのまんまだ。
593名無しさん@お腹いっぱい。:2007/01/05(金) 16:40:36
wiki移転完了(たぶん)
ttp://wiki.fdiary.net/zsh/

XML-RPCでガーーーッと移動してちょこっといじっただけ。
変なとこあったら修正よろしく。
594名無しさん@お腹いっぱい。:2007/01/06(土) 18:38:01
>>593
おつかれ、サンクス
595名無しさん@お腹いっぱい。:2007/01/18(木) 20:02:39
同僚に薦められてzshに移行したばかりのものです。

いきなり質問で恐縮ですが、

コマンドラインで、第二引数だけをヒストリから補完とか可能でしょうか?
可能でしたら方法をお教えください。

具体的には、あるコマンドを(第二引数の)ファイルに実行した後で、
別のコマンドをそのファイルに実行したい時に、簡単な操作で
第二引数を呼び出したいのです。
596名無しさん@お腹いっぱい。:2007/01/18(木) 21:10:44
M-. (insert-last-word) かな?
597595:2007/01/18(木) 21:17:18
>>596
おお、ありがとうございました。
できましたw

zshの強烈な補完に感動してます。

ありがとうございました。
598名無しさん@お腹いっぱい。:2007/01/23(火) 06:52:27
predict-on, predict-off を同じキーに配置して
オンならオフ、オフならオンに変更するために predictの状態を知りたいんですが
どうやったら調べられるんでしょうか?
599名無しさん@お腹いっぱい。:2007/01/24(水) 04:17:04
状態を示す変数でも作ればいいじゃないの
600名無しさん@お腹いっぱい。:2007/01/24(水) 05:38:07
>>599
ああ、そうかなるほど。
助かりましたありがとうございます
アホなりになんとかできました
601名無しさん@お腹いっぱい。:2007/01/30(火) 04:58:45
このスレもぼちぼち立ってから2年か。読み返しみると結構レス書いてるな。
実は少人数で廻してるのか。
602名無しさん@お腹いっぱい。:2007/02/06(火) 17:24:08
for i in param1 param2 ...
do
いろんな仕事を param 毎に
done
ってやりますけど,各ループ実行に 2個づつ,3個づつみたいな
パラメータの渡し方って可能でしょうか?

python でいうところの
for i,j in ( (x1,y1), (x2,y2), ...)
とすると $i, $j でそれぞれ x1, y1 が参照できるみたいな
ことなんですが。
603名無しさん@お腹いっぱい。:2007/02/06(火) 19:23:28
関数の中で
while [ $# -gt 0 ]
do i=$1;shift;j=$1;shift
...
done
とかやればいいんじゃないの?
604名無しさん@お腹いっぱい。:2007/02/06(火) 19:42:32
for i j in param1 param2 ...
605602:2007/02/07(水) 02:05:24
>603
なるほど〜 とおもったところで
>604 ってナンだろう? と目を擦って…

ガーン!!! そんなのアリだったのか〜

info zsh したら確かにそう書いてある!!

for NAME ... [ in WORD ... ] TERM do LIST done
.snip.
More than one parameter NAME can appear before the list of WORDs.

ありがとうございます
606名無しさん@お腹いっぱい。:2007/02/09(金) 09:38:07
MYCOM コラム『漢のzsh』
ttp://journal.mycom.co.jp/column/zsh/001/
こんなん始まったね。
607名無しさん@お腹いっぱい。:2007/02/09(金) 11:06:01
>>606
お、これ面白いね。早速ブクマクした
てゆーか数年zsh使ってたが、"ls -"の後の補完でオプション出るの知らんかった・・・アホだな俺。。
608名無しさん@お腹いっぱい。:2007/02/09(金) 12:40:10
これだけだと面白くなるかどうかまだわからんw
WEB上だけの連載なのかな。

UNIX USER の連載は書籍化もされず、WEB で公開されることもなく
埋もれていくのか。本誌は休刊しちゃったし。
609名無しさん@お腹いっぱい。:2007/02/09(金) 12:59:28
zshマスターだけちぎってUNIXUSER全部捨てた
610名無しさん@お腹いっぱい。:2007/02/09(金) 13:00:39
ん? だからPDF版買えって話じゃないの?
611名無しさん@お腹いっぱい。:2007/02/09(金) 13:54:16
>>610
あれ、そんなの売ってたっけ?
612名無しさん@お腹いっぱい。:2007/02/09(金) 15:08:15
>>606
http://pc10.2ch.net/test/read.cgi/linux/1170503611/351
この後にこんな記事ができるってのは、2chみてんのかね。
613名無しさん@お腹いっぱい。:2007/02/09(金) 15:34:33
その程度の基本的な機能の紹介で2chと結びつけるのは酷だなw
614名無しさん@お腹いっぱい。:2007/02/09(金) 15:36:41
>>612
compinitは設定じゃねーよ。
常識だ。

というわけで、>>606には一応期待しておくが、まだ評価はできん。
615名無しさん@お腹いっぱい。:2007/02/09(金) 16:02:12
>>612の351も>>606-607も本人と決め打つのが2ちゃんだろw
616名無しさん@お腹いっぱい。:2007/02/09(金) 20:21:31
ぜんぶ俺だから
617名無しさん@お腹いっぱい。:2007/02/09(金) 21:22:33
UUの連載も内容的にはけっこう古くなっているから、今更書籍化ってのも難しいんじゃないのかな。

今回のは常識だけど、まぁまだ第1回だから今後に期待だな
618名無しさん@お腹いっぱい。:2007/02/11(日) 15:24:29
MYCOM記事読んできますた
619名無しさん@お腹いっぱい。:2007/02/11(日) 17:14:19
誰かzshrc晒せ
620名無しさん@お腹いっぱい。:2007/02/11(日) 18:10:44
前にキチガイモーオタが晒してたなw
621名無しさん@お腹いっぱい。:2007/02/11(日) 19:22:49
perl -e "print 100"; とすると 100% と表示されます、% は色反転してます
この % を出したくないんですけど、どうすればいいですか
622621:2007/02/11(日) 19:38:35
事故解決
623名無しさん@お腹いっぱい。:2007/02/11(日) 19:40:34
>>622
解決方法くらい書きたまえキミぃ。
624621:2007/02/11(日) 19:43:17
\n を自動で補ってくれてただけなわけで
こんな機能があったとは
625名無しさん@お腹いっぱい。:2007/02/16(金) 12:59:46
MYCOMのzsh連載、早速第2回が掲載されているね。
今度はプロンプトのカスタマイズ。
626名無しさん@お腹いっぱい。:2007/02/16(金) 13:22:22
PROMPT="%B%{^[[31m%}%/#%{^[[m%}%b " # ただし ^[ は エスケープシーケンス
よりは
PROMPT=$'%B%{\e[31m%}%/#%{\e[m%}%b '
とか
autoload -U colors; colors
PROMPT="%B%{$fg[red]%}%/#%{$reset_color%}%b "
とかのほうがよさそうなもんだが
627名無しさん@お腹いっぱい。:2007/02/16(金) 13:37:22
> エスケープを直接設定ファイルに記述することを嫌って、
> echoやprintfコマンドを使う場合もある。好きな方を選べばいい。
> ただ、コマンドだとプラットフォームごとに動いたり動かなかったりするので、
> ここでは直接書いて使っている
echo も print も printf も組み込みコマンドですがなにか
628626:2007/02/16(金) 13:39:46
誤)エスケープシーケンス
正)エスケープ
orz
629名無しさん@お腹いっぱい。:2007/02/16(金) 14:25:01
設定ファイルとかプロンプトとかどうでもいいからさっさと補完の事教えてくれよう
630名無しさん@お腹いっぱい。:2007/02/16(金) 21:36:58
あんまり期待できないな
631名無しさん@お腹いっぱい。:2007/02/17(土) 09:15:00
この程度の事はだれもが通る道だよな
それで記事が書けるなんて
632名無しさん@お腹いっぱい。:2007/02/17(土) 10:59:40
紹介記事(スレ住人的には既に通ってきた内容)と
使いこなし記事(スレ住人も新たな発見がある内容)
は違うよなぁ……
633名無しさん@お腹いっぱい。:2007/02/17(土) 12:02:36
このコラムはどういう層を対象にしてるんだろうか
634名無しさん@お腹いっぱい。:2007/02/17(土) 12:09:58
第1回の出だしに、こんなの書いてある
> ここ1年でzshへ移行しやすい状況が整ってきている。
> はじめるには悪くないタイミングだ。

これからzshを始める人向けだろう
635名無しさん@お腹いっぱい。:2007/02/17(土) 12:34:49
いや、それはわかってるけど…
636名無しさん@お腹いっぱい。:2007/02/17(土) 13:14:31
大地の記事がそんなにいいわけないだろ。
冷静になれ。
637名無しさん@お腹いっぱい。:2007/02/17(土) 18:20:30
むしろこのスレの住人がうなるようなコアな内容を出してきたらウケル。
638名無しさん@お腹いっぱい。:2007/02/17(土) 19:02:04
>>637
ありえない。

もうUNIXUSERの記事の焼き直しでいいよ。
639名無しさん@お腹いっぱい。:2007/02/17(土) 19:06:28
妙な記事書かれるより安心だなw
640名無しさん@お腹いっぱい。:2007/02/17(土) 19:17:27
zshに限らず最近シェル使わなくなってきた
641名無しさん@お腹いっぱい。:2007/02/17(土) 19:54:57
compctlの解説だけで終わったりして
642名無しさん@お腹いっぱい。:2007/02/17(土) 20:03:17
シェル使わないってなんだ。ログインすらしてないってことか。
643名無しさん@お腹いっぱい。:2007/02/17(土) 21:14:52
正直にいって細かく設定しても使わないよね
zshrcは千行あるけど
644名無しさん@お腹いっぱい。:2007/02/17(土) 23:16:31
>>641
compsysは無しかよw
645名無しさん@お腹いっぱい。:2007/02/18(日) 02:04:24
その1000行のzshrcを見せてもらおうか
646名無しさん@お腹いっぱい。:2007/02/18(日) 20:08:40
一行一レスでいいから
647名無しさん@お腹いっぱい。:2007/02/24(土) 10:43:48
htmlで終わるファイルが存在すれば"Exist"と表示させたいとして、
zsh で、
if [ -e *html ];then echo "Exist";fi
とすると、
zsh: no matches found: *url
となってしまいます。
shでは期待どおりの動作をします。
zshで期待のどおりの動作をするにはどうすればよいでしょうか?
648名無しさん@お腹いっぱい。:2007/02/24(土) 11:22:11
setopt NULL_GLOB
649647:2007/02/24(土) 11:56:49
ありがとうございました。
こうすると、上の問題は解決しましたが、htmlで終わるファイル名を表示しようとして
ls *html
とすると、ディレクトリにhoge.htmlがあっても
ls: *html: そのようなファイルやディレクトリはありません
と出ようになりました。
この問題を解決避けるには、
いちいち、setopt NULL_GLOB, setopt GLOB
をしなければならないのでしょうか?
650647:2007/02/24(土) 12:09:56
if noglob [ -e *html ];then echo "Exist";fi
としてもいいみたいですね。
651名無しさん@お腹いっぱい。:2007/02/24(土) 12:41:46
echo {1..3}

1 2 3
となります。
echo {a..c}
では
{a..c}
です。
これを
a b c
とするように出来ないでしょうか?
652名無しさん@お腹いっぱい。:2007/02/24(土) 12:50:38
出来ない
653名無しさん@お腹いっぱい。:2007/02/24(土) 12:51:43
bashならできる
654名無しさん@お腹いっぱい。:2007/02/24(土) 13:24:36
>>651
setopt brace_ccl
echo {a-z}
655名無しさん@お腹いっぱい。:2007/02/24(土) 13:33:21
{a..c}を、という質問なわけだが、、
656651:2007/02/24(土) 13:55:06
>>652-655
ありがとうございます。
{a..c}
ではできない、やりたかったら、
>>654
のようにしろ、ってことですね。
ありがとうございました。
657名無しさん@お腹いっぱい。:2007/02/24(土) 20:36:40
mycomの連載、3回目は履歴に関して
658名無しさん@お腹いっぱい。:2007/02/24(土) 22:04:30
>647
noglob と nullglob を混同してない?

noglob は glob しなくするオプション(globの否定)だけど、
null_glob はそれとは違うよ。
オレの環境では null_glob をセットしてもそんなエラーにはならないんだけど。
659名無しさん@お腹いっぱい。:2007/02/24(土) 22:15:22
unsetopt nomatch してるんじゃ?
660名無しさん@お腹いっぱい。:2007/02/24(土) 23:08:41
まあ *.html(N) でいい
661名無しさん@お腹いっぱい。:2007/02/24(土) 23:32:56
mycomの今回のはあまり参考にはならんかった。zsh初心者向けぽいな。

ちなみに俺は履歴関連はこんだけオプション有効にしてる。
man zshoptions 読むだけでもマンドクセ状態だが・・・

setopt extended_history
setopt hist_expire_dups_first
setopt hist_ignore_all_dups
setopt hist_ignore_dups
setopt hist_ignore_space
setopt hist_reduce_blanks
setopt hist_save_no_dups
setopt hist_verify
setopt inc_append_history
setopt share_history
setopt csh_junkie_history
662名無しさん@お腹いっぱい。:2007/02/25(日) 00:08:02
漢漢と五月蝿い記事だなあ。
663名無しさん@お腹いっぱい。:2007/02/25(日) 09:20:45
誰か $path から存在しないディレクトリを削除するコードを書いてくれ
664名無しさん@お腹いっぱい。:2007/02/25(日) 10:22:44
手元の .zshenv より

addpath () {[[ -d $1 ]] && path=($path $1)}
# add $* to top of PATH list.
addpathlist() {
tmppath=
for newpath in $*
if [ -d $newpath ]; then
tmppath=($tmppath $newpath)
fi
path=($tmppath $path)
unset tmppath
}

addpathlist ~/bin /usr/local/bin /usr/local/gnu /usr/X11R6/bin /usr/local/X11R6/bin /usr/local/X11R5/bin
addpath /usr/local/gcc/bin
addpath /usr/ucb
...
665647:2007/02/25(日) 12:49:04
>>658

すみません。ウソ言ってました。

>こうすると、上の問題は解決しましたが、htmlで終わるファイル名を表示しようとして
>ls *html
>とすると、ディレクトリにhoge.htmlがあっても
>ls: *html: そのようなファイルやディレクトリはありません
>と出ようになりました。

は間違いでした。正しくは、
(setopt NULL_GLOB とすると)
*htmlにマッチするものが無い場合、
カレントディレクトリ以下のファイル、ディレクトリが全て表示される、
です。
そして、NULL_GLOBはglobにマッチするものがなかったら何も渡さない、
ということでNO_GLOBはglobしない、という違いも理解しました。
だから、当前、setopt NULL_GLOB をして*htmlにマッチするものが無かった場合は
上のような動作をするのですね。
私が初めに書いたエラーがでるのは、setopt NO_GLOBとした場合ですね。


>>659
さんのようなオプションをつけていたわけではなく、単に私の間違いでした。

>>660
さんのおっしゃるように、
if [ -e *html(N) ];then echo "Exist";fi
でもOKでした。
666名無しさん@お腹いっぱい。:2007/02/25(日) 14:39:20
試さずにかいたが、-e *html(N) って常に真を返さないか
667647:2007/02/25(日) 15:37:36
>>666
そうですね汗
またまたいいかげんなこと言ってしまいました。
if [ -e *html(N) ];then echo "Exist";fi
はつねにExistとでます。

>>647で書いたことをやりたい場合には、

1)
setopt NULL_GLOB
if [ -e *html ];then echo "Exist";fi
(この場合はls *htmlで*htmlがなかったらlsと同じになってしまうので)
そのあとで
setopt GLOB

2)
または、
if noglob [ -e *html ];then echo "Exist";fi

が正しいようです。
668名無しさん@お腹いっぱい。:2007/02/25(日) 16:29:49
1) は setopt NO_GLOB では。
NULL_GLOB だと多分 *html(N) と変わらないよ。
あと、特に [ に拘らなければ
[[ -e *html ]] でもいいかな。
669名無しさん@お腹いっぱい。:2007/02/25(日) 17:29:32
$ touch test.html
$ [ -e test.html ] && echo found || echo not found
found
$ [ -e *.html ] && echo found || echo not found
found
$ [[ -e test.html ]] && echo found || echo not found
found
$ [[ -e *.html ]] && echo found || echo not found
not found
$ touch '*.html'
$ [[ -e *.html ]] && echo found || echo not found
found
670名無しさん@お腹いっぱい。:2007/02/25(日) 17:39:18
[[ ]] はグロブを展開しないぽい
[ はコマンド扱い? (これも builtin だよね)
671名無しさん@お腹いっぱい。:2007/02/25(日) 17:55:15
>>647
htmlで終わるファイルが存在すれば"Exist"と表示させたい(ただしzsh: no matches foundは嫌)は、

unsetopt nomatch するのが一番だろ。
その後は [ -e *html ] でも [ -n `echo *html` ] でもおk ( [[ -e *html ]] はだめぽい )

もしnomatchが嫌なら
[ -e *html(N) '' ] && echo Exist
{ [ -e *html ] && echo Exist } 2>/dev/null
みたいなw
672名無しさん@お腹いっぱい。:2007/02/25(日) 17:59:40
案外、簡単に処理できないもんだな。気付かずに罠にはまりそう。
昔ながらのやり方が安全かw
if ls | egrep '\.html$' >/dev/null; then echo Exists; fi
673名無しさん@お腹いっぱい。:2007/02/25(日) 18:13:15
glob関連はNOMATCH, NULL_GLOB, CSH_NULL_GLOB とオプションがあってよくわからん。

参考:
ttp://d.hatena.ne.jp/amt/20060907/nomatch
ttp://d.hatena.ne.jp/amt/20060806/ZshNoGlob
ttp://www.ayu.ics.keio.ac.jp/~mukai/translate/zshoptions.html (man zshoptions)
674名無しさん@お腹いっぱい。:2007/02/25(日) 18:33:09
nomatchは途中で処理が止まるから厄介
$ echo *UNKO; echo AAAAAAAAAAAAAAAAAAAAAAAA
zsh: no matches found: *UNKO
$
675名無しさん@お腹いっぱい。:2007/02/26(月) 07:55:40
>>669
> $ [ -e *.html ] && echo found || echo not found

↑は .html ファイルが2つ以上ある場合は動かない.

[ -e `ls -1 *.html|head -n 1` ] && echo found || echo not found
だとちゃんと動くが、もっとスマートなやり方はないものか...
676名無しさん@お腹いっぱい。:2007/02/26(月) 07:59:19
>>675 の訂正.
> $ [ -e *.html ] && echo found || echo not found
は zsh では動くね. bash では動かないけど.
でも混乱を避ける為に、↑のように書くのは良くないだろう
677名無しさん@お腹いっぱい。:2007/02/26(月) 08:34:32
サブシェル使ってよければ
(for f in *.html; do [ -f "$f" ] && return 0; done; return 1) && echo aru || echo nai
/bin/shで動く筈。
678名無しさん@お腹いっぱい。:2007/02/26(月) 11:03:52
もう外部コマンド使って
ls *.html | wc | awk '{print $1}'
でいいじゃん
679名無しさん@お腹いっぱい。:2007/02/26(月) 11:18:07
アホ現る
680名無しさん@お腹いっぱい。:2007/02/26(月) 21:05:11
[ `echo -n *.html(N) | wc -l` -gt 0 ]
681名無しさん@お腹いっぱい。:2007/02/26(月) 21:26:59
[[ -n `echo *html(N)` ]] && echo Exist || echo # うまくいく
[[ -n `echo` ]] && echo true || echo false # false

[ -n `echo *html(N)` ] && echo Exist || echo # 常にExist, だめ
[ -n `echo` ] && echo true || echo false # true
682名無しさん@お腹いっぱい。:2007/02/27(火) 02:46:16
[[ls *.html && $? ]] じゃ駄目なわけ?
683名無しさん@お腹いっぱい。:2007/02/27(火) 02:47:37
``わすれた・・・
684名無しさん@お腹いっぱい。:2007/02/27(火) 02:48:42
しかも-aだね。逝ってきます。
685名無しさん@お腹いっぱい。:2007/03/02(金) 22:11:55
mycomの連載、更新されていたけどツッコミどころが幾つかあるな
686名無しさん@お腹いっぱい。:2007/03/03(土) 01:23:44
よしつっこめ。
687名無しさん@お腹いっぱい。:2007/03/03(土) 03:11:14
ショートカットキーという言い方は気持が悪いな
688名無しさん@お腹いっぱい。:2007/03/05(月) 01:38:58
最近はてブのホットエントリでzsh関連のをちょくちょく見掛けるけどなんかあったのかしら。
689名無しさん@お腹いっぱい。:2007/03/05(月) 06:18:24
そういう連中にとってzshがクールでナウいんだよ。
690名無しさん@お腹いっぱい。:2007/03/07(水) 18:55:38
localeがちゃんとしてたらja_JP.SJISでも動きますか?
691名無しさん@お腹いっぱい。:2007/03/07(水) 19:17:30
ナニが?
692名無しさん@お腹いっぱい。:2007/03/08(木) 01:16:40
カーソル移動とかプロンプト等の桁数計算とかSJIS2バイト目のメタキャラクタ無視とか。
693名無しさん@お腹いっぱい。:2007/03/16(金) 10:04:06
あれ?

% autoload predict-on
% predict-on
predict-on:zle:5: can only be called from widget function
694名無しさん@お腹いっぱい。:2007/03/16(金) 14:01:13
錫癜
695名無しさん@お腹いっぱい。:2007/03/16(金) 20:44:04
>693
ウチではそのエラー出ないよ

ところで、恥ずかしながら predict-on は知らなかったですよ。
696名無しさん@お腹いっぱい。:2007/03/24(土) 22:24:26
>>663-664
久しぶりに見たから1ヶ月前へのレスだけど
path=($path(N))
でいけない?
697663:2007/03/24(土) 23:10:35
user@ubuntu:~$ zsh -f
ubuntu% test=(foo bar /home)
ubuntu% echo $test
foo bar /home
ubuntu% echo $test(N)
foo bar /home
ubuntu% echo ${^test}(N)
/home

>>696だとうまくいったりいかなかったりで困ってたんですけど、rc_expand_paramのせいでした。
path=(${^path}(N)) でうまくいくみたいですね。
698名無しさん@お腹いっぱい。:2007/04/03(火) 14:48:38
suffix alias がコマンドでも展開されて欝
699名無しさん@お腹いっぱい。:2007/04/10(火) 17:16:19
mycom の連載見て、bash から乗り換えたら欝

bash
$ sudo rm ~foo (~foo -> /home/foo のシンボリックリンク)
シンボリックリンク ~foo が消える

zsh
% sudo rm ~foo (~foo -> /home/foo のシンボリックリンク)
Error: foo はディレクトリ
% sudo rm -r ~foo
ホームディレクトリが消える orz
700名無しさん@お腹いっぱい。:2007/04/10(火) 17:21:46
まさか '~foo' ってファイルを作ったのか?

ニョロ展開をやめさせたいんなら
./~foo って指定すればいいし何が言いたいのかわからん
701名無しさん@お腹いっぱい。:2007/04/10(火) 17:24:47
>>700
違うよ。

俺は意味わかった。zshが ~の展開の際にシンボリックリンクをたどってしまう
という問題だね。Error: foo はディレクトリ の時点で気づくべき。
702名無しさん@お腹いっぱい。:2007/04/10(火) 17:32:22
いまいちよくわらん。
foo アカウントのホームディレクトリが /usr/home/foo とかになってて、
それが /home/foo へのシンボリックリンクになってる、とかそんな感じ?

つーかなんで rm -r なんてする気になったんだろ。
703名無しさん@お腹いっぱい。:2007/04/10(火) 17:39:59
同じく意味がわからん

少なくとも問題という意識はわからん

(動作の話はそういうものとしか言いようがないし...
>702 も言う通り -r はそれこそ意図的じゃん)
704名無しさん@お腹いっぱい。:2007/04/10(火) 17:41:06
unsetopt chaselinks
で解決したりする?
705名無しさん@お腹いっぱい。:2007/04/10(火) 17:44:18
シンボリックリンクに対して rm -r しても、
そのシンボリックリンクが消えるだけ(先までたどらない)からだろ。
多分、rmでエラーが出たから rm -r にしただけだろ。
まさか、~foo が実体ディレクトリを指してるとは頭から思ってないから、
シンボリックリンクを消す意味で気軽に rm -r したと。
706名無しさん@お腹いっぱい。:2007/04/10(火) 17:57:57
>>705
その「エラーが出たから -r」ってのが意味わからん。
-f ならまだわかるけど。
707名無しさん@お腹いっぱい。:2007/04/10(火) 18:00:07
で、「~foo」っていうファイルはあったのか?
なかったのか?
708名無しさん@お腹いっぱい。:2007/04/10(火) 18:01:32
>>707
お前ずれてる。~fooなんてファイルの話じゃない。
709名無しさん@お腹いっぱい。:2007/04/10(火) 18:02:21
>>708
んじゃどういう話?
710名無しさん@お腹いっぱい。:2007/04/10(火) 18:03:09
>>709
読解力ない香具師だなぁ。
711名無しさん@お腹いっぱい。:2007/04/10(火) 18:04:16
>>710
すまんね。
詳細教えてくれよ。
712名無しさん@お腹いっぱい。:2007/04/10(火) 18:06:19
/etc/passwd には、/usr/home/foo で登録されてる。
/usr/home/foo はシンボリックリンクで、実体の /home/foo を指している。

この状態で、~foo というチルダ展開は、
bashだと /usr/home/foo に展開されるが、
zshでは /home/foo に展開される。
という問題。
713名無しさん@お腹いっぱい。:2007/04/10(火) 18:08:27
では>>699さん、正解をどうぞ。
714699:2007/04/10(火) 20:35:00
説明不足で、ごめんなさい。
真相は>>701, >>705さんのおっしゃる通りです。

昔 bash で
/bar$ ln -s /home/foo ~foo
として /bar/~foo を作ったのですが、もう使う必要がなくなったので今日 zsh で
/bar% rm -r ~foo
としたら、ユーザ foo のホームディレクトリ /home/foo 自体が消えてしまった
ということです。

bash では
alias rm="rm -i"
としていたので、rm のエラーに対していつもの勢いで -r の試行をしてしまいました。

>>713
私が悪いので、皆さん正解です。
715名無しさん@お腹いっぱい。:2007/04/10(火) 21:05:19
シンボリックリンクを消すならunlink
716名無しさん@お腹いっぱい。:2007/04/10(火) 22:04:28
そういえば mycom の連載があったな。すっかり忘れてた。
つっこもうと思ってそれっきりだった。
717名無しさん@お腹いっぱい。:2007/04/10(火) 22:40:44
>>716
では遠慮なくツッコメ。
718名無しさん@お腹いっぱい。:2007/04/10(火) 23:55:45
けっきょく ~foo あったんじゃん。
719名無しさん@お腹いっぱい。:2007/04/11(水) 02:25:44
シンボリックリンクにrm -rやったのがまずいよ。
720名無しさん@お腹いっぱい。:2007/04/11(水) 07:12:17
>>718
なんでやねん。欲嫁。

>>714 では、
$ ln -s /home/foo ~foo
と実行してるから、~fooという名前のsymlinkはできない。
~fooという名前のsymlinkを作るためには、

$ ln -s /home/foo '~foo'
のように、クォートするなり、./~foo みたいに ./を付けるなりしないといけないから。
721名無しさん@お腹いっぱい。:2007/04/11(水) 07:14:15
>>719
シンボリックリンクにrm -rやること自体はまずくない。(変ではあるが)
まずかったのは、それがシンボリックリンクではなかったこと。
722名無しさん@お腹いっぱい。:2007/04/11(水) 08:37:49
>721
いや、シンボリックリンクに対して rm -r するのはおかしいよ。

-r オプションは「当該ファイルをディレクトリとみなして中身もいっしょに
消す」という意図のオプションだから、仮に rm で消せなかったとしてもシン
ボリックリンクだと認識しているファイルに使うのがまずヘン。
だって中身を消したかったわけじゃないでしょ。
723名無しさん@お腹いっぱい。:2007/04/11(水) 09:45:48
>>714
> として /bar/~foo を作ったのですが、
って言ってるんだから、
~foo っていうファイル名のファイル (シンボリックリンク) が
あったんじゃないの?
724名無しさん@お腹いっぱい。:2007/04/11(水) 09:53:03
>>723
そこは確かに曖昧だが、質問者の理解不足によるものだろう。

ln -s /home/foo ~foo
を実行してシンボリックリンクを作っている以上、
~fooは展開されて、実際のパス名になるから、
「~foo」なんて名前のシンボリックリンクができたわけではないことは明らか。
725名無しさん@お腹いっぱい。:2007/04/11(水) 09:58:53
そもそも元質問者のレベルの人が、~が付いたファイルを作ること自体難しいだろう。
(クォートとかで回避する方法も知らないだろうし)
726名無しさん@お腹いっぱい。:2007/04/11(水) 10:30:52
> /bar/~foo を作った

zsh とか以前に極めて悪趣味

> シンボリックリンクにrm -rやること自体はまずくない。(変ではあるが)

まあそうだけど "まずいかどうか" じゃなくて
「意味を理解せず(考えず)」に -r というのは銃殺刑確定
"(変ではあるが)" に集約されるけどな
727699:2007/04/11(水) 23:44:00
すいません、今回の件は zsh と関係ありませんでした。
原因は、「~ユーザ名」と「~非ユーザ名」で挙動が異なる事を知らなかったという
私の理解不足にあります。
zshで
foo@example:/bar% sudo rm -r ~foo
でホームディレクトリが消えた後、 bash で
foo@example:/bar$ sudo ln -s /home/foo2 ~foo2
foo@example:/bar$ sudo rm -r ~foo2
(ここで、foo2 は既に存在しないユーザ名。/home/foo2 自体は実在する。)
として、検証してしまいました。

>>718, >>723-725
「/bar/~foo」は、ありました。
しかし、実際には>>720さんの説明の通りにしなければエラーになります。
したがって、作成時にはクォートしたと思います。

>>719, >>721-722
今後は、>>715さんの様にしたいと思います。

>>726
全くその通りです。

こんな unix の初歩的な事でスレを汚してしまい、
申し訳ないです。
728名無しさん@お腹いっぱい。:2007/04/11(水) 23:51:24
>727
なるほどね。いや悪いってわけじゃないです。

ただ ~user という用法をしらない人がいると
誰も思わなかったから「ネタだろ」位に皆思ってただけで...
729名無しさん@お腹いっぱい。:2007/04/12(木) 02:39:00
ここがUNIX板でよかったね。
730名無しさん@お腹いっぱい。:2007/04/13(金) 09:32:32
ところでディレクトリに張った
シンボリックリンクをrm -rすると実際どうなるの?
731名無しさん@お腹いっぱい。:2007/04/13(金) 09:34:23
>>730
それくらい実験してみろよ。
そのシンボリックリンクだけが消えるだけだよ。
732名無しさん@お腹いっぱい。:2007/04/13(金) 14:53:23
この流れワロタ
733名無しさん@お腹いっぱい。:2007/04/13(金) 20:52:19
% echo {001..005}\\n
001
 002
 003
となって2行目以降にスペースが入ってしまうのは
なんででしょうか?
734名無しさん@お腹いっぱい。:2007/04/13(金) 20:57:26
001\\n 002\\n 003\\n 004\\n 005\\n に展開されるから
735名無しさん@お腹いっぱい。:2007/04/14(土) 02:35:54
>>734 ありがとうございます。
とすると余計な空白なしに出力するのに
最もシンプルな書き方はどうなるのでしょう
echo {001..005} | tr "[:space:]" "\n"
だとベストではないですよね
736名無しさん@お腹いっぱい。:2007/04/14(土) 02:55:22
シンプルというか真っ先に思い付くのは
for i in {001..005}; do echo $i; done
とか。zsh のことだから省略記法があるのかな。
737名無しさん@お腹いっぱい。:2007/04/14(土) 02:58:56
と書きつつ思い付いた。print -l {001..005} でいいか。
738名無しさん@お腹いっぱい。:2007/04/17(火) 22:38:46
zsh 4.3.3 released
739名無しさん@お腹いっぱい。:2007/04/21(土) 00:26:43
zsh 4.3.4 releases
740名無しさん@お腹いっぱい。:2007/04/21(土) 05:16:08
741名無しさん@お腹いっぱい。:2007/04/21(土) 08:01:49
「マルチバイトサポート」って何回言った?て感じ
742名無しさん@お腹いっぱい。:2007/04/21(土) 09:03:22
>>740
書いたあと一回でも読み返したとは思えん文だなw
743名無しさん@お腹いっぱい。:2007/04/21(土) 10:58:42
> 4.3.4は機能拡張を実施したメジャーリリース。
??メジャーリリース?
744名無しさん@お腹いっぱい。:2007/04/21(土) 11:53:18
そっとしといてやろうぜ…。
745名無しさん@お腹いっぱい。:2007/04/22(日) 02:10:35
ちんこ
746名無しさん@お腹いっぱい。:2007/04/22(日) 04:04:57
ホームをNFSで共有する環境で起動が異常に遅い事があったけど
原因が compinit する時にNFSで共有してる .zcompdump へのロックだったので
compinit -d /tmp/$USER.zcompdump
とかしたら幸せになれた
747名無しさん@お腹いっぱい。:2007/04/27(金) 10:44:22
ウォーニングだバカ……
748名無しさん@お腹いっぱい。:2007/05/06(日) 19:10:15
こんな人が記事書いているのかと思うと。
749名無しさん@お腹いっぱい。:2007/05/06(日) 20:06:07
% echo 'a
c
d'

複数行の履歴を編集する時に改行のつもりで RET を打鍵すると accept-line
が呼ばれてしまうのだけど、これを回避する方法ってありますか?
750名無しさん@お腹いっぱい。:2007/05/06(日) 20:11:17
>>749
C=v C-j かな?
751名無しさん@お腹いっぱい。:2007/05/07(月) 06:14:08
>>750
できました。ありがとう
752名無しさん@お腹いっぱい。:2007/05/09(水) 12:10:15
753名無しさん@お腹いっぱい。:2007/05/09(水) 13:01:30
おまいも微妙だな
754名無しさん@お腹いっぱい。:2007/05/09(水) 13:17:14
zsh-loversにのってるような変態tipsを紹介すればいいのに
755名無しさん@お腹いっぱい。:2007/05/25(金) 03:27:08
builtin sleep が欲しいなと思ったら zselect -t が使えた
756名無しさん@お腹いっぱい。:2007/05/25(金) 04:26:49
bash の complete-into-braces (M-{) って zsh だと
どうすればいいんでしょうか?
75787:2007/06/09(土) 00:33:14
% wget http://www.zsh.org/pub/zsh-4.3.4.tar.gz
% tar xzvf zsh-4.3.4.tar.gz
% cd zsh-4.3.4
% ./Util/preconfig
% ./configure --enable-multibyte --enable-locale
% make
% sudo make install

どこに記述すればいいんだいよう
758名無しさん@お腹いっぱい。:2007/06/14(木) 03:25:54
tab補完でtab押すごとに補完候補が順に入力された状態になるけど
行き過ぎたときに戻る方法ってありませんか?
shift+tabとか押してみたけどダメだった
759名無しさん@お腹いっぱい。:2007/06/14(木) 03:28:36
Ctrl+Pは?
760名無しさん@お腹いっぱい。:2007/06/14(木) 03:40:28
>>759
コマンド自体が一個前のに戻るだけでした
761名無しさん@お腹いっぱい。:2007/06/14(木) 05:52:05
>>758
# 補完候補を←↓↑→で選択。
zstyle ':completion:*:default' menu select true

で、矢印キーで移動するのはダメですか?
762名無しさん@お腹いっぱい。:2007/06/14(木) 09:37:53
自分は undo を使う
763名無しさん@お腹いっぱい。:2007/06/14(木) 11:34:06
>>758
C-/
764名無しさん@お腹いっぱい。:2007/06/14(木) 15:27:19
みなさんレスありがとうございます

>>761
おぉ、そんな便利なこともできるんですね

>>762
>>763
できました
765名無しさん@お腹いっぱい。:2007/06/14(木) 21:35:57
undo したあと redo ってどうやりますか?
766名無しさん@お腹いっぱい。:2007/06/14(木) 23:03:04
unko したあと redo ってどうやりますか?
767名無しさん@お腹いっぱい。:2007/06/15(金) 10:39:14
>>766
気合いで尻の穴に吸い込め
768名無しさん@お腹いっぱい。:2007/06/15(金) 12:23:07
redoをbindkeyで好きなキーに割り当てればいいのではないでしょうか
769名無しさん@お腹いっぱい。:2007/06/17(日) 12:07:51
あるコマンドで hogehoge=filename などとファイル名を渡すときに、
=(nannkano_command) の一時ファイルで物臭をやろうとすると
hogehoge==(nannkano_command) となって == の解釈でエラーに
なってしまう。エスケープしても別のエラーになる。うまくやる方法は
ないかな。
770名無しさん@お腹いっぱい。:2007/06/17(日) 12:23:31
zfsから誘導されてきました

http://pc11.2ch.net/test/read.cgi/unix/1181716111/27

できればこのキチガイをzshから出さないようにしてください。
迷惑です。
771名無しさん@お腹いっぱい。:2007/06/17(日) 12:35:51
>>769
$ hogehoge='=(nannkano_command)'
$ echo "$hogehoge"
=(nannkano_command)

↑ってできるけど、これじゃ駄目なの?
772名無しさん@お腹いっぱい。:2007/06/17(日) 12:57:39
いや駄目だと思うが…
773名無しさん@お腹いっぱい。:2007/06/17(日) 13:03:22
>769
=(command) の一時ファイルはすぐ消えちゃうよ。かりに hogehoge=... に渡せても、それを再利用したときにはもう消えてると思うんだけど、どういう風に利用することを考えているの?
っていうか、やりたいのは `...` の方だったりしない?


あと、わたしの手元では
hogehoge==(command)
でも一時ファイル名はちゃんと取れるけどなあ。
774名無しさん@お腹いっぱい。:2007/06/17(日) 13:33:25
>>773
ファイルの要る部分だけを抜き出して渡したいんですよ。履歴に突っ込んでおいて
たまに呼び出したいぐらいの軽い用途です。

たしかに単独の変数代入だと自分ところでも動きますが、コマンド途中だとエラーに
なってしまいます。例えば、
$ echo hogehoge==(command)
zsh:  not found
775名無しさん@お腹いっぱい。:2007/06/17(日) 19:10:37
watch と打ったあとに引数のところでコマンド名の補完して欲しいんだけど
どう設定したらいいですか?
776名無しさん@お腹いっぱい。:2007/06/17(日) 19:19:04
compdef _precommand watch
かな
777名無しさん@お腹いっぱい。:2007/06/17(日) 19:29:19
>>776
できました
ありがとうございます
bashから乗り換えたけど色々と便利ですね
778名無しさん@お腹いっぱい。:2007/06/27(水) 03:40:21

拡張子に応じたコマンドを自動実行
http://journal.mycom.co.jp/column/zsh/016/
779気まぐれアナスイ:2007/06/27(水) 11:53:22
>>778
なるほど? そういう事ですか…
780名無しさん@お腹いっぱい。:2007/06/27(水) 13:56:37
mycom の zsh の連載、まだ続いてたのか
781名無しさん@お腹いっぱい。:2007/06/27(水) 14:50:24
こないだなんかネタを募集してたぞ
http://journal.mycom.co.jp/column/zsh/015/
782名無しさん@お腹いっぱい。:2007/07/01(日) 21:04:02
bindkey -v でコマンドスタックが使えないんですが
bindkey '^Q' push-line だとだめ、bindkey の出力にはちゃんとでてるのに
bindkey '^P' push-line だとできるが P は別で使ってるので...

bindkey -v の人スタックどうしてるんだろう?使ってないとか?
783名無しさん@お腹いっぱい。:2007/07/03(火) 04:42:58
bindkey "^Q" push-lineで普通に使えるが。
784名無しさん@お腹いっぱい。:2007/07/03(火) 16:58:40
今までtcshを使っていましたが、 zshならscreenでsshをする場合、
screenのウィンドウ名にログイン先のホスト名が自動で付けれる ので最近zshに乗り換えたものです。

聞きたいのですが、

% history
1 less .zshrc
2 ls
3 man man
4 history

という履歴において先ず、l(小文字のLです)とタイプして ↑を押す時、
tcshの場合は 「history」 や 「man man」 を飛ばして ll(小文字のLです)から始まる 「ls」 を表示してくれますが
zshの場合は 「history」 と表示されます。

ネットで調べたら

autoload history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^P" history-beginning-search-backward-end
bindkey "^N" history-beginning-search-forward-end

と.zshrcに書いて Ctrl+P、Ctrl+Nでtcsh上の矢印を使った履歴検索が実現できました。
しかし、自分はやはり慣れた↑や↓を使いたいのですが どう書けばzshで実現できるのでしょうか?

どなたかご教授おねがいします。
785名無しさん@お腹いっぱい。:2007/07/03(火) 18:48:30
bindkey で矢印キーに割り当てる
786名無しさん@お腹いっぱい。:2007/07/03(火) 18:48:48
"^[[A" "^[[B"っつーことか?

ついでに「ご教授」でもググってみることをすすめるとく
787784:2007/07/03(火) 20:33:42
>>785
そうなんです 結局矢印キーは
どういうコードで表わされるかを
聞きたかったんです。


意味不明な文ですみませんでした。

>>786
ありがとうございました。
"^[[A" "^[[B" で実現できました。

「ご教授」を「教えてください」の丁寧語の意味で使っていました。
こういう場合は「ご教示」なのですね。
失礼しました。
788名無しさん@お腹いっぱい。:2007/07/03(火) 20:40:42
通常の設定なら、「Ctrl-v 何らかのキー」でそのキーの端末コードがわかる
789名無しさん@お腹いっぱい。:2007/07/03(火) 23:02:51
> screenのウィンドウ名にログイン先のホスト名が自動で付けれるので最近
> zshに乗り換えたものです。

自動で付けてくれるような機能あんだっけ?
790784:2007/07/03(火) 23:27:25
>>788
あっ 本当ですね
こんな機能、全く知りませんでした。
教えてくれてありがとうございました。


>>789
すみません、文章が不正確でした。
正しくは、.zshrcに

function ssh_screen(){
eval server=?${$#}
screen -t $server ssh "$@"
}
if [ x$TERM = xscreen ]; then
alias ssh=ssh_screen
fi

を記述したらできます。
ttp://d.hatena.ne.jp/naoya/20051223/1135351050


でも自分の環境は2行目の
eval server=?${$#}
で失敗するので、この2行目を
A=$#
eval server=$"$A"
としています。
791名無しさん@お腹いっぱい。:2007/07/03(火) 23:41:57
「教授する」という動詞もあるので「ご教授願います」でも構わない、
と聞いたこともある。
792名無しさん@お腹いっぱい。:2007/07/04(水) 00:52:42
単に大仰かどうかという話だ
793名無しさん@お腹いっぱい。:2007/07/04(水) 01:11:04
>>790
これはリモートでコマンドを実行するんじゃなくて、リモートログインするという前提なのか?
それなら
function ssh_screen {
    screen -t $@[-1] ssh "$@"
}
とかでいいんじゃないの。
794784:2007/07/04(水) 02:12:45
>>793
>これはリモートでコマンドを実行するんじゃなくて、リモートログインするという前提なのか?
そうです。

>function ssh_screen {
> screen -t $@[-1] ssh "$@"
>}
>とかでいいんじゃないの。
今まで動けばいいと思って、大して気にしていませんでした。

指摘されたこの機会に見直してみました。
自分はsshを使うとき
% ssh ホスト名 -l リモートのユーザー名
と使うので

function ssh_screen {
screen -t $1 ssh "$@"
}
としてみました。
795名無しさん@お腹いっぱい。:2007/07/04(水) 08:46:05
>>791
間違いではないが、
本来言いたいこととは意味がちょっと違う。
http://www.tt.rim.or.jp/~rudyard/torii009.html
796名無しさん@お腹いっぱい。:2007/07/07(土) 00:11:03
http://pc11.2ch.net/test/read.cgi/unix/1079601220/132-133n
に「諸君、私はzshが好きだ」が張られているわけだが。
どうしてこのスレに書かないのか疑問だ。w
797名無しさん@お腹いっぱい。:2007/07/07(土) 00:27:05
>>796
「zsh! zsh! zsh!」
798名無しさん@お腹いっぱい。:2007/07/09(月) 04:54:36
今いるフォルダ(フォルダ名:number)に one two three というフォルダがあるとして

    ls *~two

とすると one three が表示されます

    cd ..
    ls number/*~two

だと one two three が全部表示されてしまって two が除外されないのですがなぜでしょうか?
つД`) タスケレ !!
799名無しさん@お腹いっぱい。:2007/07/09(月) 07:31:37
ls number/*~number/two とか。
800名無しさん@お腹いっぱい。:2007/07/09(月) 09:49:08
ls number/(*~two)
801名無しさん@お腹いっぱい。:2007/07/09(月) 15:09:44
プロンプトに%~を入れているのですが、
プロンプト(または%~)の長さが一定以上なら改行して次の行の先頭に
> を出すようにしたいと考えているのですが、
そういうことできますか?

長さによって次のうち適当な方になるようにしたい↓

通常:
~/どこそこ>

長いとき:
~/じゅげむじゅげむごこうのすりきれぱいぽぱいぽ
>
802名無しさん@お腹いっぱい。:2007/07/09(月) 15:29:41
LF=$'\n'
PROMPT="%~%20(l.$LF.)> "
803名無しさん@お腹いっぱい。:2007/07/10(火) 02:54:30
ありがとうございます。条件分岐なんてできたんですね。
804名無しさん@お腹いっぱい。:2007/07/10(火) 03:00:37
LFを定義するかわりに
PROMPT='%~%20(l,
,)> '
と書いてもいけました。
805名無しさん@お腹いっぱい。:2007/07/10(火) 09:17:30
こんなことしてみた
zstyle -e ':completion:*:processes' command '
    [[ "$oldcontext" = *sudo* ]] &&
        reply=("ps -e") ||
        reply=("ps -u $USER")
'
きもいので没リスト行き。
806798:2007/07/11(水) 17:45:11
>>799, 800
ありがと━(・∀・)━!!!!

アクセス規制で返事遅れ orz
807名無しさん@お腹いっぱい。:2007/07/28(土) 11:04:19
parent_dir1/subdir/hoge.txt
parent_dir1/subdir/fuga.txt
parent_dir2/aho.txt
parent_dir2/aho2.txt

みたいな状態で子ディレクトリ(parent_dir1/subdir/ or parent_dir2/)単位に
処理をしたいとします。

for dir in *(/)
do
targetdir=$(echo ${dir}/*...) <= ここに$dirの下に子dirがあればソレ
以下いろいろ処理 なければ$dirを targetdirにセットしたい
done

*(/) にマッチしなければ . にマッチとか
何か条件マッチするglob みたいなことってできないんでしょうか?
808名無しさん@お腹いっぱい。:2007/07/31(火) 15:38:01
>>807
末端のディレクトリだけを対象にしたいということ?
findを使うのはダメですか?

find ./ -type d | while read dir
do
  if [ -z $(find $dir -mindepth 1 -maxdepth 1 -type d) ]
  then
    # dirに対する処理
  fi
done
809名無しさん@お腹いっぱい。:2007/07/31(火) 16:09:27
エントリごとにfind起動しなくても、
postorderで出力させて文字列マッチでいいんじゃない。これでどう?

dir0=
find -d topdir -type d | while read -r dir
do
  case "$dir0" in
  "$dir"/*) ;;
  *) echo "$dir";; # dirに対する処理
  esac
  dir0="$dir"
done

findにファイル名中の改行を出力するとき\を前置するオプションが欲しい。
つまり-rなしのreadと対で使えるような。
810名無しさん@お腹いっぱい。:2007/07/31(火) 16:53:45
なるほど一つ前のdirを覚えておいて
それをマッチさせるってことか。

>末端のディレクトリだけを対象にしたいということ?

そういうことだったんですが、
結局お目当てのファイルが当該ディレクトリにあるかどうかを
判別して処理みたいなことをしてしまいました

for dir in *(/)
do
subdir=''
for sd in ${dir}/**/*(#qN/) ${dir}
do
if [[ -e omeate-file-name ]]; then
subdir=$sd
break
fi
done
# subdir での処理
done
811名無しさん@お腹いっぱい。:2007/08/09(木) 05:47:45
screenのtitleを実行中のコマンド名に自動的にかえることができるらしいので、
^[k^[\ ( ^[ はエスケープ文字)をPROMPTの頭に追加したところ、
候補のリストがプロンプト行の下に複数行にわたって出てくるような補完を実行したり、
折り返しのある行の履歴をesc+kで戻って(vi modeです)編集したりするときに、
カーソルが4バイト分右にずれたり、一行上にずれたりよくわからない動作をするように
なってしまいました。
setopt no_always_last_prompt で、複数行の候補の出る補完をした際のずれは
なくなったんですが、コマンド履歴からの行編集はやはりカーソルが一行上や
4バイト右にずれます。
対処法ご存知の方いらっしゃいませんか。

812811:2007/08/09(木) 05:49:05
--- .zshrcからsetoptとPROMPTの部分を抜粋
setopt no_always_last_prompt
setopt auto_cd
setopt auto_list
setopt auto_pushd
setopt no_auto_remove_slash
setopt no_extended_history
setopt glob_dots
setopt hist_ignore_all_dups
setopt hist_reduce_blanks
setopt hist_save_no_dups
setopt no_hup
if [ ! "$STY" -o "$WINDOW" = 0 ]; then
setopt ignore_eof
fi
setopt inc_append_history
setopt no_list_beep
setopt no_prompt_cr
setopt prompt_subst
setopt pushd_ignore_dups
setopt rm_star_silent
setopt no_share_history

if [ "$STY" ]; then
PROMPT='^[k^[\%{$prompt_color%}[%n@%m:%d]%#%{$reset_color%} '
else
PROMPT='%{$prompt_color%}[%n@%m:%d]%#%{$reset_color%} '
fi
色つける部分とってみても結果は同じでした。
813名無しさん@お腹いっぱい。:2007/08/09(木) 06:24:11
>>811
812の中に答あるじゃん。
814811:2007/08/11(土) 13:01:42
^[k^[\ を %{ %} でくくったらなおった模様。 813は答を書かないなら黙ってろ。
815名無しさん@お腹いっぱい。:2007/08/12(日) 02:33:12
誰が何書こうがいいんじゃね。
自分の欲しい答じゃないと逆ギレするくらいなら最初からこんなとこで質問するなよ。
816名無しさん@お腹いっぱい。:2007/08/12(日) 02:47:46
まあこの手の質問には「OS入れなおせ」とかトンチンカンな答え返す香具師がいるからね。
817名無しさん@お腹いっぱい。:2007/08/12(日) 11:01:02
>>814
夏ですねー。
818名無しさん@お腹いっぱい。:2007/08/24(金) 13:34:45
これってどう発音するの?

ゼットシェル
ゼットエスエッチ
ズィーシェル
ズィーエスエッチ
ズィーッシュ

おれは心の中で、いつも最後のやつで呼んでいるお。
819名無しさん@お腹いっぱい。:2007/08/24(金) 13:43:30
>>818
UNIXに関する言葉のひらがな読みスレッド
http://pc11.2ch.net/test/read.cgi/unix/1001358861/
820名無しさん@お腹いっぱい。:2007/08/24(金) 14:00:58
>>818
ズドラービスチェ
821名無しさん@お腹いっぱい。:2007/08/24(金) 16:35:03
ザッシュと心の中で発音してるかな。
bash(バッシュ)とかash(アッシュ)の流れ。
でもcsh(シーシェル)、tcsh(ティシーシェル)、ksh(コーンシェル)だったりするけど。
822名無しさん@お腹いっぱい。:2007/08/24(金) 16:52:32
もう>>819に移動したみたいよ。
823名無しさん@お腹いっぱい。:2007/09/15(土) 00:01:52
zshのプロンプトが勝手に左端に戻ってしまうのを避ける方法はありますか?
たとえば、
perl -e 'print "hoge"'
すると、(プロンプトを[PROMPT]と書くとして)
hoge[PROMPT]
が一瞬で
[PROMPT]
にもどってしまうのでhogeが出力されたのか判別できなくて困るときがあります。
気を付けているときはよいですが、Perlのプログラムのバグ取りをprint文を使って
行っているとき、これにうっかりしていて嵌まるときあります。
(プログラム中の正規表現で正しく切り取れたか確認するとき等)

bashのときは
hoge[PROMPT]
のままだったのですが、zshでもこういう風にする方法はありますか?
824名無しさん@お腹いっぱい。:2007/09/15(土) 00:19:34
setopt no_prompt_cr
825823:2007/09/15(土) 09:05:38
>>824
解決しました。ありがとうございます!
826名無しさん@お腹いっぱい。:2007/09/15(土) 22:37:35
そういえばいつのまにか prompt_sp なんてのがあるんだね。
promptnl みたいに

unsetopt prompt_cr
PROMPT=$'%{${fg[blue]}[EOO]${fg[default]}\e[$[COLUMNS-7]C \r%}'$PROMPT
(C の後は半角スペース2個)

ってやってるから使う気ないけど。
% のところを任意の文字列/色にできれば prompt_sp に任せるんだけどなあ。残念。
827名無しさん@お腹いっぱい。:2007/09/15(土) 22:39:35
>>787
zkbd ってのもあるよ。まあ要らないかな。
828名無しさん@お腹いっぱい。:2007/09/16(日) 00:04:12
しばらくプロンプトが戻ってこない操作(makeとか)が終了したらbeep鳴らそうと
precmd() {echo -n '\a'}
としてみたけど、流石にうざい。

もっとうまい方法きぼんぬ。
829名無しさん@お腹いっぱい。:2007/09/16(日) 00:06:01
icqとかのwav
830名無しさん@お腹いっぱい。:2007/09/16(日) 00:51:26
make; echo -n '\a' じゃだめなの?
831828:2007/09/16(日) 01:32:53
うん。忘れるから。
832名無しさん@お腹いっぱい。:2007/09/16(日) 01:48:45
eject
833名無しさん@お腹いっぱい。:2007/09/16(日) 03:08:16
>>832
それはbiff用(謎)
834名無しさん@お腹いっぱい。:2007/09/16(日) 03:11:16
コマンド実行時間が一定以上なら音を出す、
とかすればいいのかな。
できるのか知らんけど。
835名無しさん@お腹いっぱい。:2007/09/16(日) 03:29:00
ring_after=$1
shift

(sleep $ring_after; echo ^G^G^G) &
ringer_pid=$!
trap "kill $ringer_pid" CHLD
sh -c $*

思いつきで書いてみた。検証はしていない。
836名無しさん@お腹いっぱい。:2007/09/16(日) 04:24:15
>>834
precmd () { [ $TTYIDLE -gt 10 ] && echo ^G; true }
かな。
837名無しさん@お腹いっぱい。:2007/09/16(日) 06:41:14
threshold=5
precmd () { (( ${+EXEC_SECONDS_START} )) && (( SECONDS - EXEC_SECONDS_START > threshold )) && echo \\a ; unset EXEC_SECONDS_START }
preexec () { (( EXEC_SECONDS_START = SECONDS )) }

とか。TTYIDLE なんてあるんだね。
838名無しさん@お腹いっぱい。:2007/09/16(日) 06:46:58
>>836
最後の true って意味あんの?
839828:2007/09/16(日) 18:47:42
翼をありがとう

                 ハ_ハ  
               ('(゚∀゚∩ とべるよ!
                ヽ  〈 
                 ヽヽ_)
840名無しさん@お腹いっぱい。:2007/09/19(水) 01:39:19
zshで、指定されたこのディレクトリ以下の、XXXX年Y月ZZ日以前に作成されたファイルを一覧し、確認後、
一括削除したいのですが、どのようにすればいいのかわかりますでしょうか?
841名無しさん@お腹いっぱい。:2007/09/19(水) 09:07:11
touch -d YYYYMMDD dummyしておいて
echo **/*(e:'[[ $REPLY -ot dummy ]]':) とか?

ファイルのタイムスタンプじゃなく日付で比較する方法がわからんかった。

**/*(mh+2) でmtimeで2時間以上経ってるファイルってのは示せるな。
h(時間)以外に月や日数は指定できるが、具体的な日付は指定できないようだ。
842名無しさん@お腹いっぱい。:2007/09/19(水) 15:56:58
findでやった方がいいんじゃないか
843名無しさん@お腹いっぱい。:2007/09/19(水) 16:59:02
zshスレでそれを言っちゃあおしめぇよ (?)
844名無しさん@お腹いっぱい。:2007/09/19(水) 20:44:16
あ、やっぱりそうだったんだ。
なんでfind -atime使わないのかと思ってた
845名無しさん@お腹いっぱい。:2007/09/19(水) 21:17:12
findでのやり方を知った上でzshではどうなるかを考えるべきなんだろうけど。
echo **/なんたらだと argument too longになることがあるしね。

846名無しさん@お腹いっぱい。:2007/09/23(日) 10:32:04
select-word-style shell
って multibyte 対応になってからおかしくなったよね。

(( CURSOR += ${#word} ))
ってやってて(wordはこれからまたごうとしている語)、
${#word} が bytes で CURSOR が chars だからみたいだけど。

${#word} を chars で取得する方法か CURSOR を bytes で設定する方法はあるかな。
誰か知らない?
$(wc<<<$word) とかはちょっと重いからなあ。
multibyte parse を自前でやるって手もあるけど。
847名無しさん@お腹いっぱい。:2007/09/27(木) 05:27:16
% echo a b c
a b c
% echo !:2[TAB]
% echo b
% !:0-2[TAB]
% echo a b

知らんかった機能だけどわりと便利かも
848名無しさん@お腹いっぱい。:2007/09/27(木) 11:15:49
csh 由来の古典的な過去履歴参照もいろいろ痕跡は残ってるし
使いこなせば便利な場面はあるんだろうけど
オツムの 使いこなしバッファ の容量がもう溢れてるザンス
849名無しさん@お腹いっぱい。:2007/09/27(木) 15:35:24
c-/ でUndoって紹介されているサイトがあるけど、自分のところではUndoにならん。どして?
850名無しさん@お腹いっぱい。:2007/09/27(木) 15:40:45
bindkey -e
851名無しさん@お腹いっぱい。:2007/09/28(金) 12:22:50
>>849
端末は何?
TeraTermやPoderosaだとだめかも
852名無しさん@お腹いっぱい。:2007/09/28(金) 12:53:11
端末はTeraTerm、sshで入っている。そして、指摘通り駄目だった。
ちなみにホストはVMware上のFreeBSD。こちらも駄目。
もちろん、bindkey -e は有効にしているのだけど、何か方法ありませんか?
853名無しさん@お腹いっぱい。:2007/09/28(金) 18:10:08
stty ?
854名無しさん@お腹いっぱい。:2007/09/28(金) 19:50:38
>>852
UTF-8 TeraTerm Pro with TTSSH2なら何もせずにいける.
ttp://sourceforge.jp/projects/ttssh2/

古いTeraTermならこれでいける
ttp://www.sakurachan.org/ml/teraterm/msg00422.html
855名無しさん@お腹いっぱい。:2007/09/29(土) 00:30:55
>>854
UTF-8 TeraTerm Pro with TTSSH2 にしてみたけど、駄目みたい。
c-x u は有効なんだが・・・。
856名無しさん@お腹いっぱい。:2007/09/29(土) 08:44:52
>>855
日本語キーボードだとだめかも
C-_ はどう?
(/ と 右シフトの間のキー)
857名無しさん@お腹いっぱい。:2007/09/29(土) 14:16:30
当方、日本語キーボードです。
C-_でも駄目でした。
858名無しさん@お腹いっぱい。:2007/10/04(木) 00:17:50
>>857
bindkey |grep undo

"^_" undo
って出る?
C-_ って Ctrl+Shift+\ だよね?念の為。
859名無しさん@お腹いっぱい。:2007/10/04(木) 00:19:57
% zsh -c 'printenv SHLVL'
3
% sh -c 'printenv SHLVL'
4

って出るのはバグ?
860名無しさん@お腹いっぱい。:2007/10/04(木) 02:15:27
C-/ は?
861名無しさん@お腹いっぱい。:2007/10/04(木) 15:22:40
>>858
bindkey | grep undo

の結果は

"^X^U" undo
"^Xu" undo
"^_" undo

--
C-/でも駄目でした。
862名無しさん@お腹いっぱい。:2007/10/05(金) 02:40:33
>>861
そういえばね、
gvim on windows + jp106 での話なんだけど、
C-/ と C-_(C-S-\) では C-_ が入らなくて
C--(Ctrl+-) で C-_ が入るんだよね。
なんでか知らんけど。
で、C-- で C-_ が入るかもよって話。
863名無しさん@お腹いっぱい。:2007/10/05(金) 03:22:32
そもそも/のコントロールコードはアスキーにないから
端末の問題だと思うね。
手元だとckならC-/でC-_が出るみたいだけどcywginのrxvtだと駄目だった。
864名無しさん@お腹いっぱい。:2007/10/09(火) 23:35:20
acroread のcompletion が遅い!!
completion の前にadobe(acro)readerのバージョンチェックで
一度 acroread を起動している。個人としての対応は
_acroread_version='7.0.9'
のように変数の値を指定してしまえば回避できる。

補完スクリプトをもっと改善できるだろうが、中途半端に改善するより
遅さに気付いたユーザが最速の対応をする方がよいのかな。
(ユーザが気付くくらい遅くしておかないといけない)
865名無しさん@お腹いっぱい。:2007/10/16(火) 00:01:49
zsh のコマンドラインで : とだけ入力したら、
エラーも出ずにプロンプトに戻ってきましたが、
これはどういうコマンドなのでしょうか?
866名無しさん@お腹いっぱい。:2007/10/16(火) 00:19:30
何もせずに真を返すコマンド。
zshだけじゃないので、先ずは man sh でも読んで下さい。
867名無しさん@お腹いっぱい。:2007/10/16(火) 00:27:22
:コマンドは、引数をそのまま展開して真を返すコマンド。
zshに限らず、bourneシェル系にはある。

- コメント記号の代わりに使う。
- trueの代わりに使う。
- コマンドが必要な箇所で使う。
else節だけが欲しいがthen節では何もしないif文とか
(↑論理反転したり&&や||で済む場合も多いが)
868名無しさん@お腹いっぱい。:2007/10/16(火) 00:38:25
すいません、sh 一般にあるコマンドだったのですね。
とある .zshenv でトリッキーに使われていたので、
てっきり zsh の魔法に違いないと思い込んでしまいました。
詳しい説明、ありがとうございました。
869名無しさん@お腹いっぱい。:2007/10/31(水) 20:49:06
zcompile って速くなってるの体感できる?
全然わからないんだけど。
870名無しさん@お腹いっぱい。:2007/11/01(木) 05:41:20
俺も全部zcompileしてるけど全然わからないw
871名無しさん@お腹いっぱい。:2007/11/09(金) 19:50:36
関数で数値や文字列を返したいときってやっぱり
echo $result
な感じでしょうか?
872名無しさん@お腹いっぱい。:2007/11/12(月) 18:04:16
bashのHISTIGNOREみたく特定のパターンにマッチするコマンドを
履歴に入れないようにするにはどうすればいいんでしょうか?
873名無しさん@お腹いっぱい。:2007/11/12(月) 18:42:27
zshの事は詳しくないのでもっと良い方法があるかもしれないけど
setopt hist_ignore_space をしてから alias ls=' ls' って先頭にスペースを入れると履歴に残らないよ
874名無しさん@お腹いっぱい。:2007/11/12(月) 18:59:16
起動中のプロセスの履歴には残って欲しいが.zhistoryに保存まではされたくない
という希望にかなう設定はできるのかしら。
875名無しさん@お腹いっぱい。:2007/11/12(月) 22:29:25
たまにヒストリファイルを掃除汁
876名無しさん@お腹いっぱい。:2007/11/13(火) 09:10:48
エロエロwget の履歴は .zhistory に残って欲しくないとか…ね…
877名無しさん@お腹いっぱい。:2007/11/13(火) 11:20:27
それこそ>>873で対応可能
878872:2007/11/13(火) 13:29:44
>>873
それでいくことにします。ありがとうございます。
879名無しさん@お腹いっぱい。:2007/11/15(木) 03:11:18
#!/bin/zsh
hoge="aaa bbb"
for f in $hoge; do
echo $f
done

これの結果が
aaa
bbb
ではなく
aaa bbb
となるのはzshの仕様なのでしょうか?
880名無しさん@お腹いっぱい。:2007/11/15(木) 03:17:28
バグだと言いたいのですか?
881名無しさん@お腹いっぱい。:2007/11/15(木) 09:53:27
>>879
$hoge デフォルト単語分割しない。SH_WORD_SPLITで変更可能
${=hoge} 常に単語分割する
${==hoge} 常に単語分割しない

マニュアル嫁。
882名無しさん@お腹いっぱい。:2007/11/17(土) 16:37:27
変数の展開にかんして質問です.
下記の 2 行目の「()」は,先頭部分(?)にマッチするという意味だと
思うんですが,これについての記述は man zshall のどの当たりに書
いてあるんでしょうか?

% list=(a b c)
% echo "${(@q)list/()/X}"
Xa Xb Xc

PARAMETER EXPANSION の当たりをざっと眺めてみましたが見つけられませんで
した.
883名無しさん@お腹いっぱい。:2007/11/17(土) 21:35:03
> 先頭部分(?)にマッチするという意味

違うんじゃないの? 空文字列にマッチだろう。だからそれが最初にマッチするのは
文字列先頭ということになる。要するにスラッシュが2つくっついて//になって
しまうことを防ぐために空に展開されるものなら何でもいいんだと思うけど。

% echo "${(@q)list/''/X}"
Xa Xb Xc
% echo "${(@q)list/$nosuchvariable/X}"
Xa Xb Xc
884名無しさん@お腹いっぱい。:2007/11/18(日) 14:30:38
.zshrcに

case "${OSTYPE}" in
freebsd*|darwin*)
alias ls="ls -G -w"
;;
linux*)
alias ls="ls --color"
;;
esac

と書いているんですが、ls -laしたときにディレクトリの色が青色で表示されてモニタのせいか、見にくいのですが
他の色に変更するにはどうすればいいんでしょうか?
885名無しさん@お腹いっぱい。:2007/11/18(日) 15:29:15
LSCOLORS でぐぐるなり man ls するなり
886名無しさん@お腹いっぱい。:2007/11/19(月) 22:18:36
今現在実行中のコマンドを端末のタイトルバーに表示するのは無理ですかね?
887名無しさん@お腹いっぱい。:2007/11/19(月) 22:36:57
888名無しさん@お腹いっぱい。:2007/11/22(木) 02:32:58
おれ漢のzshってとこのやつそのままコピペしてる
889名無しさん@お腹いっぱい。:2007/11/24(土) 01:58:31
> < * " ' ( ) をシェルが解釈できなくする方法ありますか。

sqlをコマンドラインから直に打ちたくて

自作sqlコマンド select * from xxx whete c > 10 見たいな感じで。
わざわざエスケープするのがしんどい。

これができれば、補填とか履歴を有効活用できるので。
890名無しさん@お腹いっぱい。:2007/11/24(土) 07:53:44
その自作コマンドのラッパ関数でも書けばいいんじゃないの
891名無しさん@お腹いっぱい。:2007/11/24(土) 09:12:09
unsetopt glob とか頑張れば出来るかもしれないけど
たぶん自分が困るだけだからやめた方がいいよ
892名無しさん@お腹いっぱい。:2007/11/24(土) 11:48:10
>>889
マルチすんなゴミクズ
893名無しさん@お腹いっぱい。:2007/11/24(土) 13:46:31
>>892
bashとzshで聞き分けただけじゃないか。
じゃ、ここでbashも聞けって事か?それは違うでしょ。
894名無しさん@お腹いっぱい。:2007/11/24(土) 17:37:36
SQL関連のスレで聞けばいいんじゃね?
895名無しさん@お腹いっぱい。:2007/11/24(土) 18:29:21
>>894
zshの補填機能を使いたいって話でしょ。
それじゃ意味なくね
896名無しさん@お腹いっぱい。:2007/11/24(土) 21:36:38
そうはいっても元の質問に意味がないからな
897名無しさん@お腹いっぱい。:2007/11/26(月) 02:15:23
>>890-896
おまいらスゲーよ。
煽りにしか見えないけど、かなりレベル高い話してるってのはわかる。

早く、このスレで煽ったり、釣ったりできるようにzshを精進するよ。
898名無しさん@お腹いっぱい。:2007/11/26(月) 02:52:22
ぜんぜんすごくないよ。
ウンコするときオシッコ出るのやめさせる方法ありますか?
って質問に
ヒモでしばっとけばとか
チンコを便器からはみ出しとけばとか
そんな類のレスしてるだけだよ。
899名無しさん@お腹いっぱい。:2007/11/26(月) 03:20:20
a="-F -l"
ls $a
とすると
ls "-F -l"
と展開されてしまうようですが、
ls -F -l に展開させるにはどうすればいいでしょうか?
900名無しさん@お腹いっぱい。:2007/11/26(月) 08:42:23
901899:2007/11/26(月) 09:19:40
>>900 ご親切にありがとうございます。
902名無しさん@お腹いっぱい。:2007/12/16(日) 20:28:34
質問です.
{0..9}と同じように,{a..f} を a b c d e f に展開することってできますか?
903名無しさん@お腹いっぱい。:2007/12/16(日) 20:42:12
{a-z} で我慢してくれ

setopt brace_ccl
904名無しさん@お腹いっぱい。:2007/12/17(月) 00:18:08
>>902
bash -c 'echo {a..f}'
905名無しさん@お腹いっぱい。:2007/12/18(火) 21:35:32
>>904
ども.
なんだかんだいっても Bash の方が素直で便利そうですね.
Linux 標準なのも納得.
906名無しさん@お腹いっぱい。:2007/12/18(火) 23:36:22
iya,sono rikutu ha okasii
907名無しさん@お腹いっぱい。:2007/12/19(水) 00:34:53
結論を先に決めてる香具師に何をいっても無駄
908名無しさん@お腹いっぱい。:2007/12/30(日) 16:30:57
>>889
rlwrap rlfe とかじゃダメで zle を使いたいってこと?
もういないか。

# rlwrap rlfe だと zle レベルの補完ができないのかな。
909名無しさん@お腹いっぱい。:2008/01/02(水) 20:55:53
誰か _nkf 持ってない?
公開願い
910名無しさん@お腹いっぱい。:2008/01/05(土) 18:00:44
>>909
最近のには対応してないけど…

#compdef nkf
typeset -A opt_args
local context state line
_arguments -C -s -S \
  '(-u)-b[Output is bufferred (DEFAULT)]' \
  '(-b)-u[Output is unbufferred]' \
  '(-s -e -w)-j[Outout code is JIS 7 bit (DEFAULT)]' \
  '(-j -e -w)-s[Outout code is Shift JIS]' \
  '(-j -s -w)-e[Outout code is AT&T JIS (EUC)]' \
  '(-j -s -e)-w[Outout code is UTF-8]' \
  '(-S -E -W)-J[Input assumption is JIS 7 bit]' \
  '(-J -E -W)-S[Input assumption is Shift JIS]' \
  '(-J -S -W)-E[Input assumption is AT&T JIS (EUC)]' \
  '(-J -S -E)-W[Input assumption is UTF-8]' \
911名無しさん@お腹いっぱい。:2008/01/05(土) 18:01:10
  '-t[no conversion]' \
  '(-o_)-i_[Output sequence to designate JIS-kanji/ASCII (DEFAULT B)]' \
  '(-i_)-o_[Output sequence to designate JIS-kanji/ASCII (DEFAULT B)]' \
  '-r[{de/en}crypt ROT13/47]' \
  '-h-[hirakana-katakana conversion]::(1\:hirakana\-\>katakana 2\:katakana\-\>hirakana 3\:both)' \
  '(-v --help)'{-v,--help}'[Show this usage]' \
  '(-V --version)'{-V,--version}'[Show version]' \
  '(-M)-m-[MIME decode]::(B\:base64 Q\:quoted N\:non\-strict 0\:no\ decode)' \
  '(-m)-M-[MIME encode]::(B\:base64 Q\:quoted)' \
  '-l[ISO8859-1 (Latin-1) support]' \
  '(-F)-f-[Folding: -f60 or -f or -f60-10 (fold margin 10)]:fold width:' \
  '(-f)-F-[Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl]:fold width:' \
  '-Z-[Convert X0208 alphabet to ASCII  1: Kankaku to space, 2: 2 spaces, 3: Convert HTML Entity]::(1 2 3)' \
  '-X[Assume X0201 kana in MS-Kanji]' \
  '-x[Preserves X0201]' \
  "-B-[Broken input  0: missing ESC, 1: any X on ESC-\[($\]-X, 2: ASCII on NL]::(0 1 2)" \
  "-O+[Output to File (DEFAULT 'nkf.out')]:out file:" \
  '-I[Convert non ISO-2022-JP charactor to GETA]' \
  '-L-[line mode u:LF w:CRLF m:CR (DEFAULT noconversion)]::(u w m)' \
  '--overwrite[Overwrite original listed files by filtered result]' \
  '*:argument:_files' \
  && return 0
912909:2008/01/06(日) 04:03:33
>>910
thx.

ちょっと追加してみた。

% < _nkf | gzip | base64
H4sIAALUf0cAA6VV33PaRhB+91+x47YGtWwtcOq4eugMJpDiQJwYnHgqeTyHOKEz0knRnYw9nvzv
2RNIwhQ/dPoi3Y/v29vd+3bvJz+J0zkPQC6DA/2UcsU1YBeSVN+xbKEOosRnEfiJ1PxRg9JMc4iE
5AdmO4+51AqwB0jfCXgHAI0m5hbO3Mtcp7kGoWCWBwHPMj6H5rv+oHs9mlq3jRI7szDfwuayQtcY
ss0BVxbeG2RCSD+ZcwO/GE7gLcyE3mf6vqSpXdokFIE25BdgVYD5Lrg7PZoWBzX71z1rl8EtXO0y
rqcDPKuBE8A+4FcLL9yhNHEypfI41SKRL2KoGRclY7KXscf9C5N+w+jvZbwWw5rWt/DrXtqLQFC7
MjFKeOCZIkBtJbmzUNyVt6j4t5xLn4NOYM6VWEijGTocl0zei+PupDccVvcF51vuCDKU/H9DmLnP
c37M5Xc/e0o1XF1O2yfHb95W+yG6ocgYmWFkSxeD7cgcp9n2nBLiofdXhep4Tjk26yUGTjxnlujQ
qmJ5AMSQR6nVeMaH1nr8veFOwmQFOjRSV2zB69i/EH5zvqF8aVXTkvWvvI8tjNEdD8d9yo8Rn3H8
nBxhip++gc+e8y1PNNXdR8+RifRQ6Uz4Gmwz9Tac2uPYwvHGHKX9dXMlAyN3OLk8O/vjT2xDc8S0
kNi2QOVpmmRbah5YGKA7SKK5kAsHMDi1Icnov/6e2ti2oRnQPsTUVISEtm3dOsXCSsx16FSmAgsH
/9kUDCDNqLFlDxxktM8w/oNur7h+DTd2xz4DFqUhm1EvJO2tdQZtBz4wuWTL3CyqlPm8BR0HOuux
asGJA6WVv6fjEfSlFvqpUBOhTqq83bhdU2a8OKsNhX7I1fEEPxhhVzJ9dD9t/FZraLVzju55liw5
VWlRtmA7EAulKCvQn/Raxlkmn+AGqJBpAT23+bN3izeFx+uAaOfjyDhnA7m3ce4QL38r64+iHIiI
1xXWoEfid2p0Dbod0+8C2nUONy4NqwyS1ICEgR2708GLT+CHLGO+phsii+/7024tDR9wZOG8opqX
BWYZZ0tlwKNBDZ0XUP81aO9qB+xbOEK3QMWmL+fOaAArx+Agpl8dlkzq0rdMQnJYQVwlBH2WYpHm
6uyQPwILNM+g4TRuD0tgnkWvA38pgQ1EmccmKTvgaymKF6S3zheRrjg9haYFbiJ7RqJgGhnpISbE
WmVCc2oQl+WYCkGQ7unNjoQytW8uid7gJzMgm7RCmsqjrfpcUOdZ5Fwp03cWrc2EjL43f2pWfKOy
oidsaL865fvv3BVHrNePjsi8zjMJ9sEPBwL4tVwIAAA=
913909:2008/01/06(日) 04:07:01
と、使うぶんには関係ないけど、3行目の
local context state line
って何のためにあるの?
914名無しさん@お腹いっぱい。:2008/01/06(日) 11:45:09
>>913
作った時にはなんかあった気がしたけど今は意味ないね
915名無しさん@お腹いっぱい。:2008/01/12(土) 00:10:08
なるほど
916名無しさん@お腹いっぱい。:2008/01/13(日) 00:19:35
ver. 4.3.2 -> 4.3.4 したら
${#word} の count が bytes から chars になってる。

>>846 にある
select-word-style shell
が multibyte 文字列でもよう動くわ。
グレート。
917名無しさん@お腹いっぱい。:2008/01/26(土) 06:25:38
emacs の shell-modeでC-iの補完候補が他のウィンドウに表示されちゃうんだけど、そっちに出ずにシェルモードのウリンドウに出るにはどうしたらいいですか?
918名無しさん@お腹いっぱい。:2008/01/26(土) 21:00:26
emacs スレで
919名無しさん@お腹いっぱい。:2008/01/26(土) 21:01:45
すいません、zshのときだけの現象だって言うの忘れてました
920名無しさん@お腹いっぱい。:2008/01/28(月) 03:10:29
bash でもなりますが…。
shell-mode の補完は shell-mode の中だけで完結してそう。
921名無しさん@お腹いっぱい。:2008/01/28(月) 21:27:09
>>920
シェル換えて試したらおっしゃる通りでした
記憶違いをしていたようです
ご迷惑おかけして申し訳ありませんでした
922名無しさん@お腹いっぱい。:2008/01/31(木) 13:32:04
CDPATHを設定していると、ファイル名補完したとき
カレントディレクトリ内の候補とCDPATH内の候補が混ざって
アルファベット順に表示されるのですが、カレントディレクトリ内のものを
優先させるにはどうすればいいでしょうか?
923名無しさん@お腹いっぱい。:2008/01/31(木) 14:00:52
>>922
zstyle ':completion*:path-directories' ignored-patterns '*'
924922:2008/01/31(木) 15:16:14
>>923
候補の順序が変わるという動作を期待していたので、ちょっと違いますが
これでもよさそうです。ありがとうございます。
925名無しさん@お腹いっぱい。:2008/02/09(土) 03:12:18
ターミナルで
#yes
って入力するとzsh: command not found: #yes
って言われるんですけd、zshって先頭#つけてもコメントとして
扱ってくれないんですか?
コメントをコマンドとして入れたい場合はどう入力したらいいでしょうか?
926名無しさん@お腹いっぱい。:2008/02/09(土) 03:14:41
>>925
コメントはコマンドとして入力しない。

シェルスクリプトとシェルの区別が出来るようになってからまたおいで。
927名無しさん@お腹いっぱい。:2008/02/09(土) 03:26:56
bashだとできるんだよね
実行しとうと思ったけどscreen起動し忘れてたときとか
#コマンド
でコマンド履歴に入れといてscreen起動→履歴からコマンド呼び出して
コメントはずして実行、とかできて便利だったんだが
928名無しさん@お腹いっぱい。:2008/02/09(土) 03:49:49
>>927
echoでもしとけば?

screen落さないし、新しいコマンドなんてそんな度々使わないし、
自分ならそういう場合は、screen上げてからコマンドライン打ち直すと思う。
929名無しさん@お腹いっぱい。:2008/02/09(土) 04:31:00
setopt interactivecomments
930名無しさん@お腹いっぱい。:2008/02/09(土) 10:09:07
コマンド一個憶えたいだけならechoを前につけるかな。
そうでないときは
cat >/dev/null <<EOF
my comments
EOF
とか、たまにやる。
931名無しさん@お腹いっぱい。:2008/02/09(土) 10:21:39
>928
分かってる人にはそれでいいけど
分かってないひとは echo をコメント扱いして
`` とか $() に気づかなかったりするかもしれない
932名無しさん@お腹いっぱい。:2008/02/09(土) 10:22:11
>>930
無駄過ぎる。ネタだろw

ふつーこれだろ↓
if false; then
my comments1
my comments2
my comments3
fi
933名無しさん@お腹いっぱい。:2008/02/09(土) 10:29:10
>>932
俺の目には五十歩百歩に見える・・・・
934名無しさん@お腹いっぱい。:2008/02/09(土) 10:41:06
>>933
明らかな違いがある。

>>930 では、hereドキュメントの一時ファイルが作られ、
外部コマンドcatが実行されてしまう。

一方、>>933 では何ら無駄なコマンドは実行されないし、
無駄なファイルも作られない。完全なコメントアウトになる。
935名無しさん@お腹いっぱい。:2008/02/09(土) 10:44:56
>>934
一時ファイル・・・だと・・・・
936名無しさん@お腹いっぱい。:2008/02/09(土) 11:03:22
>>935
here documentで一時ファイルは作られるよ。zshでも。
作成されてすぐunlink()されるから、lsでは見えないけど。
lsofするとrm後のファイルをオープンしてるのがわかる。
937名無しさん@お腹いっぱい。:2008/02/09(土) 11:27:03
>>932
コメントの中身が不用意だと解釈される危険性がある時点で絶対的に劣るなあ。
Cの#if 0 じゃあるまいし、どこが完全なコメントアウトなんだ?
938名無しさん@お腹いっぱい。:2008/02/09(土) 11:59:47
>>930 は一時ファイル作る時点で絶対的に劣る
939名無しさん@お腹いっぱい。:2008/02/09(土) 12:03:03
>>938
それで何がこまるんだよ・・・・
940名無しさん@お腹いっぱい。:2008/02/09(土) 12:07:55
>>937
コメントの中身が不用意だと解釈される危険性があるのは
>>930 も同じw
941名無しさん@お腹いっぱい。:2008/02/09(土) 12:13:50
うむ、CDATAも中身が不用意だと解釈される危険性があるしな。
942名無しさん@お腹いっぱい。:2008/02/09(土) 12:38:28
>>937
では、コメントの中身が不用意でも解釈される危険性がない
↓を安心して御実行くださいwww


cat > /dev/null << EOF
echo ${HOGE-`rm -rf /`}
EOF
943名無しさん@お腹いっぱい。:2008/02/09(土) 20:31:22
ESC-q じゃだめなの?
944名無しさん@お腹いっぱい。:2008/02/09(土) 22:01:52
zcursesなんてどういうときに使うんだろう…
~/.zshrcがない時に起動した際のウィザードが変るのかな?
945名無しさん@お腹いっぱい。:2008/02/10(日) 04:15:46
echo でヒストリーにメモしとくのよく使うけど
パイプとかリダイレクト入ってると危険なんだよな。
946名無しさん@お腹いっぱい。:2008/02/10(日) 08:28:23
そんなに気にするなら何も返さないコメント用の
スクリプト作ってパス通しとけよwwwww
947名無しさん@お腹いっぱい。:2008/02/10(日) 09:30:59
>>946
何も返さないコマンドなら : とか true とかすでにある。
自分で作る必要なし。それでもパイプとかリダイレクトの問題は回避できない。
おまえ、>>945 の言ってる意味も理解できてないな。

まとめておくが、コメントアウトとして >>930 は論外。
>>942 が言うように、コメントアウトにならない場合があるし、
それ以前にcatとtempfileが無駄。

>>932 が最善だな。
あと、これと同様の別解として、

: || {
my comment1
my comment2 > リダイレクトOK
my comment3 | パイプもOK
}

と言うのも使える。これの方がタイプ量が少ないし、{ } の対応でわかりやすい。
948名無しさん@お腹いっぱい。:2008/02/10(日) 09:53:52
えっと…
目もしたいときはエディタで hoge.memo をつくって残してる…けど…
949名無しさん@お腹いっぱい。:2008/02/10(日) 12:43:38
目で覚える
950名無しさん@お腹いっぱい。:2008/02/10(日) 12:59:15
C++の//で決着ついてる。コメント化/外しはエディターに任せる。
951名無しさん@お腹いっぱい。:2008/02/19(火) 20:46:36
プロンプトに %~ でPATH表示してるとき

例えば

ls -l /home/hoge/foo
lrwxr /home/hoge/foo -> /home/hoge/piyo/bar

こんなような状況で

cd /home/hoge/foo するとプロンプトのPATH表示が
~/piyo/bar になるんだけど
~/foo にする簡単な方法ってあります?

952名無しさん@お腹いっぱい。:2008/02/19(火) 22:46:34
CHASE_LINKS が true になってるんじゃないの
953名無しさん@お腹いっぱい。:2008/02/20(水) 12:23:06
今更遅いだろうがコメントは INTERACTIVE_COMMENTS というのがあったぞ
954名無しさん@お腹いっぱい。:2008/02/20(水) 20:31:38
>>929に書いてあるじゃねえか
955名無しさん@お腹いっぱい。:2008/02/20(水) 22:56:08
>>952
それでした。知らなかった。サンクス。
956名無しさん@お腹いっぱい。:2008/02/21(木) 04:59:37
cd や pushd には -L や -P のオプションがあるから
エイリアスにしておいてもいいが、普通は挙動を揃えるか。
957名無しさん@お腹いっぱい。:2008/02/23(土) 05:18:20
RPROMPTを、表示するスペースが十分あるときには
いろいろ表示、あまりなくなってきたら
表示する情報を減らすようにしたいのですが、
(たとえば「pwdのフルパス+時刻」を時刻のみにするとか)
どうやったらいいのでしょうか。
958名無しさん@お腹いっぱい。:2008/02/23(土) 21:55:58
>>957
http://0xcc.net/blog/archives/000032.html

PROMPT='%n@%m:%(5~,%-2~/.../%2~,%~)%#

を変えればいいと思うのだけど
959名無しさん@お腹いっぱい。:2008/02/23(土) 23:35:41
% echo $ZSH_VERSION
4.3.2
% foo() { echo $1[1,3] }
% foo aaaaa
foo: no matches found: aaaaa[1,3]
% bar() { local S=$1; echo $S[1,3] }
% bar aaaaa
aaa

仕様?
960名無しさん@お腹いっぱい。:2008/02/24(日) 01:01:10
foo() { echo ${1[1,3]} }
961名無しさん@お腹いっぱい。:2008/02/24(日) 01:36:03
S と 1 でナニが違うの?
変数名規則かなにかで特殊ってことかな?
962959:2008/02/24(日) 02:07:29
>>960
ありがと
963名無しさん@お腹いっぱい。:2008/03/02(日) 02:52:45
cygwin+zshを使ってるんだが,補完候補を出すのが重すぎるんで,候補をもっとサクっと出したい.

ネットワークを見に行ってるせいだと思うんで,ローカルのみで候補出させたいんだけど,
そんなことできる?
964名無しさん@お腹いっぱい。:2008/03/02(日) 02:57:25
Network Interfaceをdownさせる。
965名無しさん@お腹いっぱい。:2008/03/02(日) 06:03:26
>>964
それじゃネットつながんないじゃん;

なんか今はやたら軽く表示されるようになった.
ssh で補完動かしても表示しますか?って聞かれまでの時間が一瞬になった.
聞いた時は,1分くらい動きなく固まってたんだが...

なんかよくわからんが,ありがとう.


でも,zshの補完機能をbash程度にする正攻法があったら教えてください.
966名無しさん@お腹いっぱい。:2008/03/02(日) 06:54:14
bash使えばいいやん
967名無しさん@お腹いっぱい。:2008/03/02(日) 10:18:53
ちんちん sh! sh! sh!
968名無しさん@お腹いっぱい。:2008/03/02(日) 15:43:32
>>966
ですよねー.

zsh のヒストリ機能やパスの ** 指定が捨てられないので,騙し騙しやっていきます.
969名無しさん@お腹いっぱい。:2008/03/03(月) 07:20:51
sshの補完関数をいじって簡単なものにして
そっち読むようにしたら?
970名無しさん@お腹いっぱい。:2008/03/03(月) 07:23:38
>>547 以降にやり方がかいてある
971名無しさん@お腹いっぱい。:2008/03/06(木) 03:25:17
プロンプトにディレクトリを表示している時、
ある変数の値がCWDと一致してしまった場合に
プロンプト表示がその変数名に置き換えられてしまうのですが、
これをやめさせられないでしょうか。
972名無しさん@お腹いっぱい。:2008/03/16(日) 17:46:55
こんなんなるんだ。PROMPT/RPROMPT の %~ だよね? unhash -d foo_var てのは期待してないと思うから %~ -> %d かな? ~ 表示が /home/user になるけど。
973名無しさん@お腹いっぱい。:2008/03/18(火) 14:46:43
zshはカオスだからfishに改宗しようかと考えてる
974名無しさん@お腹いっぱい。:2008/03/29(土) 02:03:47
_pactl とかあります?
975名無しさん@お腹いっぱい。:2008/03/31(月) 22:45:52
ps コマンドの補完関数ってないの? 誰か書いて
976名無しさん@お腹いっぱい。:2008/04/04(金) 00:27:45
zshがcoreはきやがった。シェルがcoreはいちゃだめじゃん
977名無しさん@お腹いっぱい。
coreも吐かずに死なれるよりは……