zsh その7

1名無しさん@お腹いっぱい。
垢版 |
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/
2015/08/09(日) 21:29:45.09
いえコピペです
2015/08/09(日) 23:01:50.40
>>425
multios
2015/08/10(月) 20:02:26.48
>>428 thx
2015/08/28(金) 01:03:10.36
firewalldの補完ファイルどっかに落ちてない?
2015/08/28(金) 19:37:38.48
>>422
ls > /dev/stdout > /tmp/ls.txt
とか
ls >&1 > /tmp/ls.txt
でいいんじゃないかな
2015/09/01(火) 23:45:26.91
5.1
http://sourceforge.net/projects/zsh/files/zsh/5.1/
433名無しさん@お腹いっぱい。
垢版 |
2015/11/10(火) 14:23:27.38
hosh
2015/11/28(土) 12:34:47.43
hash
2015/11/29(日) 23:12:37.76
初心者で申し訳ないが#や$から左のホスト名とかユーザー名、ディレクトリはどこらへんいじれば変えられる?
2015/11/30(月) 00:44:08.44
>>435
zsh プロンプト でググればやりかたが見つかる。
.zshrc に書くらしい。
2015/11/30(月) 01:05:55.56
vim .zshrcすると
operation not permittedって出ます
2015/11/30(月) 12:31:44.73
.の後にスペースを入れちゃ駄目だよ
2015/11/30(月) 20:22:32.07
.の後にスペースを入れたように見えるけど実際には.を使ってたりする
2015/12/01(火) 10:07:16.72
ホントだw 気付かんかった
2015/12/01(火) 14:39:08.07
ネタだろ
2015/12/01(火) 19:18:38.09
じゃあ俺、mkdir .zshrc して帰るから(鬼畜)
2015/12/02(水) 01:15:42.82
じゃ俺はそれをrm -rf . zshrcで消しとくね
2015/12/02(水) 01:50:09.44
>>443
怖いことするな
ls .
2015/12/02(水) 09:45:55.28
知ってて言ってんでしょ
2015/12/02(水) 13:46:26.23
知ってて知らん言うのは犯罪やぞ
2015/12/06(日) 19:33:09.46
zsh 5.2
2015/12/18(金) 20:00:31.04
(( )) 内の浮動小数変数のデフォルト型をdoubleにする設定ってないですか?
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 では?
表示の有効桁数のことですか?
450449
垢版 |
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 で凌ぐ。
2016/01/15(金) 16:56:35.55
seq 1 10 | echo `grep 5` `grep 3`
bashだと5が表示されるけど、zshだと完全に固まるね(^Cも^Zも受け付けない)
2016/01/15(金) 20:13:15.23
5.1.1では^Cで止まる。
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 の方が使い易そうだけど。
2016/02/14(日) 06:31:08.70
hist_find_no_dupsはどういう意味なんでしょうか?
これを設定していても、Ctrl-pを繰り返し押したとき同じコマンドが何回も出てきます。
2016/02/20(土) 07:22:20.45
Ctrl-rで検索したとき一度出たものと重複するものをスキップしてくれますよ。
2016/02/20(土) 12:37:09.21
なるほど、ありがとうございます。
457名無しさん@お腹いっぱい。
垢版 |
2016/03/12(土) 00:34:52.65
http://d.hatena.ne.jp/ino46/20110627/1309149506
このzsh限定のselectメニューの文字化けどうすればいいんだろうか?
458名無しさん@お腹いっぱい。
垢版 |
2016/03/15(火) 20:48:15.31
selectの代わりにpercol使うことにした
459名無しさん@お腹いっぱい。
垢版 |
2016/03/31(木) 14:16:01.37
そういえば.zhistoryも日本語が文字化けしてた
history-all等の方で取り出すのは文字化けしないから
困った事にはならなかったが

bash_historyの方は化けないから
文字化けは他でもまた偶然直面しそうだ
直し方両方分からないし
2016/04/02(土) 02:15:04.35
なんかzshがWindowsに対応とかニュースになってるらしいけどマジ?
2016/04/02(土) 17:24:11.62
bashやろ
2016/04/02(土) 20:09:45.83
ありゃ、bashか
でもそれでもすごいことだな
2016/04/03(日) 00:01:44.30
すごいよ。WindowsでUbuntuのバイナリ互換するんだもんな
zshも動くよきっと
2016/04/03(日) 00:03:01.83
今でも動くけどな
Windows7の人はxp-modeで試せばよい

http://unix.oskp.net/sua/windows_zsh.html
2016/04/04(月) 03:22:03.43
>>459
~/.zsh_historyのエンコーディングがLatin1っぽい
466名無しさん@お腹いっぱい。
垢版 |
2016/04/04(月) 09:10:38.50
>>465
nkf で utf-8 に変更しても駄目だったから
zshから書き出すまでの方見ないと駄目かもしれない
2016/04/04(月) 20:50:42.74
>>459>>465>>466
仕様ではないのか
http://www.zsh.org/mla/users/2011/msg00154.html
2016/04/10(日) 04:03:37.50
bashのcdでディレクトリだけ補完する、の下記設定は、zshだとどう書けばよいですか?
complete -d cd

下記でできましたが、自分には不要な設定もたくさんついてくるので、cdのディレクトリ補完だけ単独で設定したいです。
autoload -Uz compinit; compinit
2016/04/10(日) 13:30:00.02
>>468
compctl -/ cd
2016/04/10(日) 20:47:25.28
>>469

できました!
ありがとうございます。
2016/05/11(水) 12:17:56.75
man cdとするとzshではなくbashのビルトインの方が呼ばれるんですがどうしたらいいですか
man zshbuiltinはちょっとめんどい
2016/05/13(金) 00:19:24.36
run-help を使えるようにしておくとか
2016/05/13(金) 19:31:54.87
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
これで補完のとき大文字小文字を区別しないようにしているのですが、
Macで/us<Tab>とすると/Usersが先に出てきてしまいます。
これを/usrが先に出てくるようにしたいです。つまり
入力した文字列と大文字小文字が一致した候補がある場合はそちらを先にしたいのですが
どうすればいいでしょうか?
2016/05/13(金) 22:41:19.11
アルファベットが若い方が優先されてんでしょ
475名無しさん@お腹いっぱい。
垢版 |
2016/05/13(金) 22:43:04.11
マックをやめればすむ話だな
2016/05/14(土) 06:12:53.83
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}'

これじゃダメなんだね?
2016/05/14(土) 20:28:58.04
大文字小文字無視系の設定は、しばらく使ってみないと自分の好みの動作が判らんよな
楽をしようとしてるのに、縛りを少しきつくすると勝手に確定させられて「おいっ!」みたいなことがあるし
2016/05/20(金) 01:08:02.47
oh-my-zshとかprezto使わんのみんな
2016/05/20(金) 01:11:25.06
使わない
適当にググって人の設定パクるほうがいい
2016/05/30(月) 22:12:11.81
俺は最初oh-my-zsh使ってたけど今はantigenで落ち着いたな(´・ω・`)
2016/06/19(日) 19:22:43.33
やったことない(´・ω・`)
2016/06/23(木) 22:14:43.03
.zshrcにfunctionを書いているのですが、readでユーザ入力を待っている時に、ctrl+c、ctrl+d、esc、どれも押しても強制終了できません。

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

function hoge(){
# 入力待ち中に強制キャンセルが何も効かない。。
printf "input: "
read string
}
2016/06/27(月) 20:12:25.69
>>483
function hoge(){
trap 'return 1' SIGINT
printf "input: "
read string
}

これでどうだろう
485483
垢版 |
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が入力されるとそれでキャンセルされたように見えるのでこれで代用しようかな。
486名無しさん@お腹いっぱい。
垢版 |
2016/07/01(金) 20:45:43.11
>>485
見当違いなアドバイスだが、readに-tつけては
487483
垢版 |
2016/07/07(木) 00:51:28.67
>>486

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

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

レスありがとうございます。
すでに違ったとレスいただいていますが、typeコマンド初めて知りましたので一応調べてみたら、functionだとわかるだけでした。
2016/12/22(木) 20:17:52.21
関数定義も普通にwhichで見れると思うけど……

% function foo() { echo hoge; }
% which foo
foo () {
echo hoge
}
2016/12/22(木) 22:09:41.71
whichが置き換わってるんとちゃう?
built-in which
でいける
495489
垢版 |
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

続きます。
496489
垢版 |
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で書き換えるとか迷惑ですね。。
これを読まないようにする設定とか無いでしょうか?
497489
垢版 |
2016/12/23(金) 00:39:13.07
途中で書き込んでしまいましたすみません。

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

centos6です。。
2016/12/24(土) 12:06:57.31
curlで&や?を含むURLを取得するとき、いちいちURLをクォートで囲むのが
面倒なんだが、いい方法ないだろうか?
2016/12/24(土) 14:15:22.12
URLをコピペするときは bracketed-paste-url-magic が役立つ
2016/12/24(土) 14:58:57.32
これか。これってターミナルエミュレータがbracketed pasteに対応してないとダメなんじゃない?
https://github.com/zsh-users/zsh/blob/master/Functions/Zle/bracketed-paste-url-magic
こっちのurl-quote-magicなら自分のとこでも動いた。ともあれthx
http://d.hatena.ne.jp/lurker/20061231/1167570929
2016/12/24(土) 19:54:49.31
自分はその手のコマンドは noglob を使った alias を定義してるな
2016/12/25(日) 07:10:40.66
noglobは&に効かなくね?
2016/12/25(日) 14:42:22.28
>>504
あれ、確かにそうだよなと思って履歴を見返したら、クォート
2016/12/25(日) 14:51:11.09
途中で切れてしまった。履歴を見返したら & を含む場合はクォートしていたw
ごめんち

ブラウザ経由で呼び出す機会が多くなったし、端末に張り付ける場合も
正規化した URL を使ってたから、クォートする機会があまりなかった
自分の記憶が全くに当てにならんのが泣ける
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

しても変わらず。

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

昔出来た気がするのですが、今マニュアル見てもなくて。
2017/03/25(土) 16:44:28.09
ulimit -aってやると一番下に
-N 15: unlimited
と出るんですが、この項目は何ですか?
2017/08/16(水) 10:45:32.97
extendedglobがmissing delimiterとか言われてエラーになる
何か他のオプションと衝突するとかある?
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:|=*'
としてみたのですが、反映されませんでした。
2017/11/08(水) 00:09:30.35
最近.zshrcを見直してzmodload zsh/filesが入ってたことに気付いたけど
これもう完全にいらない子なんだな。
たしか引数の最大バイト数を回避する目的で入れた記憶があるけど、
最近のLinuxは引数上限がかなり緩和されたはずだから困ることはまずないし、
むしろPOSIX準拠してないので制約が多い。

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

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

CDVW4G8P2M
2018/02/09(金) 15:37:56.37
世の中pythonが流行ってるけど、案の定xonshっていうシェルも出てきた
そのうちイーマック厨みたいにpythonは環境です(キリッとか言い出すやつも現れそうだな
2018/02/12(月) 03:10:42.94
>>514
xonsh初めて知った。
機能的にはすごそうだが、ちょっと込み入ったことはシェルスクリプトで書いた方が後々使い回しが楽そうだな...
2018/02/14(水) 09:51:22.03
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆
2018/03/05(月) 18:24:52.65
fzfのキーバインドを変更したい時ってどうすればいいんですか?
具体的にはC-tをC-TもしくはM-Tに変更したいです
518名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 08:14:49.67
muxer -i input.aac?sbr --file-format m4a -o output.m4a
ってコマンドを打ちたいんですが、sbrというオプションを付けるときは頭に?を付けないといけないんですが、
「?」がzshでワイルドカードとして扱われてしまいます。
ワイルドカードとして認識されないようにするにはどうしたらいいでしょうか?
519名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 08:31:31.50
自己レス
?の前にバックスラッシュを入れたら使えました。
2018/03/15(木) 11:57:18.95
zshのデフォルトだと、マッチするファイルがなければ?は?のままのはずだが。
2018/03/16(金) 01:19:49.71
>>520
バックスラッシュ付けないとこのようになってしまいます。

$ muxer -i input.aac?sbr --file-format m4a -o output.m4a
zsh: no matches found: input.aac?sbr
2018/03/16(金) 01:28:32.25
>>521
NOMATCHかなんか設定してるんでしょ。
man読みな。
2018/03/16(金) 01:54:20.85
>>522
何の設定でしょうか?
何のmanをみたらいいですか?

今ググってみて
.zshrcに
setopt nonomatch
と書いたら?を付けなくてもコマンドが動きました。
2018/04/13(金) 02:04:18.70
$ $PATH<Enter>
としたとき$PATHの値が表示されるようにできるみたいなんですが、
そういうオプションがあるんでしょうか?
2018/04/14(土) 20:09:52.28
zsh: No such file or directory: のようなおまけがついててもいいなら
そのままでも表示はされる場合が多い気がする
2018/04/15(日) 02:53:00.19
確かに。でも$PATHならともかく他の環境変数にもその方法を適用するには
リスクが高いですね。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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