トップページ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リンク
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
普通にできているが。
02342322005/08/14(日) 00:55:23
自己完結しました。

alias -s {com,net,org 等々...}{,/}=pick-web-browser
という設定をしていたんだけど、指定する接尾辞に / を含めるのがダメだったみたい。

サフィックスエイリアスの中に1つでも / を含むものがあると全ての suffix alias
の補完ができなくなるようです。
0235名無しさん@お腹いっぱい。2005/08/14(日) 00:59:49
何のために/を入れるんだ?
0236232=2342005/08/14(日) 01:11:18
>>235
別に意味は無い
なんとなくいれてみたかっただけ
0237名無しさん@お腹いっぱい。2005/08/20(土) 10:41:55
開発中の使えでもなんでもいいんですが、
zshでまともにutf-8を使う方法ってありますか??
0238名無しさん@お腹いっぱい。2005/08/25(木) 15:22:56
... で ../.. に、 .... で ../../.. に、 ..... で ../../../.. に、・・・
ってできないかな?
0239名無しさん@お腹いっぱい。2005/08/25(木) 16:14:19
_morse
0240名無しさん@お腹いっぱい。2005/08/25(木) 18:00:34
..は、実際にそういう名前のディレクトリをシェルの外の世界で
辿ってるだけだからのう。
BUFFERを加工してやればやれなくもないとは思うが。

rootで、
# ln -d ../.. ...
ってやってみたら怒られた。(Linux ext2)
0241从*・ 。.・) ◆SayuminPM. 2005/08/25(木) 19:21:41
>>238
ちょっと違うけどこんなの書いて使ってる

function MichishigeSayumi () {
emulate -L zsh
setopt extendedglob
typeset MATCH
zle .self-insert
LBUFFER="${LBUFFER%%(#m)(...)}${MATCH:+../..}"
}
zle -N MichishigeSayumi
bindkey '.' MichishigeSayumi
0242名無しさん@お腹いっぱい。2005/08/30(火) 14:27:21
モヲタが唯一のコードの読み手だとしたら、
Sayumin, Eririn, Reinya と呼べばそれで済むでしょう。
しかし、主要な読み手はモヲタではなく、人間なのです。

--- ケント・ベック
0243名無しさん@お腹いっぱい。2005/09/07(水) 18:17:05
mohta
0244名無しさん@お腹いっぱい。2005/09/08(木) 05:51:13
cygwin を利用せずに、Windows で Zshを使うほうほうはありませんでしょうか?
0245名無しさん@お腹いっぱい。2005/09/09(金) 16:25:40
ありません
0246名無しさん@お腹いっぱい。2005/09/09(金) 19:19:08
どれだけ使い物になるかは知らん
ftp://ftp.blarg.net/users/amol/zsh
0247名無しさん@お腹いっぱい。2005/09/10(土) 00:52:41
v3 の頃の奴で現在メンテナンスはされてないです。

でも win 環境で zsh script 書けるのはありがてーってんで
>246 の奴使ってます。
超最低限の範囲しか使ってないけど。

(それにしても cmd.exe つかえねえよな)
0248名無しさん@お腹いっぱい。2005/09/10(土) 03:17:27
monadはすごいぞ
zshがゴミに思える
0249名無しさん@お腹いっぱい。2005/09/10(土) 08:21:14
でも Longhorn は monad なし。

あと「決定的な差」がなかったら新言語に手を出すのは面倒。
0250名無しさん@お腹いっぱい。2005/10/04(火) 10:33:43
前スレ109のプロンプト直後で日本語入力すると左に表示がずれるという問題ですが,
KDEのkonsoleにて同様の症状になります.
XIM経由で入力してOver The Spotに設定しておくとなんとか入力できたんですが,
IM_MODULE経由で入力するようにしたところ,再びこの症状が表れました.

どなたかこの問題を解決できた方いませんか?
0251名無しさん@お腹いっぱい。2005/10/04(火) 13:59:47
gnome-terminal + uim とかだと問題なさそう
■ このスレッドは過去ログ倉庫に格納されています