トップページ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リンク
0134名無しさん@お腹いっぱい。05/03/15 20:02:18
>>133
( ゚д゚)ポカーン
0135名無しさん@お腹いっぱい。05/03/15 20:12:20
そりゃだめだろう
0136名無しさん@お腹いっぱい。05/03/16 06:50:09
alias ls=' ls'
とかは?
013713605/03/16 06:51:21
setopt hist_ignore_space でね
013813605/03/16 06:53:42
引数なしの ls だけをってんならちょっと違うか。
その場合 >>131 みたいな widget を作ればいいかな。
0139名無しさん@お腹いっぱい。05/03/19 21:28:50
catぐらい組み込みで提供してほしい
0140名無しさん@お腹いっぱい。05/03/19 21:33:28
>>139
なぜ?
0141名無しさん@お腹いっぱい。05/03/19 21:41:59
>>139

つ < >

NULL_CMD/READ_NULL_CMDね。
014214105/03/19 21:42:37
あー、デフォルトがcatやmoreなだけか。

0143名無しさん@お腹いっぱい。2005/03/24(木) 01:22:31
while read line; do printf '%s\n' $line; done
とか
while read -E; do :; done
とか考えてみたけど、EOF直前の改行の有無が再現できなかった。
0144名無しさん@お腹いっぱい。2005/03/24(木) 01:24:43
で、なぜ外部コマンドのcatでは駄目なのか
0145名無しさん@お腹いっぱい。2005/03/24(木) 17:24:18
まとまったメッセージを表示するときに
cat <<EOF
Usage: xxx [-a] [-b] files...
-a: set a option
-b: set b option
EOF

みたいなのを外部コマンド使わずに書きたいなぁと思ったことはある。
zshでは内部コマンドだけど、echo並べるのも芸がないしな。
0146ニート2005/03/24(木) 17:31:19
>>145
echo 'hoge
...
...
'
0147名無しさん@お腹いっぱい。皇紀2665/04/01(金) 05:06:01
fj.unix.shell が熱い
0148名無しさん@お腹いっぱい。皇紀2665/04/01(金) 06:56:26
fj.unix.shells
0149名無しさん@お腹いっぱい。皇紀2665/04/01(金) 12:27:53
test
0150名無しさん@お腹いっぱい。2005/04/04(月) 11:29:15
test
0151名無しさん@お腹いっぱい。2005/04/04(月) 11:57:06
zshにbashとkshにあるデバッガってないの?
bash → bashdb
ksh → kshdb
0152名無しさん@お腹いっぱい。2005/04/05(火) 09:19:28
zshdb
0153名無しさん@お腹いっぱい。2005/04/07(木) 01:26:59
zsh-4.2.5
0154名無しさん@お腹いっぱい。2005/04/07(木) 11:22:16
echo並べるのはちっとも恥ずかしくないよ。趣味の問題。
0155名無しさん@お腹いっぱい。2005/04/07(木) 11:27:53
>>154
ホシュシニクイ。
0156名無しさん@お腹いっぱい。2005/04/07(木) 12:26:17
どせなら

cat head tail cut sort uniq rev mv touch mkdir rm

ぐらいは内部コマンドで〜

grep find sed

も内部コマンドでいいかも〜
0157名無しさん@お腹いっぱい。2005/04/07(木) 13:04:24
>156
emacs がお望みで?

ちなみに find/sed はかなり内部コマンド的に使える機構がある
** とか :s/// とか
0158名無しさん@お腹いっぱい。2005/04/07(木) 13:49:40
>>153
4.2.4の補完ファイルだと_iconvだけがrejectされるな。
0159名無しさん@お腹いっぱい。2005/04/07(木) 21:15:27
最近zshを使い始めました。
で、憧れだったRPROMPTを使おうと思って、

local GREEN=$'%{\e[1;32m%}'
local BLUE=$'%{\e[1;34m%}'
local DEFAULT=$'%{\e[1;m%}'

PROMPT=$BLUE'${USER}%% '$DEFAULT
RPROMPT=$GREEN'[%~]'$DEFAULT
setopt PROMPT_SUBST

としたら、X上ではうまく表示されるのですが、
コンソール画面だと、文字までRPROMPTと同じ緑色に表示されてしまいます。
どうしたら改善出来ますか?
0160名無しさん@お腹いっぱい。2005/04/07(木) 21:33:05
そもそもあんたのつかっている "こんそぉる" とやらは
カラーをサポートしているのかね?

どのターミナルを使っているとか OS とか $TERM とか
termcap とかを晒せ。というか晒すために調べる時点で分かるだろうけど。
01611592005/04/07(木) 22:01:33
>>160
OSとか書いてなかった・・・。
FreeBSD5.3Rを使っていて、うまくいかないのはXを上げてないときです。
Xを上げて、ktermやmltermなどではうまく表示されています。

設定見直そうと思ったけど、今はPC使えないんだった・・・('A`)
0162名無しさん@お腹いっぱい。2005/04/09(土) 16:18:50
DEFAULT のとこを \e[00m にしたら? DEFAULT ってより RESET だけん。
0163名無しさん@お腹いっぱい。2005/04/15(金) 15:52:33
16進法の展開ってできる?
0164名無しさん@お腹いっぱい。2005/04/15(金) 15:59:25
% printf '%x\n' 255
% printf '%d\n' 0x255
とかじゃなくて?
0165名無しさん@お腹いっぱい。2005/04/15(金) 17:06:57
globでは?
0166名無しさん@お腹いっぱい。2005/04/15(金) 17:52:17
うい
0167名無しさん@お腹いっぱい。2005/04/15(金) 18:33:00
展開ってことは、該当するファイル名がないとこで生成したいのかね。
存在する16進表記に対するglobなら [[:xdigit:]] とか使えばいいんだろうが。
0168名無しさん@お腹いっぱい。2005/04/16(土) 06:12:42
私はこういう事かと思った
print $'\xa4\xb5\xa4\xe6\xa4\xdf\xa4\xf3\xa4\xab\xa4\xef\xa4\xa4\xa4\xa4\xa4\xe8\xa4\xb5\xa4\xe6\xa4\xdf\xa4\xf3'
0169名無しさん@お腹いっぱい。2005/04/18(月) 17:38:41
zshのヒストリは、履歴が書かれている紙をさかのぼって
表示するような感じだと思うのですが(多分)、
過去の履歴を編集した時など、うっかり C-u で消してしまうと、
以後その履歴はなくなってしまって困っています。
履歴を readonly にする方法はないでしょうか。
0170名無しさん@お腹いっぱい。2005/04/18(月) 18:13:19
>>169
履歴はreadonlyです。
0171名無しさん@お腹いっぱい。2005/04/19(火) 14:54:51
tcshのような history-search-backward が欲しいのですが、
どうにかならないんでしょうか?
0172名無しさん@お腹いっぱい。2005/04/19(火) 15:02:25
>>171
bindkey "^[p" history-beginning-search-backward
0173名無しさん@お腹いっぱい。2005/04/19(火) 16:34:21
>>172
man読んだつもりが、見落してました。
ありがとう!
0174名無しさん@お腹いっぱい。2005/04/19(火) 17:12:34
FreeBSD 5.3-RELEASE-p9
zsh 4.2.4 (i386-portbld-freebsd5.3)
を使っているのですが
% cat <(who)
cat: /dev/fd/12: No such file or directory
となって <() の様な書き方ができません

どうすれば <() の様な書き方が出来ますか?
0175名無しさん@お腹いっぱい。2005/04/19(火) 21:03:38
fdescfsをmountする。
0176名無しさん@お腹いっぱい。2005/04/20(水) 20:58:57
サイズが0のファイルのファイル名に展開してくれる展開式はありますか?
0177名無しさん@お腹いっぱい。2005/04/20(水) 23:02:10
>>176

$ ls
$ touch 0
$ echo -n '1' > 1
ls -l ?
$ echo ?(e:'test -s $REPLY':)

0178名無しさん@お腹いっぱい。2005/04/21(木) 01:23:02
>>178
s/-s/! -s/
ですか?
0179名無しさん@お腹いっぱい。2005/04/21(木) 01:23:25
>>178
>>177だったorz
0180名無しさん@お腹いっぱい。2005/04/21(木) 21:02:17
globbing をつかうなら *(.L0) とか
0181名無しさん@お腹いっぱい。2005/04/23(土) 00:19:39
>180
サンキューデス。howmでよくうっかり作ってしまうサイズ0のファイルを、
rm **/*(L0)で消滅してもらって気分が少しすっきりしました。

zshのreference.ps、PDF変換したら一部欠けてしまうので何とかして欲しい・・・
0182名無しさん@お腹いっぱい。2005/04/24(日) 00:53:44
zsh-4.2.5でsuffix aliasが補完できない。
0183名無しさん@お腹いっぱい。2005/04/27(水) 22:23:33
できるけど
0184名無しさん@お腹いっぱい。2005/05/01(日) 16:26:27
シンボリックリンク展開とかないよね。
0185名無しさん@お腹いっぱい。2005/05/01(日) 16:28:22
あるよ
0186名無しさん@お腹いっぱい。2005/05/01(日) 16:29:45
早いなオイ
$(realpath hoge) とかじゃなくてすか?
0187名無しさん@お腹いっぱい。2005/05/01(日) 17:10:29
@
0188名無しさん@お腹いっぱい。2005/05/01(日) 21:47:08
じゃなくて、realpath みたいに追跡展開(置換?)したい
01891822005/05/02(月) 00:03:44
>>183
できました。すまそ
0190名無しさん@お腹いっぱい。2005/05/04(水) 07:38:28
zmodload zsh/statして
stat +link hoge
0191名無しさん@お腹いっぱい。2005/05/12(木) 23:32:17
realpath と同じじゃ
0192名無しさん@お腹いっぱい。2005/05/17(火) 10:35:40
日本語入力したらプロンプト上の表示が文字化けするのは
直す方法はありますか?
0193名無しさん@お腹いっぱい。2005/05/17(火) 12:14:39
setopt print_eight_bit
とかで解決する話?
プロンプトにディレクトリを表示するようにしてて、
日本語なディレクトリに入った時に化ける、とかなら分かるが。
0194名無しさん@お腹いっぱい。2005/05/17(火) 12:49:50
いやそれ以前に文字コードを何使っているんだとか
LANG やら LC_* は、とかいろいろ告白すべきことがあるだろう。
0195名無しさん@お腹いっぱい。2005/05/17(火) 23:26:34
端末が日本語表示出来るかはいっか
0196名無しさん@お腹いっぱい。2005/05/18(水) 01:25:24
すいませんでした。
ターミナルエミュレータはputtyで文字コードはUTF8使ってます。
OSはFedora3 で文字コードはUTF8です。

LANG=ja_JP.UTF-8

setopt print_eight_bit
では解決しないようです。

たとえばプロンプト上でtabで日本語ファイルを補完などすると、
文字化けした状態で表示されます。
ただし表示がおかしいだけでファイルの操作などは普通に出来ているようです。

以前いろいろ調べた時はutf8を表示させる方法はとりあえず無くて、
bad なんたらに登録されていて、そこにも近日対応予定とありました。
んで、半年くらい立ったので解決されたかなと思いまして。

0197名無しさん@お腹いっぱい。2005/05/18(水) 02:18:58
>>196
cvs
0198名無しさん@お腹いっぱい。2005/05/18(水) 02:22:02
なるほど、まだ正式には未対応なのですね。
残念です。
CVSに手を出してまで必要では無いので待つことにします。
0199名無しさん@お腹いっぱい。2005/05/18(水) 21:05:22
今時ウtfも未対応とはとんだ糞ソフトだな。
機能は多いかもしれんがそのうち消える運命だな。
0200名無しさん@お腹いっぱい。2005/05/19(木) 20:31:02
UTF 対応って POSIX の必要条件なの??
0201名無しさん@お腹いっぱい。2005/05/19(木) 23:11:52
>>199
機能が多い時点でk(ry
0202名無しさん@お腹いっぱい。2005/05/29(日) 23:32:37
zshの補完についてお聞きします
例えば

/home/aaa.txt
/home/bbb.txt
/home/ccc.txt

というファイルがあって、ファイル名の拡張子を除いたものが補完候補に挙がるように

command [TAB]
aaa bbb ccc

とするには compadd をどう書けばいいのでしょうか?
0203名無しさん@お腹いっぱい。2005/05/30(月) 01:16:11
>>202
単純にかけば
compadd /tmp/*(.:r:t)
とか
0204名無しさん@お腹いっぱい。2005/05/31(火) 08:47:35
PATH環境変数から、"/usr/java/"で始まるパスのを削除したいんですけど、
zshでこういう(正規表現などでマッチする要素のみを削除する)操作は可能でしょうか?
02052022005/05/31(火) 12:44:10
>203
感謝
0206名無しさん@お腹いっぱい。2005/05/31(火) 16:15:16
ttp://namazu.org/~satoru/blog/archives/000032.html
0207名無しさん@お腹いっぱい。2005/05/31(火) 17:08:58
>>204

path=( ${(R)path#/usr/java/*} ) とか?
正規表現じゃなくてglobだけど。
0208名無しさん@お腹いっぱい。2005/05/31(火) 21:01:35
>>204
スレ違いな解法だけど、
PATH=`echo $PATH | cut -d':' -f'1-3,5-'`

cut がダメなら代わりにsed とかでも。
0209名無しさん@お腹いっぱい。2005/05/31(火) 23:02:51
207が正統派っぽいけど、正規表現なら俺はperlにかませるな。
$echo $PATH |perl -pe "s#(^|:?)/usr/java/[^:]*##g"
02102042005/06/01(水) 10:16:15
>207
ありがとうございました。(R)をつけても、/usr/java以降は削除されなかったんですけど、
最後がbinなのが決まっていたので何とかなりました。

function setjavahome () {
path=( ${path#/usr/java/*/bin} )
export JAVA_HOME=$1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=\
.:./classes:\
$JAVA_HOME/lib/tools.jar:\
$JAVA_HOME/jre/lib/rt.jar:
}
0211名無しさん@お腹いっぱい。2005/06/01(水) 17:45:50
>>204

path#パターン じゃなくて path:#パターン
が正しいみたいです。(コロン)
0212名無しさん@お腹いっぱい。2005/06/13(月) 13:49:04
コマンドを実行する時に環境変数を渡さずに実行したいのですがどうすればできますか?
0213名無しさん@お腹いっぱい。2005/06/13(月) 14:23:05
env -i
0214名無しさん@お腹いっぱい。2005/06/16(木) 14:05:18
なんかzshellのいい本か、ファイルないかな?サイトじゃなくて。。
0215名無しさん@お腹いっぱい。2005/06/16(木) 14:16:51
/usr/local/info/zsh.info
0216名無しさん@お腹いっぱい。2005/06/16(木) 16:37:33
これしかないんじゃない?
"From Bash to Z Shell"
ttp://www.amazon.com/exec/obidos/tg/detail/-/1590593766/103-1774413-5263841
0217名無しさん@お腹いっぱい。2005/06/17(金) 06:53:20
man zshall
user's guide to the z-shell
0218名無しさん@お腹いっぱい。2005/06/17(金) 09:27:22
shall we shell?
0219名無しさん@お腹いっぱい。2005/06/17(金) 18:17:22
そういえばUnixUserの連載の書籍化の話はどうなった
0220名無しさん@お腹いっぱい。2005/06/17(金) 18:30:56
売れないので流れました
0221名無しさん@お腹いっぱい。2005/06/17(金) 19:44:15
もったいねー
0222名無しさん@お腹いっぱい。2005/06/18(土) 02:26:47
PDF とかで手に入れられますかね?
0223名無しさん@お腹いっぱい。2005/06/18(土) 02:40:51
単発記事ならWebに載せられることもあるが、連載記事は難しいか
0224名無しさん@お腹いっぱい。2005/06/24(金) 00:59:32
カレントディレクトリの情報に応じて、umaskを動的に変更することは可能でしょうか。

NFSな/share/... は、umask u=rwx,g=rwx,o=rx にして、
自分のホームディレクトリな/home/.... は、umask u=rwx,g=rx,o= にする、といったような。
0225名無しさん@お腹いっぱい。2005/06/24(金) 01:26:15
ハァ?
0226名無しさん@お腹いっぱい。2005/06/24(金) 01:31:20
pwd して umask かえるような function を cd の代わりに使ったら?
0227名無しさん@お腹いっぱい。2005/06/24(金) 06:15:16
chpwd でいいでしょ
0228名無しさん@お腹いっぱい。2005/07/14(木) 11:27:39
EDITOR 変数にviを設定した状態で、zshを起動すると、
Ctrl+A,P,B,Nが ^A,^P,^B,^NとEchoされる状態になります。
回避したいのですが、どうやるのが作法なのでしょうか?
0229名無しさん@お腹いっぱい。2005/07/14(木) 11:42:09
bindkey -e
0230& ◆PkVaNoo6gU 2005/07/14(木) 18:44:55
ありがとうございました。
ZSHEDITORみたいな変数が有るのかと探してました。
0231名無しさん@お腹いっぱい。2005/08/12(金) 02:15:46
てst
0232名無しさん@お腹いっぱい。2005/08/13(土) 17:02:43
suffix alias (alias -s suffix=command)で指定した拡張子を持つファイルを実行権限を与えること無く補完したいのですが、これって可能ですか?

↓こんな感じ。

% ls -l
合計 4
-rw-r--r-- 1 abcdefg abcdefg 0 8月 13 16:53 hoge.hoge
-rw-r--r-- 1 abcdefb abcdefg 2439 8月 13 16:53 hoge.html
% alias -s html=pick-web-browser
% ./hoge
(ここで expand-or-complete)
% ./hoge.html
0233名無しさん@お腹いっぱい。2005/08/13(土) 23:39:14
>>232
普通にできているが。
■ このスレッドは過去ログ倉庫に格納されています