zsh その7

1名無しさん@お腹いっぱい。2012/05/24(木) 16:34:43.03

484名無しさん@お腹いっぱい。2016/06/27(月) 20:12:25.69
>>483
function hoge(){
trap 'return 1' SIGINT
printf "input: "
read string
}

これでどうだろう

4854832016/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つけては

4874832016/07/07(木) 00:51:28.67
>>486

なるほど。
秒数待ちをするんですね。
そのアイデアはまったく考えてませんでした。
案の一つとして検討させていただきます。ありがとうございます。

488名無しさん@お腹いっぱい。2016/08/05(金) 17:35:39.35
ここ最近、履歴の共有ができなくなってしまいました
inc_append_history と share_history は有効にしてます
何が悪さをしてるでしょうか?
zshは5.2です

489名無しさん@お腹いっぱい。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
すみません。忘れてください

492名無しさん@お腹いっぱい。2016/12/22(木) 20:10:18.20
>>490,491

レスありがとうございます。
すでに違ったとレスいただいていますが、typeコマンド初めて知りましたので一応調べてみたら、functionだとわかるだけでした。

493名無しさん@お腹いっぱい。2016/12/22(木) 20:17:52.21
関数定義も普通にwhichで見れると思うけど……

% function foo() { echo hoge; }
% which foo
foo () {
echo hoge
}

494名無しさん@お腹いっぱい。2016/12/22(木) 22:09:41.71
whichが置き換わってるんとちゃう?
built-in which
でいける

4954892016/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

続きます。

4964892016/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で書き換えるとか迷惑ですね。。
これを読まないようにする設定とか無いでしょうか?

4974892016/12/23(金) 00:39:13.07
途中で書き込んでしまいましたすみません。

読まないようにする設定が無ければ、無理矢理感があって気持ち悪いですが unalias which を.zshrcに入れて我慢します。

498名無しさん@お腹いっぱい。2016/12/23(金) 00:46:56.65
zshはそんなものデフォルトで入れないよ。冤罪だw
その手のおせっかいはお使いのディストリビューション固有の事情かと。

4994892016/12/23(金) 00:51:58.22
えええ

centos6です。。

500名無しさん@お腹いっぱい。2016/12/24(土) 12:06:57.31
curlで&や?を含むURLを取得するとき、いちいちURLをクォートで囲むのが
面倒なんだが、いい方法ないだろうか?

501名無しさん@お腹いっぱい。2016/12/24(土) 14:15:22.12
URLをコピペするときは bracketed-paste-url-magic が役立つ

502名無しさん@お腹いっぱい。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

503名無しさん@お腹いっぱい。2016/12/24(土) 19:54:49.31
自分はその手のコマンドは noglob を使った alias を定義してるな

504名無しさん@お腹いっぱい。2016/12/25(日) 07:10:40.66
noglobは&に効かなくね?

505名無しさん@お腹いっぱい。2016/12/25(日) 14:42:22.28
>>504
あれ、確かにそうだよなと思って履歴を見返したら、クォート

506名無しさん@お腹いっぱい。2016/12/25(日) 14:51:11.09
途中で切れてしまった。履歴を見返したら & を含む場合はクォートしていたw
ごめんち

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

507名無しさん@お腹いっぱい。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つ目を取り出してスタックトップに乗せるって挙動なかったですか?
つまり最近使った順にスタックが並ぶ。

昔出来た気がするのですが、今マニュアル見てもなくて。

509名無しさん@お腹いっぱい。2017/03/25(土) 16:44:28.09
ulimit -aってやると一番下に
-N 15: unlimited
と出るんですが、この項目は何ですか?

510名無しさん@お腹いっぱい。2017/08/16(水) 10:45:32.97
extendedglobがmissing delimiterとか言われてエラーになる
何か他のオプションと衝突するとかある?

511名無しさん@お腹いっぱい。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:|=*'
としてみたのですが、反映されませんでした。

512名無しさん@お腹いっぱい。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

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

515名無しさん@お腹いっぱい。2018/02/12(月) 03:10:42.94
>>514
xonsh初めて知った。
機能的にはすごそうだが、ちょっと込み入ったことはシェルスクリプトで書いた方が後々使い回しが楽そうだな...

516名無しさん@お腹いっぱい。2018/02/14(水) 09:51:22.03
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆

517名無しさん@お腹いっぱい。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
自己レス
?の前にバックスラッシュを入れたら使えました。

520名無しさん@お腹いっぱい。2018/03/15(木) 11:57:18.95
zshのデフォルトだと、マッチするファイルがなければ?は?のままのはずだが。

521名無しさん@お腹いっぱい。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

522名無しさん@お腹いっぱい。2018/03/16(金) 01:28:32.25
>>521
NOMATCHかなんか設定してるんでしょ。
man読みな。

523名無しさん@お腹いっぱい。2018/03/16(金) 01:54:20.85
>>522
何の設定でしょうか?
何のmanをみたらいいですか?

今ググってみて
.zshrcに
setopt nonomatch
と書いたら?を付けなくてもコマンドが動きました。

524名無しさん@お腹いっぱい。2018/04/13(金) 02:04:18.70
$ $PATH<Enter>
としたとき$PATHの値が表示されるようにできるみたいなんですが、
そういうオプションがあるんでしょうか?

525名無しさん@お腹いっぱい。2018/04/14(土) 20:09:52.28
zsh: No such file or directory: のようなおまけがついててもいいなら
そのままでも表示はされる場合が多い気がする

526名無しさん@お腹いっぱい。2018/04/15(日) 02:53:00.19
確かに。でも$PATHならともかく他の環境変数にもその方法を適用するには
リスクが高いですね。

527名無しさん@お腹いっぱい。2018/04/15(日) 09:21:33.89
preexec使えばできると思う

528名無しさん@お腹いっぱい。2018/04/15(日) 16:39:01.17
accept-lineをオーバーライドするのでもできるかも
https://stackoverflow.com/a/28101424/5209556

529名無しさん@お腹いっぱい。2018/04/17(火) 21:53:10.70
普通にechoするんじゃ何がダメなんだ

530名無しさん@お腹いっぱい。2018/04/22(日) 17:49:31.90
ここでも出てるんだが、
https://stackoverflow.com/questions/7342233/zsh-completion-inside-quoted-strings
git commit 'Add f<TAB>
としたときfで始まるファイル名を補完してくれたらいいんだが

531名無しさん@お腹いっぱい。2018/05/03(木) 01:54:35.99
以下のように (( )) で浮動小数演算したところ思わぬ結果になりました。
a と b の型がどのように決まるのか教えていただけないでしょうか?

$ cat hoge
a=$(( 1e-6 * 1e-6 ))
(( b = 1e-6 * 1e-6 ))
typeset -p a
typeset -p b

$ zsh hoge
typeset a=9.9999999999999998e-13 #型は文字列?
typeset -F b=0.0000000000 #小数点以下10桁固定の型?

$ zsh --version
zsh 5.4.2 (x86_64-redhat-linux-gnu)

532名無しさん@お腹いっぱい。2018/05/03(木) 19:34:11.16
よく知らずに答えるけど
$(())を使うと文字列
(())を使うと浮動少数や整数
になるんじゃないの?

533名無しさん@お腹いっぱい。2018/05/08(火) 19:03:35.11
型はtypeset指定しなければ暗黙的に決まるわけだが、
floatは指数形式と小数点固定形式があるが(())内の暗黙floatは勝手に後者になる
そもそも型とその出力表現は別の概念なのにごっちゃになってんのが糞仕様すぎ

534名無しさん@お腹いっぱい。2018/05/09(水) 06:50:48.71
タブ補完でmigemo使う方法って知られてるの

新着レスの表示
レスを投稿する