トップページunix
981コメント260KB

zsh その4

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。05/02/02 20:03:26
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リンク
0415名無しさん@お腹いっぱい。2006/03/01(水) 15:49:32
>>414
OSは?
0416名無しさん@お腹いっぱい。2006/03/01(水) 16:00:39
multibyteってコンパイル時以外に何か設定いる?
0417名無しさん@お腹いっぱい。2006/03/01(水) 17:31:32
>>416
LC_CTYPE
0418名無しさん@お腹いっぱい。2006/03/03(金) 03:09:51
.2
0419名無しさん@お腹いっぱい。2006/03/06(月) 20:20:39
4.3.2に上げたらUTF-8な端末上で日本語入力しても化けなくなった。
0420名無しさん@お腹いっぱい。2006/03/06(月) 20:57:33
>>419
Linuxユーザでしょ
0421名無しさん@お腹いっぱい。2006/03/06(月) 21:11:34
やっぱそうか・・・
0422名無しさん@お腹いっぱい。2006/03/06(月) 21:22:44
Mac OS X だけど化けない。嬉しい。
0423名無しさん@お腹いっぱい。2006/03/06(月) 21:41:22
utf8ですか?
0424名無しさん@お腹いっぱい。2006/03/07(火) 03:31:22
4.3 になったらマルチバイトのあつかいがうまくなった
0425名無しさん@お腹いっぱい。2006/03/07(火) 03:56:59
zsh-4.3.2 -f
bindkey -e
で delete おすと ~ が入力される
quoted-insert だと ^[[3~
bindkey '^[[3~' delete-char で望んだ動作になるんだけど
なにが悪いのかな?
0426名無しさん@お腹いっぱい。2006/03/07(火) 14:41:04
どちらか
o デフォルトのemacsキーバインドはDELキーに何も割りあてられていない
o TERMが正しくない
0427名無しさん@お腹いっぱい。2006/03/07(火) 15:24:55
ああ、pantherダメなんだ
0428名無しさん@お腹いっぱい。2006/03/10(金) 05:57:10
おお、いつのまに。freebsd ports にこねーなあ。
0429名無しさん@お腹いっぱい。2006/03/11(土) 11:34:00
おれも ports 待ち
0430名無しさん@お腹いっぱい。2006/03/11(土) 13:28:49
freeze
0431名無しさん@お腹いっぱい。2006/03/11(土) 18:10:37
cygwin版マダー
0432名無しさん@お腹いっぱい。2006/03/11(土) 19:08:10
いつの間にか日本語文字のカーソル移動が
きちんと二バイト単位でできるようになってるよ。
0433名無しさん@お腹いっぱい。2006/03/12(日) 00:12:04
4.3.1、4.3.2と試してみたけど表示とかカーソル移動は問題無し。
が、"第1話.avi"とかなファイルを"?1?.avi"とかで指定できなかった。
環境はLinux(Gentoo)、LANG系は全部ja_JP.UTF-8。
0434名無しさん@お腹いっぱい。2006/03/12(日) 01:12:02
「第1話」は
「??1??」でマッチするね。
0435名無しさん@お腹いっぱい。2006/03/16(木) 18:31:05
誰かfish(friendly interactive shell)って使ったことある人いる?
なんかちょっとすごそう。かも?
0436名無しさん@お腹いっぱい。2006/03/16(木) 20:45:13
少し前に試用してみたことはある。
良かった点は動的に色をつけてけっこう綺麗なことかな。

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

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

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

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

0438名無しさん@お腹いっぱい。2006/03/18(土) 22:22:56
取り敢えず名前から困るからな。繰り上がって aash とか。
0439名無しさん@お腹いっぱい。2006/03/19(日) 07:22:01
っzzsh
0440名無しさん@お腹いっぱい。2006/03/19(日) 08:17:11
shzzじゃないの
0441名無しさん@お腹いっぱい。2006/03/19(日) 16:05:54
bush
0442名無しさん@お腹いっぱい。2006/03/22(水) 21:57:35
for i in a b c d e ; do ; command $i ; done
をよくやるんだが、zshならもっと簡単にやる方法あったりしない?
0443名無しさん@お腹いっぱい。2006/03/22(水) 22:32:46
ないんじゃないかな。数字だったら{x..y}でいいんだけど。
せいぜいdo, doneを省くくらい。
0444名無しさん@お腹いっぱい。2006/03/23(木) 00:08:23
そういうスクリプト作ったら?
0445名無しさん@お腹いっぱい。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";}
0446名無しさん@お腹いっぱい。2006/03/23(木) 13:36:59
jot -c 5 a
0447名無しさん@お腹いっぱい。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
みたいなかんじに。
0448名無しさん@お腹いっぱい。2006/03/25(土) 09:37:04
スレ違いだけど
each func arg1 arg2 ...
の方が直感的と思ったオレは lisper ?
0449名無しさん@お腹いっぱい。2006/03/25(土) 10:48:26
>>448
lisperならeachじゃなくてmapの方が直観的と思うハズだ。
0450名無しさん@お腹いっぱい。2006/03/25(土) 10:49:28
と思ったがschemeならfor-eachか。
0451名無しさん@お腹いっぱい。2006/03/26(日) 00:35:54
カリー化マンセー
0452名無しさん@お腹いっぱい。2006/03/26(日) 18:19:02
autocdくらいしか変更してないけど快適。
0453名無しさん@お腹いっぱい。2006/03/28(火) 04:59:32
>>451
Haskell?
0454名無しさん@お腹いっぱい。2006/03/28(火) 23:20:07
perl -le 'print for (a .. d)'
0455名無しさん@お腹いっぱい。2006/04/09(日) 17:17:32
>>442
bash ならもっと簡単にやる方法あるよ:
bash -c 'for i in {a..e} ; do ; command $i ; done'
0456名無しさん@お腹いっぱい。2006/04/09(日) 17:56:03
>>455
それはbash3と断るべきだな。現状まだbash2の方が多いし、bash2ではできない。

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

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

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

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

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

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

>>365-368 あたりを読んでみ。
04794762006/06/21(水) 17:55:28
それとは別件。なぜか別のシェルを上げたら使えたので
何か変なsetoptでも知らないうちにしちゃったのかも。
それが影響するcompletion関数というのも勘弁だけど。
0480名無しさん@お腹いっぱい。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"
0481名無しさん@お腹いっぱい。2006/07/12(水) 16:43:09
ls() { /bin/ls ${1+"$@"} | less -e }
0482名無しさん@お腹いっぱい。2006/07/12(水) 16:51:43
>>481
いまどき ${1+"$@"} なんてしなくても "$@" で桶。
0483名無しさん@お腹いっぱい。2006/07/12(水) 16:58:57
そうなの?
0484名無しさん@お腹いっぱい。2006/07/12(水) 21:33:38
そうよ
0485名無しさん@お腹いっぱい。2006/07/12(水) 23:46:50
いまどきもなにも、このスレに書くってことはzsh限定でしょ。"$@"すら$*でよいのでは。

04864802006/07/13(木) 01:17:09
>>481
そのように設定をし、ちゃんと動作することを確認いたしました。
質問にお答えいただき、どうもありがとうございます。
0487名無しさん@お腹いっぱい。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 の状態で、再帰履歴検索をやる方法を教えてください。
0488名無しさん@お腹いっぱい。2006/07/15(土) 23:37:43
http://www.itmedia.co.jp/help/tips/linux/l0612.html
これじゃないの
0489名無しさん@お腹いっぱい。2006/07/16(日) 00:18:19
ビンゴです!
どうもありがとうございました。
0490名無しさん@お腹いっぱい。2006/08/03(木) 00:16:10
インクリメンタル検索って再帰履歴検索っていうんだ
初めて知ったかも
0491名無しさん@お腹いっぱい。2006/08/03(木) 07:35:22
どこの用法だよその謎訳語
0492名無しさん@お腹いっぱい。2006/08/03(木) 19:21:26
"再帰履歴検索" の検索結果 1 件中 1 - 1 件目 (0.29 秒)

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

ahooクオリティ(・∀・)
0494名無しさん@お腹いっぱい。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
0495名無しさん@お腹いっぱい。2006/08/07(月) 00:43:47
(time hoge > /dev/null) 2> a
04964942006/08/07(月) 03:43:48
おお!
なんかすごい基本的なことだったのかもしれませんが、ありがとうございます。
0497名無しさん@お腹いっぱい。2006/08/07(月) 16:47:31
time はコマンドじゃなくて予約語。
0498名無しさん@お腹いっぱい。2006/08/07(月) 19:57:51
( )じゃなくて{ }でもよかった
0499名無しさん@お腹いっぱい。2006/08/07(月) 22:11:10
GNUのtimeもきっと/usr/binあたりにあるでそ
0500名無しさん@お腹いっぱい。2006/08/09(水) 12:34:49
ない
0501名無しさん@お腹いっぱい。2006/08/09(水) 13:25:35
>>499
>>494 は GNU time の話ではない。
0502名無しさん@お腹いっぱい。2006/08/16(水) 01:03:00
http://lists.debian.or.jp/debian-users/200608/msg00104.html
日本語特有の設定ってある?
ロケールと print_eight_bit くらいだとおもうんだけど
0503名無しさん@お腹いっぱい。2006/08/16(水) 04:17:04
ヒドス
ttp://hiki.ex-machina.jp/zsh/index.cgi?MessageBoard
0504名無しさん@お腹いっぱい。2006/08/16(水) 08:36:54
ワロタ
0505名無しさん@お腹いっぱい。2006/08/16(水) 21:03:15
>>502
そいつは日本語特有の設定というより、
日本語で書かれた資料を切望しているように見えるんだが。
0506名無しさん@お腹いっぱい。2006/09/14(木) 00:24:17
cygwin版4.3.2キター
0507名無しさん@お腹いっぱい。2006/09/16(土) 02:36:00
まじでかぁあぁあ
でもいまcygwinいれらんね〜
0508名無しさん@お腹いっぱい。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

どうして?バグ?
0509名無しさん@お腹いっぱい。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
0510名無しさん@お腹いっぱい。2006/09/29(金) 09:02:55
これだけでよかった。死ね俺

# グローバルエイリアスを myaddrev に追加
myabbrev+=( ${==${(kv)galiases}} )
0511名無しさん@お腹いっぱい。2006/10/02(月) 21:26:17
生きろよ
0512名無しさん@お腹いっぱい。2006/10/05(木) 15:43:08
なにこの過疎スレ
0513名無しさん@お腹いっぱい。2006/10/08(日) 21:39:06
zshイイと思うけどなあ
bash+bash-completionじゃボロボロで使いモノにならんよ
Fedora Core 6ではzsh-4.3.2また見送りか
0514名無しさん@お腹いっぱい。2006/10/08(日) 22:09:14
今も昔もインストールすればいいだけ
■ このスレッドは過去ログ倉庫に格納されています