X



zsh その7
0001名無しさん@お腹いっぱい。
垢版 |
2012/05/24(木) 16:34:43.03
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/
0414名無しさん@お腹いっぱい。
垢版 |
2015/05/28(木) 00:21:08.64
そっか、そもそもglobというのが頭の中からすっぽり消えてた。
恥ずかしながら。出直してきます。
0415名無しさん@お腹いっぱい。
垢版 |
2015/06/07(日) 09:29:46.03
zsh-5.0.8のprintfで-フラッグが効かないんだけど、他にもなる人いる?
こんな感じ。

$ builtin printf '%-20s' 'hoge'
       hoge

$ command printf '%-20' 'hoge'
hoge
0418名無しさん@お腹いっぱい。
垢版 |
2015/06/07(日) 17:45:27.15
やっぱり5.0.7だと大丈夫っぽい。
パッケージ作成時の設定も変わってないみたいなのになんでだろう。

$ zsh --version
zsh 5.0.7 (x86_64-unknown-linux-gnu)

$ zsh -c 'builtin printf "%-20s" "hoge"'
hoge

$ zsh -c 'command printf "%-20s" "hoge"'
hoge

とりあえずは5.0.7で様子見することにします。
0419416
垢版 |
2015/06/07(日) 19:53:10.73
ごめん、ちゃんと読んでなかった。うちでも、5.0.7だと正常(左詰めされる)でした。
zsh 5.0.8 (amd64-portbld-freebsd8.4) だと右詰になります。
0421名無しさん@お腹いっぱい。
垢版 |
2015/07/11(土) 02:35:34.51
select ループで選択候補にナンバリングされるけれども、この表示方法は変えられないのかな
桁の変わり目に表示がずれるのがどうしても気になる
ファイル選択に select を使うのもあまり便利とは言えないけど…
こういうときは皆どうしてるのかな
0422名無しさん@お腹いっぱい。
垢版 |
2015/08/06(木) 12:04:34.75
teeみたいなことをやるリダイレクトで
ls > /tmp/ls.txt > /dev/sdtin
ってできるけど、なぜ stdout じゃなくて stdin に流すのでしょうか?
なんとなく stdout に流したくなるのですが
0423名無しさん@お腹いっぱい。
垢版 |
2015/08/06(木) 18:57:00.41
/dev/stdoutに すると端末に表示されずに、/tmp/ls.txt にもう一度書きこまれるのでは?
端末に結びつけられていれば /dev/stdin でも /dev/stderr でもいいが
どうせスペシャルデバイスを使うのなら /dev/tty の方がわかりやすいかもね
0424名無しさん@お腹いっぱい。
垢版 |
2015/08/08(土) 09:23:44.01
zsh使うくらいなら最初からbashだけ使ってた方がいい。
将来、なんかの拍子にbashの仕事が入ってくるかもしれない。
その時にbash使ってましたアピールは大きい。
zsh使ってましたとか何のアピールにもならない。
もう一度言う、たとえ趣味でもbashを使え。
0433名無しさん@お腹いっぱい。
垢版 |
2015/11/10(火) 14:23:27.38
hosh
0435名無しさん@お腹いっぱい。
垢版 |
2015/11/29(日) 23:12:37.76
初心者で申し訳ないが#や$から左のホスト名とかユーザー名、ディレクトリはどこらへんいじれば変えられる?
0449名無しさん@お腹いっぱい。
垢版 |
2016/01/08(金) 07:16:05.45
zsh-5.0.8 → zsh-5.1.1(zsh-5.2 も同様) と上げたら、
menu-complete → reverse-menu-complete で
reverse-menu-complete が確定→補完開始するようになった。(バグ?)
zsh-5.0.8 は確定せずに候補選択の逆順移動をする。

zsh-5.0.8 と同じ動きにする方法ってある?

>>448
setopt FORCE_FLOAT
でどうでしょう。

と思ったら浮動小数変数のデフォルト型ですか。
何もしなくても double では?
表示の有効桁数のことですか?
0450449
垢版 |
2016/01/11(月) 16:38:07.30
compinit するとなるようですね。もっというと
zle -C reverse-menu-complete .reverse-menu-complete _main_complete
でなる。(_main_complete でなくても。)

zsh-5.0.8 でも compinit すると complete-word, menu-complete とかで
新しい補完を開始してしまう。
ので、reverse-menu-complete 以外は前から問題があったのかな?

zle -C 前の reverse-menu-complete や .reverse-menu-complete なら
新しい補完を開始することはない。
が、menu completion 中以外について、
当然 _main_complete は呼ばれないし、なぜか compinit なしの補完もしない。

menu completion 中しか reverse-menu-complete を使ってないので
姑息ながら、とりあえず .reverse-menu-complete で凌ぐ。
0453名無しさん@お腹いっぱい。
垢版 |
2016/01/17(日) 23:54:19.24
5.2 では

% seq 1 10 | echo `grep 5` `grep 3`
grep: (標準入力): 入力/出力エラーです
3<eof> ← 入力
3

となる。けど

% zsh
% seq 1 10 | echo `grep 5` `grep 3`

でなぜか固まるね。
↓ は期待通りかな。

% zsh -c 'seq 1 10 | echo `grep 5` `grep 3`'
5<eof> ← 入力
3<eof> ← 入力
5 3

bash とは多分仕様が違うけど、
bash は POSIX compliant なのかな?
正しく動けば zsh の方が使い易そうだけど。
0454名無しさん@お腹いっぱい。
垢版 |
2016/02/14(日) 06:31:08.70
hist_find_no_dupsはどういう意味なんでしょうか?
これを設定していても、Ctrl-pを繰り返し押したとき同じコマンドが何回も出てきます。
0458名無しさん@お腹いっぱい。
垢版 |
2016/03/15(火) 20:48:15.31
selectの代わりにpercol使うことにした
0459名無しさん@お腹いっぱい。
垢版 |
2016/03/31(木) 14:16:01.37
そういえば.zhistoryも日本語が文字化けしてた
history-all等の方で取り出すのは文字化けしないから
困った事にはならなかったが

bash_historyの方は化けないから
文字化けは他でもまた偶然直面しそうだ
直し方両方分からないし
0466名無しさん@お腹いっぱい。
垢版 |
2016/04/04(月) 09:10:38.50
>>465
nkf で utf-8 に変更しても駄目だったから
zshから書き出すまでの方見ないと駄目かもしれない
0468名無しさん@お腹いっぱい。
垢版 |
2016/04/10(日) 04:03:37.50
bashのcdでディレクトリだけ補完する、の下記設定は、zshだとどう書けばよいですか?
complete -d cd

下記でできましたが、自分には不要な設定もたくさんついてくるので、cdのディレクトリ補完だけ単独で設定したいです。
autoload -Uz compinit; compinit
0471名無しさん@お腹いっぱい。
垢版 |
2016/05/11(水) 12:17:56.75
man cdとするとzshではなくbashのビルトインの方が呼ばれるんですがどうしたらいいですか
man zshbuiltinはちょっとめんどい
0473名無しさん@お腹いっぱい。
垢版 |
2016/05/13(金) 19:31:54.87
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
これで補完のとき大文字小文字を区別しないようにしているのですが、
Macで/us<Tab>とすると/Usersが先に出てきてしまいます。
これを/usrが先に出てくるようにしたいです。つまり
入力した文字列と大文字小文字が一致した候補がある場合はそちらを先にしたいのですが
どうすればいいでしょうか?
0475名無しさん@お腹いっぱい。
垢版 |
2016/05/13(金) 22:43:04.11
マックをやめればすむ話だな
0477名無しさん@お腹いっぱい。
垢版 |
2016/05/14(土) 20:28:58.04
大文字小文字無視系の設定は、しばらく使ってみないと自分の好みの動作が判らんよな
楽をしようとしてるのに、縛りを少しきつくすると勝手に確定させられて「おいっ!」みたいなことがあるし
0482名無しさん@お腹いっぱい。
垢版 |
2016/06/23(木) 22:14:43.03
.zshrcにfunctionを書いているのですが、readでユーザ入力を待っている時に、ctrl+c、ctrl+d、esc、どれも押しても強制終了できません。

function hoge(){
0483名無しさん@お腹いっぱい。
垢版 |
2016/06/23(木) 22:17:15.86
.zshrcにfunctionを書いているのですが、readでユーザ入力を待っている時に、ctrl+c、ctrl+d、esc、どれも押しても強制終了できません。
ユーザ入力ができて、入力待ち中に強制キャンセルもできるようにするにはどのようにすればよいでしょうか?

function hoge(){
# 入力待ち中に強制キャンセルが何も効かない。。
printf "input: "
read string
}
0485483
垢版 |
2016/06/30(木) 00:17:40.19
>>484

ありがとうございます。

ctrl+cのあとにエンターを押せばtrapに補足されましたが、ctrl+cだけではキャンセルされませんでした。。

バージョンはこれでした。zsh 4.3.11 (x86_64-redhat-linux-gnu)

テストで、 trap "echo aaa" SIGINT としたんですが、これ、関数が終わった後も、コマンドライン上でctrl+cすると
aaa
aaa
aaa
...
とtrapが発動するようになりますね。。
とりあえず、 read -k 1 str で1文字入力にすることで、ctrl+cが入力されるとそれでキャンセルされたように見えるのでこれで代用しようかな。
0486名無しさん@お腹いっぱい。
垢版 |
2016/07/01(金) 20:45:43.11
>>485
見当違いなアドバイスだが、readに-tつけては
0487483
垢版 |
2016/07/07(木) 00:51:28.67
>>486

なるほど。
秒数待ちをするんですね。
そのアイデアはまったく考えてませんでした。
案の一つとして検討させていただきます。ありがとうございます。
0488名無しさん@お腹いっぱい。
垢版 |
2016/08/05(金) 17:35:39.35
ここ最近、履歴の共有ができなくなってしまいました
inc_append_history と share_history は有効にしてます
何が悪さをしてるでしょうか?
zshは5.2です
0489名無しさん@お腹いっぱい。
垢版 |
2016/12/22(木) 11:34:44.60
function定義した中身を表示する方法はありますか?

aliasはwhichで内容を確認できるのですが、functionはwhichで見れず。。
何か他の方法で見れないでしょうか?
0490名無しさん@お腹いっぱい。
垢版 |
2016/12/22(木) 16:04:48.16
typeやとあかん?
0491名無しさん@お腹いっぱい。
垢版 |
2016/12/22(木) 16:05:32.06
すみません。忘れてください
0492名無しさん@お腹いっぱい。
垢版 |
2016/12/22(木) 20:10:18.20
>>490,491

レスありがとうございます。
すでに違ったとレスいただいていますが、typeコマンド初めて知りましたので一応調べてみたら、functionだとわかるだけでした。
0495489
垢版 |
2016/12/23(金) 00:31:06.34
>>493,494

おお!
その通りでした。
whichをwhichするのは初めてだ。
↓alias登録されてた!

% which which
which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

これでいけました。ありがとうございます。
% builtin which is_exists

続きます。
0496489
垢版 |
2016/12/23(金) 00:37:07.30
続きです。

.zshrcと.zshenv見直してもalias登録してないので、どこで設定されてるかぐぐったら
こんなの見つけました。

ttp://d.hatena.ne.jp/BigFatCat/20080601

どうやら下記で設定されてるみたいです。
/etc/profile.d/which-2.sh

これはzshの場合デフォルトで読まれるみたいですが、functionが見れなくなる欠陥whichで書き換えるとか迷惑ですね。。
これを読まないようにする設定とか無いでしょうか?
0497489
垢版 |
2016/12/23(金) 00:39:13.07
途中で書き込んでしまいましたすみません。

読まないようにする設定が無ければ、無理矢理感があって気持ち悪いですが unalias which を.zshrcに入れて我慢します。
0498名無しさん@お腹いっぱい。
垢版 |
2016/12/23(金) 00:46:56.65
zshはそんなものデフォルトで入れないよ。冤罪だw
その手のおせっかいはお使いのディストリビューション固有の事情かと。
0499489
垢版 |
2016/12/23(金) 00:51:58.22
えええ

centos6です。。
0500名無しさん@お腹いっぱい。
垢版 |
2016/12/24(土) 12:06:57.31
curlで&や?を含むURLを取得するとき、いちいちURLをクォートで囲むのが
面倒なんだが、いい方法ないだろうか?
0506名無しさん@お腹いっぱい。
垢版 |
2016/12/25(日) 14:51:11.09
途中で切れてしまった。履歴を見返したら & を含む場合はクォートしていたw
ごめんち

ブラウザ経由で呼び出す機会が多くなったし、端末に張り付ける場合も
正規化した URL を使ってたから、クォートする機会があまりなかった
自分の記憶が全くに当てにならんのが泣ける
0507名無しさん@お腹いっぱい。
垢版 |
2017/02/08(水) 15:33:37.91
ttps://github.com/ryoppy/cool-peco

を入れたんだけど C-r で cool-peco-history にならんのです。
デフォルトの bck-i-search: になっちまう。

コマンドラインからは cool-peco-history 呼べるし、
alias の hist も呼べる。

$ bindkey | grep peco
"^R" cool-peco-history

になってるし、コマンドラインから

$ bindkey '^r' cool-peco-history

しても変わらず。

「やっちまったなぁ!」を使わず解決策教えてほしいです。
0508名無しさん@お腹いっぱい。
垢版 |
2017/03/13(月) 11:52:13.60
pushd +3
とかってしたとき、3つ分スタック全体を循環させるんじゃなくて、
3つ目を取り出してスタックトップに乗せるって挙動なかったですか?
つまり最近使った順にスタックが並ぶ。

昔出来た気がするのですが、今マニュアル見てもなくて。
0511名無しさん@お腹いっぱい。
垢版 |
2017/08/19(土) 19:42:44.72
cdr だけ 部分一致で補完したいのですが、どうすればよいでしょうか?
実用途としましては、project名 入力で path が補完して移動です。


zstyle ":completion:*" matcher-list 'm:{a-zA-Z}={A-Za-z} l:|=*'

で部分一致になった( l:=|* が 妥当かもわかってません)ので、

zstyle ":completion:*:*:cdr:*:*" matcher-list 'm:{a-zA-Z}={A-Za-z} l:|=*'
としてみたのですが、反映されませんでした。
0512名無しさん@お腹いっぱい。
垢版 |
2017/11/08(水) 00:09:30.35
最近.zshrcを見直してzmodload zsh/filesが入ってたことに気付いたけど
これもう完全にいらない子なんだな。
たしか引数の最大バイト数を回避する目的で入れた記憶があるけど、
最近のLinuxは引数上限がかなり緩和されたはずだから困ることはまずないし、
むしろPOSIX準拠してないので制約が多い。

というかそもそもこれが作られた目的が緊急時のリカバリ用というのを今頃知った。
ただのPOSIX拡張だと思ってたわ・・・。manは見なきゃ駄目だな。
0513名無しさん@お腹いっぱい。
垢版 |
2017/12/29(金) 07:26:25.83
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

CDVW4G8P2M
0514名無しさん@お腹いっぱい。
垢版 |
2018/02/09(金) 15:37:56.37
世の中pythonが流行ってるけど、案の定xonshっていうシェルも出てきた
そのうちイーマック厨みたいにpythonは環境です(キリッとか言い出すやつも現れそうだな
レスを投稿する


ニューススポーツなんでも実況