zshについて語るスレ
http://www.zsh.org/
http://zsh.sourceforge.net/
・過去ログ
zsh その6
http://toro.2ch.net/test/read.cgi/unix/1229010860/
zsh その5
http://pc11.2ch.net/test/read.cgi/unix/1212677877/
zsh その4
http://pc11.2ch.net/test/read.cgi/unix/1107342206/
zsh その3
http://pc5.2ch.net/test/read.cgi/unix/1080002786/
zsh入門 パート2
http://pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh入門
http://pc.2ch.net/test/read.cgi/unix/990283346/
zsh その7
1名無しさん@お腹いっぱい。
2012/05/24(木) 16:34:43.032013/01/31(木) 15:55:45.30
環境変数という概念が介在していないように見える。
シェル変数をプロセス間で持ち回るにはexport、ぐらいの認識なんじゃね?
シェル変数をプロセス間で持ち回るにはexport、ぐらいの認識なんじゃね?
137130
2013/02/01(金) 00:22:47.762013/02/01(金) 00:28:42.05
ちょっと実験してみたのですが
$ zsh --version
zsh 5.0.2 (x86_64-redhat-linux-gnu)
$ typeset -ix i
$ i=1
$ typeset -ax a
$ a=(a b)
$ typeset +m i
integer exported i
$ typeset +m a
array exported a
$ cat file
typeset +m i
echo "i="$i
typeset +m a
echo "a="$a
$ zsh file
exported i
i=1
a=
結局、typeset -xすると、-iや-aなどの他の属性が消されてしまうということかな
関数のexportもできたら便利だと思ったけど、関数はtypest -fによる属性だからこれも無理かな
$ zsh --version
zsh 5.0.2 (x86_64-redhat-linux-gnu)
$ typeset -ix i
$ i=1
$ typeset -ax a
$ a=(a b)
$ typeset +m i
integer exported i
$ typeset +m a
array exported a
$ cat file
typeset +m i
echo "i="$i
typeset +m a
echo "a="$a
$ zsh file
exported i
i=1
a=
結局、typeset -xすると、-iや-aなどの他の属性が消されてしまうということかな
関数のexportもできたら便利だと思ったけど、関数はtypest -fによる属性だからこれも無理かな
2013/02/02(土) 10:49:55.09
環境変数はシェル変数ではないから基本的には用途違い(ともいいきれないか)だけど、
子シェルに配列変数を渡したいってことかな。それも環境変数的に。
export ENV="$(typeset -p i a)"
zsh -c 'eval $ENV; ...'
とかはしたくないってことなんだよね。
typeset -xT FOO foo が近いかな。これも子シェルで typeset しないとだめだから大差ないか。
ついでに separator と同じ文字が使えないし。
typeset -xT FOO foo
foo=(a b)
zsh -c 'typeset -xT FOO foo; ...'
どこで使うのかしらないけど↑の ENV みたいなんを .zsh* でなんかすれば
なんとかなんじゃない?
どーしてもやりたければ。
子シェルに配列変数を渡したいってことかな。それも環境変数的に。
export ENV="$(typeset -p i a)"
zsh -c 'eval $ENV; ...'
とかはしたくないってことなんだよね。
typeset -xT FOO foo が近いかな。これも子シェルで typeset しないとだめだから大差ないか。
ついでに separator と同じ文字が使えないし。
typeset -xT FOO foo
foo=(a b)
zsh -c 'typeset -xT FOO foo; ...'
どこで使うのかしらないけど↑の ENV みたいなんを .zsh* でなんかすれば
なんとかなんじゃない?
どーしてもやりたければ。
140130
2013/02/05(火) 02:08:57.36 >>139
例示thx。そのやり方はさすがに面倒なんで諦めます
以前ならawkとかperlとかpythonでやってたような数値演算込みのスクリプト処理を
最近は何でもかんでもzshでやろうとする癖が・・・
例示thx。そのやり方はさすがに面倒なんで諦めます
以前ならawkとかperlとかpythonでやってたような数値演算込みのスクリプト処理を
最近は何でもかんでもzshでやろうとする癖が・・・
2013/02/21(木) 03:45:07.04
関数の中身を履歴に加えることってできませんか?たとえば
$ hoge(){
echo fuga
}
$ hoge
fuga
$ history
1 hoge(){\necho fuga\n}
2 hoge
となりますが、こんなふうに関数の中で実行したものも履歴に残って欲しいんです。
$ history
1 hoge(){\necho fuga\n}
2 hoge
3 echo fuga
$ hoge(){
echo fuga
}
$ hoge
fuga
$ history
1 hoge(){\necho fuga\n}
2 hoge
となりますが、こんなふうに関数の中で実行したものも履歴に残って欲しいんです。
$ history
1 hoge(){\necho fuga\n}
2 hoge
3 echo fuga
2013/02/21(木) 21:08:43.40
否定する気はないけど、何のために?
対象って全関数じゃないよね。
対象って全関数じゃないよね。
2013/02/22(金) 09:23:39.85
プロファイラがほしいってこと?
大地氏の software design 記事のデバッグ編見た方がよさそう
大地氏の software design 記事のデバッグ編見た方がよさそう
144141
2013/02/23(土) 03:41:02.81145141
2013/02/23(土) 04:51:43.04 すみません、単に print -s でいけました。失礼しました。
2013/03/04(月) 00:37:19.72
echo | cd すると (pwd now: ~) って出るけどこれ何のための仕様かな
別に入力で何か変わるわけじゃないようだけど
別に入力で何か変わるわけじゃないようだけど
2013/03/04(月) 05:21:31.15
zsh はパイプラインの右端はカレントシェルで実行されるから
ksh 系以外のシェルとは挙動が変わる
ksh 系以外のシェルとは挙動が変わる
2013/03/09(土) 23:52:53.89
あーそうなんだ。
% {echo $ZSH_SUBSHELL}
0
% {echo $ZSH_SUBSHELL} | cat
1
% echo $ZSH_SUBSHELL | cat
0
確かに…?最後が 0 になるのは展開のタイミングかな?
なんで右端が current なのかね。
てか cd の出力理由の話とは違うような。
出力は pipe であることが条件の1つみたいだし、
その条件下では右端で current であることも条件になるかもしれないけど。
% {echo $ZSH_SUBSHELL}
0
% {echo $ZSH_SUBSHELL} | cat
1
% echo $ZSH_SUBSHELL | cat
0
確かに…?最後が 0 になるのは展開のタイミングかな?
なんで右端が current なのかね。
てか cd の出力理由の話とは違うような。
出力は pipe であることが条件の1つみたいだし、
その条件下では右端で current であることも条件になるかもしれないけど。
2013/03/10(日) 01:09:01.89
cd でカレントディレクトリが変わるから注意喚起してるんでは
2013/03/10(日) 01:16:01.54
最後が 0 になるのは echo が内部コマンドでフォークする必要がないから
2013/03/15(金) 23:36:21.15
>>149
あー普通 pipe でディレクトリ変えることないから何かおかしいんじゃないかって?かねえ。
>>150
内部コマンドって builtin のこと?だとすると ↓ の説明がつかないかと。
というかその条件は {echo $ZSH_SUBSHELL} でも同じような。
% command echo $ZSH_SUBSHELL | cat
0
% /bin/echo $ZSH_SUBSHELL | cat
0
つかまたちょっと色々試してたらよくわからんことにでくわしてしまった。
1つめは固まらないで2つめが固まる。builtin/command で固まるか変わる。
うーん…
% : 1>&2 | : =(:)
% : | : =(:)
まあ気にしない方がいいね。
理由がすぐわかるならちょっと知りたいけど。
あー普通 pipe でディレクトリ変えることないから何かおかしいんじゃないかって?かねえ。
>>150
内部コマンドって builtin のこと?だとすると ↓ の説明がつかないかと。
というかその条件は {echo $ZSH_SUBSHELL} でも同じような。
% command echo $ZSH_SUBSHELL | cat
0
% /bin/echo $ZSH_SUBSHELL | cat
0
つかまたちょっと色々試してたらよくわからんことにでくわしてしまった。
1つめは固まらないで2つめが固まる。builtin/command で固まるか変わる。
うーん…
% : 1>&2 | : =(:)
% : | : =(:)
まあ気にしない方がいいね。
理由がすぐわかるならちょっと知りたいけど。
2013/03/20(水) 05:29:38.35
: って何ですか?trueを返すコマンド?
2013/03/20(水) 09:48:22.60
何もしないコマンド
154名無しさん@お腹いっぱい。
2013/03/20(水) 11:46:11.62 引数の展開は行う。ので、その副次的結果も発生する。
2013/03/20(水) 11:49:58.10
2013/03/24(日) 12:44:28.54
setopt auto_pushd しておいて
cd -[TAB] して番号でディレクトリを移動できるのが便利なんだけど、
zshの補完機能全般においても、補完候補一覧から番号で選択できるように
できないのかな。
候補が一つになるまで文字入力とTAB入力を繰り返すとか、
TABを何度も入力して候補を選択するとか面倒で…。
cd -[TAB] して番号でディレクトリを移動できるのが便利なんだけど、
zshの補完機能全般においても、補完候補一覧から番号で選択できるように
できないのかな。
候補が一つになるまで文字入力とTAB入力を繰り返すとか、
TABを何度も入力して候補を選択するとか面倒で…。
2013/03/27(水) 02:54:31.59
>>156
zsh anything.el-like widget
https://github.com/zsh-users/zaw
これを一般の補完候補に拡張すればいいんだろうけど、
そんなに必要か?
zsh anything.el-like widget
https://github.com/zsh-users/zaw
これを一般の補完候補に拡張すればいいんだろうけど、
そんなに必要か?
2013/03/27(水) 04:24:23.65
anything.elてあのemacsの?
すごいすごいって聞くけどemacs自体使わないのでどうすごいのか分からない
誰か産業でオナシャス↓
すごいすごいって聞くけどemacs自体使わないのでどうすごいのか分からない
誰か産業でオナシャス↓
2013/03/27(水) 04:31:50.98
ごめんググれば色々あるね
まぁ試してみよ
まぁ試してみよ
160156
2013/03/28(木) 02:43:23.75 >>157
ディレクトリの移動についてはcdrとzawを入れたらだいぶ楽になった。
これならたしかに番号入力要らない感じ。
あと補完機能全般についてはauto-fuを入れたら少し楽になった。
数年ぶりにzshの設定ファイルをいじったんだけど、
いつの間にかものすごく進化しててびっくり。
ディレクトリの移動についてはcdrとzawを入れたらだいぶ楽になった。
これならたしかに番号入力要らない感じ。
あと補完機能全般についてはauto-fuを入れたら少し楽になった。
数年ぶりにzshの設定ファイルをいじったんだけど、
いつの間にかものすごく進化しててびっくり。
161名無しさん@お腹いっぱい。
2013/04/21(日) 22:13:45.79162 忍法帖【Lv=12,xxxPT】(1+0:8)
2013/04/21(日) 23:02:00.42 cygwinとどっちがいいの?
163名無しさん@お腹いっぱい。
2013/04/22(月) 08:27:55.62 そういう質問をする人には区別が付かないんじゃないかなあ
164名無しさん@お腹いっぱい。
2013/04/23(火) 22:56:28.65 cygwinもInterixもただなんだし両方つかってみればどうかな
cygwinはソフト多い、動作遅い
SFUは動くソフト少ない、動作速い
て感じ
cygwinはソフト多い、動作遅い
SFUは動くソフト少ない、動作速い
て感じ
2013/04/24(水) 00:18:37.11
動作の遅さでzsh含めたUnix環境あまり使ってなかったから
SFUに手を出してみるかな。
SFUに手を出してみるかな。
166 忍法帖【Lv=2,xxxP】(1+0:8)
2013/04/24(水) 22:36:07.82 cygwinってなんであんな遅いんやろね……
2013/04/25(木) 01:18:54.85
lessを実行してるのに.zshenvの中身が呼ばれておかしいなと思ってたら
/usr/bin/lesspipe.shの先頭が#!/bin/shになってるせいだった
いやぁ何事かと焦った
/usr/bin/lesspipe.shの先頭が#!/bin/shになってるせいだった
いやぁ何事かと焦った
2013/04/25(木) 02:40:52.09
>>166
cygwinはminttyだけあればいい
cygwinはminttyだけあればいい
2013/04/25(木) 03:26:19.93
昔は遅い遅いと言われてきたが、最近のマルチコア、SSDな環境ではどうなんだろ
案外ストレス感じなかったりして
案外ストレス感じなかったりして
2013/04/25(木) 07:35:47.37
fork&execまわりが特に遅いと思う。もともとWindowsにない機能だから
しょうがないとは思うけど。
しょうがないとは思うけど。
171 忍法帖【Lv=2,xxxP】(1+0:8)
2013/04/25(木) 07:40:15.22 >>168
じゃあ各種コマンドはどうすんの?mingw?
じゃあ各種コマンドはどうすんの?mingw?
172名無しさん@お腹いっぱい。
2013/04/25(木) 08:59:39.61 CygwinはWindowsサブシステムやAPIを経由してNTカーネルとやりとりするけど、
SFU(SUA)はInterixサブシステムが直接NTカーネルとやりとりするんだが、オーバーヘッドが少ない分、動作が速いらしい。
昔のSFUはCygwinと同じUNIXらいくなツールセットだったけど InterixサブシステムはNTカーネルで動くUNIXレイヤーなのでネイティブ反応速度が可能
SFU(SUA)はInterixサブシステムが直接NTカーネルとやりとりするんだが、オーバーヘッドが少ない分、動作が速いらしい。
昔のSFUはCygwinと同じUNIXらいくなツールセットだったけど InterixサブシステムはNTカーネルで動くUNIXレイヤーなのでネイティブ反応速度が可能
2013/04/25(木) 22:23:34.52
便利そうで意外に使ってる人を見ない>SFU
つか、最近のWindowsはマシなシェルを備えてるんじゃなかった?よく知らんけど
つか、最近のWindowsはマシなシェルを備えてるんじゃなかった?よく知らんけど
2013/04/25(木) 23:07:21.58
SUA入れてみようと思ったら非推奨になってるし
http://technet.microsoft.com/ja-jp/library/hh831568
http://technet.microsoft.com/ja-jp/library/hh831568
175名無しさん@お腹いっぱい。
2013/04/26(金) 23:34:05.62 すみません,凄く単純な質問があります.
% a="-l"
% ls $a
→ OK
% a="-l -a"
% ls $a
ls: 無効なオプション -- ' '
後者でエラーがでるのを回避するにはどうすればよいのでしょうか?
echo ls $a は「ls -l -a」なので,エラーになる理由がよく分かりません.
参考になるサイトだけでも紹介いただけるとありがたいです.
よろしくお願いいたします.
% a="-l"
% ls $a
→ OK
% a="-l -a"
% ls $a
ls: 無効なオプション -- ' '
後者でエラーがでるのを回避するにはどうすればよいのでしょうか?
echo ls $a は「ls -l -a」なので,エラーになる理由がよく分かりません.
参考になるサイトだけでも紹介いただけるとありがたいです.
よろしくお願いいたします.
2013/04/26(金) 23:44:22.86
FAQ だね
zsh はデフォルトでは空白分割しない
一時的に ls ${=a} として挙動を変えるか
setopt SH_WORD_SPLIT でデフォルトを変更するか
普段から zsh スクリプトを書いてるとデフォルトの動作の方が楽だな
まあ楽をするために敢えてこうしてるはずだが、他のシェルに合わせる人も多いな
zsh はデフォルトでは空白分割しない
一時的に ls ${=a} として挙動を変えるか
setopt SH_WORD_SPLIT でデフォルトを変更するか
普段から zsh スクリプトを書いてるとデフォルトの動作の方が楽だな
まあ楽をするために敢えてこうしてるはずだが、他のシェルに合わせる人も多いな
2013/04/27(土) 00:07:38.65
lsのオプションの l と a とは -la と書けるからこれでどうだ?
空白問題は解かずに回避できないか?
空白問題は解かずに回避できないか?
2013/04/27(土) 00:15:24.46
ヘビーユーザはそっちほうが多いのかな
例えばどういうときに楽ですか?
例えばどういうときに楽ですか?
2013/04/27(土) 09:18:26.90
a=(-l -a)
2013/04/27(土) 10:11:47.23
>>175-176
evalすればええんちゃうの
evalすればええんちゃうの
2013/04/29(月) 22:00:05.61
$=a でだめな理由が?
zsh 以外でも動くようにとか?
まあ >>179 でいいと思うけど。
>>178
分割してほしくないとき。そういうことはきいてない?
簡単な例だと
% ls -1
a
b b
c
% for i in *; ls $i
とか。当然 shwordsplit でも "$i" と書けばいい。言うまでもないか。
それがいちいち面倒、というかどんなデータがくるか判らなかったり、
多くのファイルがあって全ファイル名を把握してないときに
space がきてもいいようにとりあえず "$i" って書くなら
最初からそれがデフォルトの方が助かる。
分けたきゃ >>179 みたいにも書けるしね。
単なる文字列として変数に入れてるのに
たまたま space が入ってると意図しない分割になるんが厄介。
ものによるけど、指定したときだけそう動いてくれればいい。特に使い捨てではないスクリプトでは。
なんか書いてたら長くなった。失礼。
zsh 以外でも動くようにとか?
まあ >>179 でいいと思うけど。
>>178
分割してほしくないとき。そういうことはきいてない?
簡単な例だと
% ls -1
a
b b
c
% for i in *; ls $i
とか。当然 shwordsplit でも "$i" と書けばいい。言うまでもないか。
それがいちいち面倒、というかどんなデータがくるか判らなかったり、
多くのファイルがあって全ファイル名を把握してないときに
space がきてもいいようにとりあえず "$i" って書くなら
最初からそれがデフォルトの方が助かる。
分けたきゃ >>179 みたいにも書けるしね。
単なる文字列として変数に入れてるのに
たまたま space が入ってると意図しない分割になるんが厄介。
ものによるけど、指定したときだけそう動いてくれればいい。特に使い捨てではないスクリプトでは。
なんか書いてたら長くなった。失礼。
2013/05/01(水) 02:22:13.74
space含む場合は確かに便利かも。自分の場合はまずないので
それじゃあbashと同じでいいやって感じかな。まぁ好みの問題か
それじゃあbashと同じでいいやって感じかな。まぁ好みの問題か
2013/05/02(木) 00:26:34.98
space含む場合に便利ってより、逆だとspace含む場合にわずらわしいって感じかな。
2013/05/06(月) 18:02:00.60
for ((count = 0.0; count < 1.0; count += 0.05))
do
echo $count
done
これの出力結果は、
0.0000000000
0.0500000000
0.1000000000
...
といった感じになります。
出力の桁数の調整はどうしたらできるでしょうか???
do
echo $count
done
これの出力結果は、
0.0000000000
0.0500000000
0.1000000000
...
といった感じになります。
出力の桁数の調整はどうしたらできるでしょうか???
2013/05/06(月) 18:49:23.25
printfっていう便利な組み込み関数があってね
2013/05/06(月) 22:32:40.55
なるほど。これは便利
% printf '%.2f\n' 0.3333333333
0.33
% printf '%.2f\n' 0.3333333333
0.33
2013/05/09(木) 23:47:47.47
$- で出力される文字の意味って何ですか?
2013/05/10(金) 00:03:18.93
>>187
知らんかったからman引いてみた
zshall で見つからんかったけど、man bash に載ってた
> The current set of options may be found in $-.
一応試してみると
% echo $-
05689JNXZghiklms
% setopt +0
% echo $-
5689JNXZghiklms
になるから、bash と同じように扱われてるっぽい
知らんかったからman引いてみた
zshall で見つからんかったけど、man bash に載ってた
> The current set of options may be found in $-.
一応試してみると
% echo $-
05689JNXZghiklms
% setopt +0
% echo $-
5689JNXZghiklms
になるから、bash と同じように扱われてるっぽい
2013/05/10(金) 11:11:43.81
2013/05/10(金) 13:07:29.04
載ってるやん
- <S> Flags supplied to the shell on invocation or by the set or setopt commands.
- <S> Flags supplied to the shell on invocation or by the set or setopt commands.
2013/05/10(金) 13:29:32.20
検索しにくいよなぁ。
2013/05/12(日) 14:16:16.53
zshallを見ると、自分はzshの全機能の1割も使ってないかもなぁ、と思えてくる
2013/05/13(月) 11:33:48.11
それでいいのだ
(ごみの山の中に一片の価値のあるものを見つけられたならそれは幸せである)
(ごみの山の中に一片の価値のあるものを見つけられたならそれは幸せである)
2013/05/13(月) 12:46:49.94
うむ
zshに限らないけど、何年たっても「こういう機能があったんだ!」て気付くのが楽しいね
zshに限らないけど、何年たっても「こういう機能があったんだ!」て気付くのが楽しいね
2013/05/14(火) 00:48:01.11
シェルは一生使う手足みたいな道具だからねえ
2013/05/14(火) 00:52:19.52
私はシェルになりたい
2013/05/14(火) 20:59:02.64
俺がzshだ!
2013/06/03(月) 23:05:06.97
$(builtin foo) って command bar くらいのコストかかんだね。
同じ桁くらいの。
まあそれはそうか。 (builtin foo) みたいに subshell 内みたいだし。
でも $(<foo) みたいに速いといいよなあ。
普通気にしないだろうけど。
同じ桁くらいの。
まあそれはそうか。 (builtin foo) みたいに subshell 内みたいだし。
でも $(<foo) みたいに速いといいよなあ。
普通気にしないだろうけど。
2013/06/06(木) 07:42:18.91
ビルドに挑戦したんだけど、zsh.mdhが作られなくて失敗する。
で、いろいろ試して、
export GREP_OPTIONS='--color=auto --binary-files=without-match -Hn'
が原因。ファル名と行番号は常に表示したいから設定してたんだけどなぁ。
で、いろいろ試して、
export GREP_OPTIONS='--color=auto --binary-files=without-match -Hn'
が原因。ファル名と行番号は常に表示したいから設定してたんだけどなぁ。
2013/06/06(木) 16:58:39.47
出力の形式を変更しちゃうようなのをデフォルト設定するのはどうかと。
grepはシェルスクリプトなどでも使われるわけだし。
そういう設定はシェルのエイリアスとかを使うのがいいんじゃない。
grepはシェルスクリプトなどでも使われるわけだし。
そういう設定はシェルのエイリアスとかを使うのがいいんじゃない。
2013/06/07(金) 00:24:46.83
なぜだろう、alias ではなく環境変数を使いたい
2013/06/07(金) 08:47:31.34
そういやgrepyのオプションは色々トラブルの元になると聞くね
自分もエイリアスにしてるわ
自分もエイリアスにしてるわ
2013/06/07(金) 15:33:58.76
結局aliasに戻したんだけど、GNU grep検出した時点で、configureが
GREP_OPTIONSをクリアしてくれても良い気はするの。
GREP_OPTIONSをクリアしてくれても良い気はするの。
2013/06/07(金) 18:56:18.89
ママにビルドしてもらえ
2013/06/07(金) 23:55:22.54
ママは死んだ。もういない。あのときパパに alias をみられなければ…
2013/06/21(金) 11:15:57.03
locateを使ったファイル名補完ってできますか?
$ vi http<キー>
でlocate httpの結果を補完候補にしてくれるような。
できれば通常の補完とは使い分けたいので、別のキーに割り当てられるといいんですが。
$ vi http<キー>
でlocate httpの結果を補完候補にしてくれるような。
できれば通常の補完とは使い分けたいので、別のキーに割り当てられるといいんですが。
2013/06/21(金) 13:50:45.82
>>206
zshに死角なし…あとはよろしく
man zshcompwid の COMPLETION MATCHING CONTROL を理解すればなんとかなりそう
zle -C loc menu-expand-or-complete _loc
bindkey '^X^X' loc
_loc() {
files=($(locate $words[2]))
# ここのパターンの指定をどうにかすればいけそう
compadd -M 'e:.=**' $files
}
zshに死角なし…あとはよろしく
man zshcompwid の COMPLETION MATCHING CONTROL を理解すればなんとかなりそう
zle -C loc menu-expand-or-complete _loc
bindkey '^X^X' loc
_loc() {
files=($(locate $words[2]))
# ここのパターンの指定をどうにかすればいけそう
compadd -M 'e:.=**' $files
}
2013/06/21(金) 23:55:39.39
anchorという意味がよくわからないけど、こんな感じにしたら動いているようです。
_loc() {
local wd=$words[-1]
if [ "$wd" = "" ]; then
return 0
fi
files=($(locate $wd | grep ".*${wd}[^/]*$"))
compadd -M 'l:||.=**' -- $files
}
ちなみに、これを思いついたのはEverythingが便利すぎるからなんですが、
http://www.voidtools.com/
unixコマンドラインで同じようなのってないんでしょうか。
cursesでlocateをインクリメンタルサーチするとか…
でもやっぱりできるならシェルでやるのが一番便利でしょうね。
_loc() {
local wd=$words[-1]
if [ "$wd" = "" ]; then
return 0
fi
files=($(locate $wd | grep ".*${wd}[^/]*$"))
compadd -M 'l:||.=**' -- $files
}
ちなみに、これを思いついたのはEverythingが便利すぎるからなんですが、
http://www.voidtools.com/
unixコマンドラインで同じようなのってないんでしょうか。
cursesでlocateをインクリメンタルサーチするとか…
でもやっぱりできるならシェルでやるのが一番便利でしょうね。
2013/06/22(土) 01:07:55.66
>>208
r:とかl:とか色々でてきてあきらめた…でも動いたようで良かったですな。
そういうツールは聞いたことないけど、UNIX的思想からいくとlocateの結果をgrepでフィルタして…となりそう
r:とかl:とか色々でてきてあきらめた…でも動いたようで良かったですな。
そういうツールは聞いたことないけど、UNIX的思想からいくとlocateの結果をgrepでフィルタして…となりそう
2013/07/14(日) NY:AN:NY.AN
zshをログインシェルにして、boot直後にターミナルでログインするとき、プロンプトが出るまで30秒くらいかかる。compinitしてるのが原因と思われるが、皆さんどうですか?
x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
メモリ12GB、HDD 1TB、Gentoo Linuxです。
x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
メモリ12GB、HDD 1TB、Gentoo Linuxです。
2013/07/14(日) NY:AN:NY.AN
そのスペックでcompinitに30秒はさすがにおかしいと思われ
2013/07/14(日) NY:AN:NY.AN
ATOMですらcompinitは一瞬だから他の原因だろう
2013/07/14(日) NY:AN:NY.AN
ターミナルって、コンソールじゃなくてターミナルってこと?
zsh以外のシェルに戻したら早くなるの?
zsh以外のシェルに戻したら早くなるの?
2013/07/14(日) NY:AN:NY.AN
すみませんが詳しい方のみ回答をお願いします
すみませんが詳しい方は回答のみお願いします
すみませんが詳しい方は回答のみお願いします
2013/07/15(月) NY:AN:NY.AN
216215
2013/07/16(火) NY:AN:NY.AN 追記します。
結果から言うと、compinitでの遅延ではなかったようです。
zshrcを一行ずつコメントアウトしてリブートする(ブート後の初回起動時以外は問題がないためです)
する方法を試しましたが、なぜか再現性が明らかではないのですが、PROMPTを操作する行の有無で
遅延があるか決定されるような印象でした。
一回起動し、速く起動したzshrcで試しにもう一度再起動すると今度は起動が遅かったりしたため、
完全に確定しているわけではありません。今後再調査してみます。
ただ、zshrcに何も記入しない状態では、起動は速いようでした。
また、zshrcの最後の行をecho "zshrc end"としてみると
比較的瞬時にzshrc endが表示され、その後30秒程度の遅延があるようでした。
よってzshrcロードの後に遅延が生じているようでした。
こちらに関してはいつか暇なときにzshrcのソースに当たりたいと思います。
ログインシェルをbashにすると、一瞬で起動しました。
結果から言うと、compinitでの遅延ではなかったようです。
zshrcを一行ずつコメントアウトしてリブートする(ブート後の初回起動時以外は問題がないためです)
する方法を試しましたが、なぜか再現性が明らかではないのですが、PROMPTを操作する行の有無で
遅延があるか決定されるような印象でした。
一回起動し、速く起動したzshrcで試しにもう一度再起動すると今度は起動が遅かったりしたため、
完全に確定しているわけではありません。今後再調査してみます。
ただ、zshrcに何も記入しない状態では、起動は速いようでした。
また、zshrcの最後の行をecho "zshrc end"としてみると
比較的瞬時にzshrc endが表示され、その後30秒程度の遅延があるようでした。
よってzshrcロードの後に遅延が生じているようでした。
こちらに関してはいつか暇なときにzshrcのソースに当たりたいと思います。
ログインシェルをbashにすると、一瞬で起動しました。
2013/07/17(水) NY:AN:NY.AN
.zshrcの後に読まれるのは/etc/zloginと.zloginしか無い
ここで何か変な処理してるんじゃないの
非ログインシェルでzshを起動したときは?
ここで何か変な処理してるんじゃないの
非ログインシェルでzshを起動したときは?
2013/07/17(水) NY:AN:NY.AN
select ループの数字付けのフォーマットを変えられないのかな?
一桁で済むときはいいけど、そうじゃないときはズレるのがどうも気になる
一桁で済むときはいいけど、そうじゃないときはズレるのがどうも気になる
2013/07/19(金) NY:AN:NY.AN
それ俺も思った
zshにしては気が利かないな
zshにしては気が利かないな
2013/07/20(土) NY:AN:NY.AN
>>217
レスが遅れ申し訳ないです。
そう思うんですが、システムには~/.zloginも/etc/zloginも作成していません。これらのファイルはありません。
例えばログインシェルをbashにしてrebootして、bashが立ち上がってからコマンドでzshを立ち上げると
一瞬で起動しました。再現性がありました。
確かにログイン関係で遅延が発生しているっぽいのですが。
.zloginを作成していないことによる問題とは考えにくく(試してはいないのでわかりませんが)、やはりソースに当たる必要がありそうです。
どうもありがとうございました。
レスが遅れ申し訳ないです。
そう思うんですが、システムには~/.zloginも/etc/zloginも作成していません。これらのファイルはありません。
例えばログインシェルをbashにしてrebootして、bashが立ち上がってからコマンドでzshを立ち上げると
一瞬で起動しました。再現性がありました。
確かにログイン関係で遅延が発生しているっぽいのですが。
.zloginを作成していないことによる問題とは考えにくく(試してはいないのでわかりませんが)、やはりソースに当たる必要がありそうです。
どうもありがとうございました。
2013/07/23(火) NY:AN:NY.AN
ログインシェルの場合、読み込み順はこうだよね
/etc/zshenv
$ZDOTDIR/.zshenv
/etc/zprofile
$ZDOTDIR/.zprofile
/etc/zshrc
$ZDOTDIR/.zshrc
/zlogin
$ZDOTDIR/.zlogin
結局再現性がないと問題特定するのは無理なんじゃ
/etc/zshenv
$ZDOTDIR/.zshenv
/etc/zprofile
$ZDOTDIR/.zprofile
/etc/zshrc
$ZDOTDIR/.zshrc
/zlogin
$ZDOTDIR/.zlogin
結局再現性がないと問題特定するのは無理なんじゃ
2013/07/31(水) NY:AN:NY.AN
FreeBSDでHISTFILEが大きくなるとログアウトが遅くなるなあ。
FreeBSD 8.1-RELEASE-p12
zsh 4.3.11 (amd64-portbld-freebsd8.1)
930035バイト、約33000行で10秒くらいかかるようになってた。
Linuxではこんなになったことないんだが。
FreeBSD 8.1-RELEASE-p12
zsh 4.3.11 (amd64-portbld-freebsd8.1)
930035バイト、約33000行で10秒くらいかかるようになってた。
Linuxではこんなになったことないんだが。
2013/08/01(木) NY:AN:NY.AN
>>222
portsのオプションでMEMをoffにすると直ると思う
portsのオプションでMEMをoffにすると直ると思う
2013/08/14(水) NY:AN:NY.AN
俺には関係ないんだけど何そのオプション
2013/08/14(水) NY:AN:NY.AN
>>216
まあ別にいいんだけど、PROMPT に問題がありそうならそれを貼れば?
まあ別にいいんだけど、PROMPT に問題がありそうならそれを貼れば?
226216
2013/09/02(月) 23:23:39.30 大変長らく空いてすいません。
boot直後初回のコンソールログインが非常に時間がかかる件(基本30秒以上だった)ですが、
再現性がなく、何が原因なのか判断に困る状態でしたが、
おそらくハードディスクの不良であったという事が判明しました。
あの後、systemdが起動時に自動でboot後になぜかrebootするようになっていまい、
journalctlなどを見ても原因がはっきりとわからずハードウェア的なものを疑い、
ハードディスク載せ替えを行ったところ、一瞬でログインできるようになりました。
.zshrcなど、設定の問題ではなかったようです。
>>225
PROMPTに問題がありそうとは思っていませんでした。
PROMPTを設定する行為に問題がありそうと思っていました。
ちなみにPROMPTは
PROMPT=$(print "%{\e[00;37m%}{%{\e[01;37m%}%n%{\e[m%}@%{\e[01;37m%}%m%{\e[00;37m%}} $%{\e[m%} ")ですね。特に変哲ありません。
boot直後初回のコンソールログインが非常に時間がかかる件(基本30秒以上だった)ですが、
再現性がなく、何が原因なのか判断に困る状態でしたが、
おそらくハードディスクの不良であったという事が判明しました。
あの後、systemdが起動時に自動でboot後になぜかrebootするようになっていまい、
journalctlなどを見ても原因がはっきりとわからずハードウェア的なものを疑い、
ハードディスク載せ替えを行ったところ、一瞬でログインできるようになりました。
.zshrcなど、設定の問題ではなかったようです。
>>225
PROMPTに問題がありそうとは思っていませんでした。
PROMPTを設定する行為に問題がありそうと思っていました。
ちなみにPROMPTは
PROMPT=$(print "%{\e[00;37m%}{%{\e[01;37m%}%n%{\e[m%}@%{\e[01;37m%}%m%{\e[00;37m%}} $%{\e[m%} ")ですね。特に変哲ありません。
227名無しさん@お腹いっぱい。
2013/09/05(木) 14:32:55.63 bashのときは!番号でhistoryの番号実行しようとすると,コマンドが表示されるまでで止まってもう一回エンターをおして実行になってたんですが,
zshに乗り換えたら!番号でエンターをおしたらコマンド実行まで行ってしまいます.
コマンド表示までで止めるのはどうすればよいでしょうか.
zshに乗り換えたら!番号でエンターをおしたらコマンド実行まで行ってしまいます.
コマンド表示までで止めるのはどうすればよいでしょうか.
2013/09/05(木) 15:17:29.49
tab
基本的にzshはtabで色々対応できる。補完とかその展開とか。
基本的にzshはtabで色々対応できる。補完とかその展開とか。
229名無しさん@お腹いっぱい。
2013/09/05(木) 23:55:00.57 >>228
おお!あざーっす
おお!あざーっす
2013/09/09(月) 15:24:16.53
>227
わかんない時はとりあえず tab 押すだろ
わかんない時はとりあえず tab 押すだろ
231名無しさん@お腹いっぱい。
2013/09/11(水) 18:16:45.31 ここで聞くべきかTeXスレで聞くべきか迷ったんだけど,
vim-latexで書いてるときに\llでコンパイルしますよね.
bashだと\llでコンパイルし終わると自動的にvimの画面に戻るんですが,zshだとコンパイル終わってもvimにもどらずctrl cを押さないとvimにもどりません.
どうしたらコンパイル終わって自動でvimに戻るかな
vim-latexで書いてるときに\llでコンパイルしますよね.
bashだと\llでコンパイルし終わると自動的にvimの画面に戻るんですが,zshだとコンパイル終わってもvimにもどらずctrl cを押さないとvimにもどりません.
どうしたらコンパイル終わって自動でvimに戻るかな
2013/09/22(日) 01:37:22.11
tex というか vim スレのような気が…
2013/09/22(日) 23:52:13.36
2013/09/23(月) 01:34:51.08
え?いまなんて?
235名無しさん@お腹いっぱい。
2013/10/09(水) 09:42:12.12 autoload -U compinit
compinit
が.zshrcに書いてあると読み込みの段階で固まっちゃうんですがこれはなぜでしょうか.
この二行をコメントアウトすれば普通にとおります.
compinit
が.zshrcに書いてあると読み込みの段階で固まっちゃうんですがこれはなぜでしょうか.
この二行をコメントアウトすれば普通にとおります.
レスを投稿する
ニュース
- 【フジ】中居正広氏の代理人弁護士が第三者委員会報告に反論「性暴力の実態は確認できず」★9 [Ailuropoda melanoleuca★]
- 石破首相が「無策」批判に激怒 消費税減税めぐり指摘した野党議員に「あなた」呼ばわりで反論 [首都圏の虎★]
- 【田中圭との不倫報道】《憔悴の近影》永野芽郁、頬がこけ、目元を腫らして…移動時には“厳戒態勢”「事務所車までダッシュ」★3 [Ailuropoda melanoleuca★]
- 【芸能】スマイリーキクチ 永野芽郁への批判に警鐘 「清純派だと勝手に訳のわからない派閥に入れて」「イメージと違うと憤慨」 [冬月記者★]
- 中居正広氏 守秘義務解除を提案していた! 約6時間のヒアリングにも誠実に対応 ★2 [ひかり★]
- 政党支持率 自民26.4% 立民7.6% 国民7.2% 支持なし38.2% NHK世論調査 [少考さん★]
- ▶天音かなたとちゅーしたいよな
- 【悲報】27歳の妊婦をぶん殴った普通の日本人男性(42)を逮捕 [834922174]
- ミックスナッツに、1つ要らないの入ってるやろ?🥜 [629030525]
- 日産、日本から撤退へ [709039863]
- 【悲報】公務員の名札、本名とは別に「ビジネスネーム」OK カスハラ対策 [966044473]
- 長谷川亮太 ちばけんま 唐澤貴洋 無能弁護士