zsh その4
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。
05/02/02 20:03:26過去スレ
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リンク
0862名無しさん@お腹いっぱい。
2007/10/05(金) 02:40:33そういえばね、
gvim on windows + jp106 での話なんだけど、
C-/ と C-_(C-S-\) では C-_ が入らなくて
C--(Ctrl+-) で C-_ が入るんだよね。
なんでか知らんけど。
で、C-- で C-_ が入るかもよって話。
0863名無しさん@お腹いっぱい。
2007/10/05(金) 03:22:32端末の問題だと思うね。
手元だとckならC-/でC-_が出るみたいだけどcywginのrxvtだと駄目だった。
0864名無しさん@お腹いっぱい。
2007/10/09(火) 23:35:20completion の前にadobe(acro)readerのバージョンチェックで
一度 acroread を起動している。個人としての対応は
_acroread_version='7.0.9'
のように変数の値を指定してしまえば回避できる。
補完スクリプトをもっと改善できるだろうが、中途半端に改善するより
遅さに気付いたユーザが最速の対応をする方がよいのかな。
(ユーザが気付くくらい遅くしておかないといけない)
0865名無しさん@お腹いっぱい。
2007/10/16(火) 00:01:49エラーも出ずにプロンプトに戻ってきましたが、
これはどういうコマンドなのでしょうか?
0866名無しさん@お腹いっぱい。
2007/10/16(火) 00:19:30zshだけじゃないので、先ずは man sh でも読んで下さい。
0867名無しさん@お腹いっぱい。
2007/10/16(火) 00:27:22zshに限らず、bourneシェル系にはある。
- コメント記号の代わりに使う。
- trueの代わりに使う。
- コマンドが必要な箇所で使う。
else節だけが欲しいがthen節では何もしないif文とか
(↑論理反転したり&&や||で済む場合も多いが)
0868名無しさん@お腹いっぱい。
2007/10/16(火) 00:38:25とある .zshenv でトリッキーに使われていたので、
てっきり zsh の魔法に違いないと思い込んでしまいました。
詳しい説明、ありがとうございました。
0869名無しさん@お腹いっぱい。
2007/10/31(水) 20:49:06全然わからないんだけど。
0870名無しさん@お腹いっぱい。
2007/11/01(木) 05:41:200871名無しさん@お腹いっぱい。
2007/11/09(金) 19:50:36echo $result
な感じでしょうか?
0872名無しさん@お腹いっぱい。
2007/11/12(月) 18:04:16履歴に入れないようにするにはどうすればいいんでしょうか?
0873名無しさん@お腹いっぱい。
2007/11/12(月) 18:42:27setopt hist_ignore_space をしてから alias ls=' ls' って先頭にスペースを入れると履歴に残らないよ
0874名無しさん@お腹いっぱい。
2007/11/12(月) 18:59:16という希望にかなう設定はできるのかしら。
0875名無しさん@お腹いっぱい。
2007/11/12(月) 22:29:250876名無しさん@お腹いっぱい。
2007/11/13(火) 09:10:480877名無しさん@お腹いっぱい。
2007/11/13(火) 11:20:270879名無しさん@お腹いっぱい。
2007/11/15(木) 03:11:18hoge="aaa bbb"
for f in $hoge; do
echo $f
done
これの結果が
aaa
bbb
ではなく
aaa bbb
となるのはzshの仕様なのでしょうか?
0880名無しさん@お腹いっぱい。
2007/11/15(木) 03:17:280881名無しさん@お腹いっぱい。
2007/11/15(木) 09:53:27$hoge デフォルト単語分割しない。SH_WORD_SPLITで変更可能
${=hoge} 常に単語分割する
${==hoge} 常に単語分割しない
マニュアル嫁。
0882名無しさん@お腹いっぱい。
2007/11/17(土) 16:37:27下記の 2 行目の「()」は,先頭部分(?)にマッチするという意味だと
思うんですが,これについての記述は man zshall のどの当たりに書
いてあるんでしょうか?
% list=(a b c)
% echo "${(@q)list/()/X}"
Xa Xb Xc
PARAMETER EXPANSION の当たりをざっと眺めてみましたが見つけられませんで
した.
0883名無しさん@お腹いっぱい。
2007/11/17(土) 21:35:03違うんじゃないの? 空文字列にマッチだろう。だからそれが最初にマッチするのは
文字列先頭ということになる。要するにスラッシュが2つくっついて//になって
しまうことを防ぐために空に展開されるものなら何でもいいんだと思うけど。
% echo "${(@q)list/''/X}"
Xa Xb Xc
% echo "${(@q)list/$nosuchvariable/X}"
Xa Xb Xc
0884名無しさん@お腹いっぱい。
2007/11/18(日) 14:30:38case "${OSTYPE}" in
freebsd*|darwin*)
alias ls="ls -G -w"
;;
linux*)
alias ls="ls --color"
;;
esac
と書いているんですが、ls -laしたときにディレクトリの色が青色で表示されてモニタのせいか、見にくいのですが
他の色に変更するにはどうすればいいんでしょうか?
0885名無しさん@お腹いっぱい。
2007/11/18(日) 15:29:150886名無しさん@お腹いっぱい。
2007/11/19(月) 22:18:360887名無しさん@お腹いっぱい。
2007/11/19(月) 22:36:57ttp://www.zsh.org/mla/workers/2000/msg03990.html
0888名無しさん@お腹いっぱい。
2007/11/22(木) 02:32:580889名無しさん@お腹いっぱい。
2007/11/24(土) 01:58:31sqlをコマンドラインから直に打ちたくて
自作sqlコマンド select * from xxx whete c > 10 見たいな感じで。
わざわざエスケープするのがしんどい。
これができれば、補填とか履歴を有効活用できるので。
0890名無しさん@お腹いっぱい。
2007/11/24(土) 07:53:440891名無しさん@お腹いっぱい。
2007/11/24(土) 09:12:09たぶん自分が困るだけだからやめた方がいいよ
0892名無しさん@お腹いっぱい。
2007/11/24(土) 11:48:10マルチすんなゴミクズ
0893名無しさん@お腹いっぱい。
2007/11/24(土) 13:46:31bashとzshで聞き分けただけじゃないか。
じゃ、ここでbashも聞けって事か?それは違うでしょ。
0894名無しさん@お腹いっぱい。
2007/11/24(土) 17:37:360895名無しさん@お腹いっぱい。
2007/11/24(土) 18:29:21zshの補填機能を使いたいって話でしょ。
それじゃ意味なくね
0896名無しさん@お腹いっぱい。
2007/11/24(土) 21:36:380897名無しさん@お腹いっぱい。
2007/11/26(月) 02:15:23おまいらスゲーよ。
煽りにしか見えないけど、かなりレベル高い話してるってのはわかる。
早く、このスレで煽ったり、釣ったりできるようにzshを精進するよ。
0898名無しさん@お腹いっぱい。
2007/11/26(月) 02:52:22ウンコするときオシッコ出るのやめさせる方法ありますか?
って質問に
ヒモでしばっとけばとか
チンコを便器からはみ出しとけばとか
そんな類のレスしてるだけだよ。
0899名無しさん@お腹いっぱい。
2007/11/26(月) 03:20:20ls $a
とすると
ls "-F -l"
と展開されてしまうようですが、
ls -F -l に展開させるにはどうすればいいでしょうか?
0900名無しさん@お腹いっぱい。
2007/11/26(月) 08:42:23>>881
0902名無しさん@お腹いっぱい。
2007/12/16(日) 20:28:34{0..9}と同じように,{a..f} を a b c d e f に展開することってできますか?
0903名無しさん@お腹いっぱい。
2007/12/16(日) 20:42:12setopt brace_ccl
0904名無しさん@お腹いっぱい。
2007/12/17(月) 00:18:08bash -c 'echo {a..f}'
0905名無しさん@お腹いっぱい。
2007/12/18(火) 21:35:32ども.
なんだかんだいっても Bash の方が素直で便利そうですね.
Linux 標準なのも納得.
0906名無しさん@お腹いっぱい。
2007/12/18(火) 23:36:220907名無しさん@お腹いっぱい。
2007/12/19(水) 00:34:530908名無しさん@お腹いっぱい。
2007/12/30(日) 16:30:57rlwrap rlfe とかじゃダメで zle を使いたいってこと?
もういないか。
# rlwrap rlfe だと zle レベルの補完ができないのかな。
0909名無しさん@お腹いっぱい。
2008/01/02(水) 20:55:53公開願い
0910名無しさん@お腹いっぱい。
2008/01/05(土) 18:00:44最近のには対応してないけど…
#compdef nkf
typeset -A opt_args
local context state line
_arguments -C -s -S \
'(-u)-b[Output is bufferred (DEFAULT)]' \
'(-b)-u[Output is unbufferred]' \
'(-s -e -w)-j[Outout code is JIS 7 bit (DEFAULT)]' \
'(-j -e -w)-s[Outout code is Shift JIS]' \
'(-j -s -w)-e[Outout code is AT&T JIS (EUC)]' \
'(-j -s -e)-w[Outout code is UTF-8]' \
'(-S -E -W)-J[Input assumption is JIS 7 bit]' \
'(-J -E -W)-S[Input assumption is Shift JIS]' \
'(-J -S -W)-E[Input assumption is AT&T JIS (EUC)]' \
'(-J -S -E)-W[Input assumption is UTF-8]' \
0911名無しさん@お腹いっぱい。
2008/01/05(土) 18:01:10'(-o_)-i_[Output sequence to designate JIS-kanji/ASCII (DEFAULT B)]' \
'(-i_)-o_[Output sequence to designate JIS-kanji/ASCII (DEFAULT B)]' \
'-r[{de/en}crypt ROT13/47]' \
'-h-[hirakana-katakana conversion]::(1\:hirakana\-\>katakana 2\:katakana\-\>hirakana 3\:both)' \
'(-v --help)'{-v,--help}'[Show this usage]' \
'(-V --version)'{-V,--version}'[Show version]' \
'(-M)-m-[MIME decode]::(B\:base64 Q\:quoted N\:non\-strict 0\:no\ decode)' \
'(-m)-M-[MIME encode]::(B\:base64 Q\:quoted)' \
'-l[ISO8859-1 (Latin-1) support]' \
'(-F)-f-[Folding: -f60 or -f or -f60-10 (fold margin 10)]:fold width:' \
'(-f)-F-[Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl]:fold width:' \
'-Z-[Convert X0208 alphabet to ASCII 1: Kankaku to space, 2: 2 spaces, 3: Convert HTML Entity]::(1 2 3)' \
'-X[Assume X0201 kana in MS-Kanji]' \
'-x[Preserves X0201]' \
"-B-[Broken input 0: missing ESC, 1: any X on ESC-\[($\]-X, 2: ASCII on NL]::(0 1 2)" \
"-O+[Output to File (DEFAULT 'nkf.out')]:out file:" \
'-I[Convert non ISO-2022-JP charactor to GETA]' \
'-L-[line mode u:LF w:CRLF m:CR (DEFAULT noconversion)]::(u w m)' \
'--overwrite[Overwrite original listed files by filtered result]' \
'*:argument:_files' \
&& return 0
0912909
2008/01/06(日) 04:03:33thx.
ちょっと追加してみた。
% < _nkf | gzip | base64
H4sIAALUf0cAA6VV33PaRhB+91+x47YGtWwtcOq4eugMJpDiQJwYnHgqeTyHOKEz0knRnYw9nvzv
2RNIwhQ/dPoi3Y/v29vd+3bvJz+J0zkPQC6DA/2UcsU1YBeSVN+xbKEOosRnEfiJ1PxRg9JMc4iE
5AdmO4+51AqwB0jfCXgHAI0m5hbO3Mtcp7kGoWCWBwHPMj6H5rv+oHs9mlq3jRI7szDfwuayQtcY
ss0BVxbeG2RCSD+ZcwO/GE7gLcyE3mf6vqSpXdokFIE25BdgVYD5Lrg7PZoWBzX71z1rl8EtXO0y
rqcDPKuBE8A+4FcLL9yhNHEypfI41SKRL2KoGRclY7KXscf9C5N+w+jvZbwWw5rWt/DrXtqLQFC7
MjFKeOCZIkBtJbmzUNyVt6j4t5xLn4NOYM6VWEijGTocl0zei+PupDccVvcF51vuCDKU/H9DmLnP
c37M5Xc/e0o1XF1O2yfHb95W+yG6ocgYmWFkSxeD7cgcp9n2nBLiofdXhep4Tjk26yUGTjxnlujQ
qmJ5AMSQR6nVeMaH1nr8veFOwmQFOjRSV2zB69i/EH5zvqF8aVXTkvWvvI8tjNEdD8d9yo8Rn3H8
nBxhip++gc+e8y1PNNXdR8+RifRQ6Uz4Gmwz9Tac2uPYwvHGHKX9dXMlAyN3OLk8O/vjT2xDc8S0
kNi2QOVpmmRbah5YGKA7SKK5kAsHMDi1Icnov/6e2ti2oRnQPsTUVISEtm3dOsXCSsx16FSmAgsH
/9kUDCDNqLFlDxxktM8w/oNur7h+DTd2xz4DFqUhm1EvJO2tdQZtBz4wuWTL3CyqlPm8BR0HOuux
asGJA6WVv6fjEfSlFvqpUBOhTqq83bhdU2a8OKsNhX7I1fEEPxhhVzJ9dD9t/FZraLVzju55liw5
VWlRtmA7EAulKCvQn/Raxlkmn+AGqJBpAT23+bN3izeFx+uAaOfjyDhnA7m3ce4QL38r64+iHIiI
1xXWoEfid2p0Dbod0+8C2nUONy4NqwyS1ICEgR2708GLT+CHLGO+phsii+/7024tDR9wZOG8opqX
BWYZZ0tlwKNBDZ0XUP81aO9qB+xbOEK3QMWmL+fOaAArx+Agpl8dlkzq0rdMQnJYQVwlBH2WYpHm
6uyQPwILNM+g4TRuD0tgnkWvA38pgQ1EmccmKTvgaymKF6S3zheRrjg9haYFbiJ7RqJgGhnpISbE
WmVCc2oQl+WYCkGQ7unNjoQytW8uid7gJzMgm7RCmsqjrfpcUOdZ5Fwp03cWrc2EjL43f2pWfKOy
oidsaL865fvv3BVHrNePjsi8zjMJ9sEPBwL4tVwIAAA=
0913909
2008/01/06(日) 04:07:01local context state line
って何のためにあるの?
0914名無しさん@お腹いっぱい。
2008/01/06(日) 11:45:09作った時にはなんかあった気がしたけど今は意味ないね
0915名無しさん@お腹いっぱい。
2008/01/12(土) 00:10:080916名無しさん@お腹いっぱい。
2008/01/13(日) 00:19:35${#word} の count が bytes から chars になってる。
>>846 にある
select-word-style shell
が multibyte 文字列でもよう動くわ。
グレート。
0917名無しさん@お腹いっぱい。
2008/01/26(土) 06:25:380918名無しさん@お腹いっぱい。
2008/01/26(土) 21:00:260919名無しさん@お腹いっぱい。
2008/01/26(土) 21:01:450920名無しさん@お腹いっぱい。
2008/01/28(月) 03:10:29shell-mode の補完は shell-mode の中だけで完結してそう。
0921名無しさん@お腹いっぱい。
2008/01/28(月) 21:27:09シェル換えて試したらおっしゃる通りでした
記憶違いをしていたようです
ご迷惑おかけして申し訳ありませんでした
0922名無しさん@お腹いっぱい。
2008/01/31(木) 13:32:04カレントディレクトリ内の候補とCDPATH内の候補が混ざって
アルファベット順に表示されるのですが、カレントディレクトリ内のものを
優先させるにはどうすればいいでしょうか?
0923名無しさん@お腹いっぱい。
2008/01/31(木) 14:00:52zstyle ':completion*:path-directories' ignored-patterns '*'
0925名無しさん@お腹いっぱい。
2008/02/09(土) 03:12:18#yes
って入力するとzsh: command not found: #yes
って言われるんですけd、zshって先頭#つけてもコメントとして
扱ってくれないんですか?
コメントをコマンドとして入れたい場合はどう入力したらいいでしょうか?
0926名無しさん@お腹いっぱい。
2008/02/09(土) 03:14:41コメントはコマンドとして入力しない。
シェルスクリプトとシェルの区別が出来るようになってからまたおいで。
0927名無しさん@お腹いっぱい。
2008/02/09(土) 03:26:56実行しとうと思ったけどscreen起動し忘れてたときとか
#コマンド
でコマンド履歴に入れといてscreen起動→履歴からコマンド呼び出して
コメントはずして実行、とかできて便利だったんだが
0928名無しさん@お腹いっぱい。
2008/02/09(土) 03:49:49echoでもしとけば?
screen落さないし、新しいコマンドなんてそんな度々使わないし、
自分ならそういう場合は、screen上げてからコマンドライン打ち直すと思う。
0929名無しさん@お腹いっぱい。
2008/02/09(土) 04:31:000930名無しさん@お腹いっぱい。
2008/02/09(土) 10:09:07そうでないときは
cat >/dev/null <<EOF
my comments
EOF
とか、たまにやる。
0931名無しさん@お腹いっぱい。
2008/02/09(土) 10:21:39分かってる人にはそれでいいけど
分かってないひとは echo をコメント扱いして
`` とか $() に気づかなかったりするかもしれない
0932名無しさん@お腹いっぱい。
2008/02/09(土) 10:22:11無駄過ぎる。ネタだろw
ふつーこれだろ↓
if false; then
my comments1
my comments2
my comments3
fi
0933名無しさん@お腹いっぱい。
2008/02/09(土) 10:29:10俺の目には五十歩百歩に見える・・・・
0934名無しさん@お腹いっぱい。
2008/02/09(土) 10:41:06明らかな違いがある。
>>930 では、hereドキュメントの一時ファイルが作られ、
外部コマンドcatが実行されてしまう。
一方、>>933 では何ら無駄なコマンドは実行されないし、
無駄なファイルも作られない。完全なコメントアウトになる。
0935名無しさん@お腹いっぱい。
2008/02/09(土) 10:44:56一時ファイル・・・だと・・・・
0936名無しさん@お腹いっぱい。
2008/02/09(土) 11:03:22here documentで一時ファイルは作られるよ。zshでも。
作成されてすぐunlink()されるから、lsでは見えないけど。
lsofするとrm後のファイルをオープンしてるのがわかる。
0937名無しさん@お腹いっぱい。
2008/02/09(土) 11:27:03コメントの中身が不用意だと解釈される危険性がある時点で絶対的に劣るなあ。
Cの#if 0 じゃあるまいし、どこが完全なコメントアウトなんだ?
0938名無しさん@お腹いっぱい。
2008/02/09(土) 11:59:470939名無しさん@お腹いっぱい。
2008/02/09(土) 12:03:03それで何がこまるんだよ・・・・
0940名無しさん@お腹いっぱい。
2008/02/09(土) 12:07:55コメントの中身が不用意だと解釈される危険性があるのは
>>930 も同じw
0941名無しさん@お腹いっぱい。
2008/02/09(土) 12:13:500942名無しさん@お腹いっぱい。
2008/02/09(土) 12:38:28では、コメントの中身が不用意でも解釈される危険性がない
↓を安心して御実行くださいwww
↓
↓
cat > /dev/null << EOF
echo ${HOGE-`rm -rf /`}
EOF
0943名無しさん@お腹いっぱい。
2008/02/09(土) 20:31:220944名無しさん@お腹いっぱい。
2008/02/09(土) 22:01:52~/.zshrcがない時に起動した際のウィザードが変るのかな?
0945名無しさん@お腹いっぱい。
2008/02/10(日) 04:15:46パイプとかリダイレクト入ってると危険なんだよな。
0946名無しさん@お腹いっぱい。
2008/02/10(日) 08:28:23スクリプト作ってパス通しとけよwwwww
0947名無しさん@お腹いっぱい。
2008/02/10(日) 09:30:59何も返さないコマンドなら : とか true とかすでにある。
自分で作る必要なし。それでもパイプとかリダイレクトの問題は回避できない。
おまえ、>>945 の言ってる意味も理解できてないな。
まとめておくが、コメントアウトとして >>930 は論外。
>>942 が言うように、コメントアウトにならない場合があるし、
それ以前にcatとtempfileが無駄。
>>932 が最善だな。
あと、これと同様の別解として、
: || {
my comment1
my comment2 > リダイレクトOK
my comment3 | パイプもOK
}
と言うのも使える。これの方がタイプ量が少ないし、{ } の対応でわかりやすい。
0948名無しさん@お腹いっぱい。
2008/02/10(日) 09:53:52目もしたいときはエディタで hoge.memo をつくって残してる…けど…
0949名無しさん@お腹いっぱい。
2008/02/10(日) 12:43:380950名無しさん@お腹いっぱい。
2008/02/10(日) 12:59:150951名無しさん@お腹いっぱい。
2008/02/19(火) 20:46:36例えば
ls -l /home/hoge/foo
lrwxr /home/hoge/foo -> /home/hoge/piyo/bar
こんなような状況で
cd /home/hoge/foo するとプロンプトのPATH表示が
~/piyo/bar になるんだけど
~/foo にする簡単な方法ってあります?
0952名無しさん@お腹いっぱい。
2008/02/19(火) 22:46:340953名無しさん@お腹いっぱい。
2008/02/20(水) 12:23:060954名無しさん@お腹いっぱい。
2008/02/20(水) 20:31:380955名無しさん@お腹いっぱい。
2008/02/20(水) 22:56:08それでした。知らなかった。サンクス。
0956名無しさん@お腹いっぱい。
2008/02/21(木) 04:59:37エイリアスにしておいてもいいが、普通は挙動を揃えるか。
0957名無しさん@お腹いっぱい。
2008/02/23(土) 05:18:20いろいろ表示、あまりなくなってきたら
表示する情報を減らすようにしたいのですが、
(たとえば「pwdのフルパス+時刻」を時刻のみにするとか)
どうやったらいいのでしょうか。
0958名無しさん@お腹いっぱい。
2008/02/23(土) 21:55:58http://0xcc.net/blog/archives/000032.html
PROMPT='%n@%m:%(5~,%-2~/.../%2~,%~)%#
を変えればいいと思うのだけど
0959名無しさん@お腹いっぱい。
2008/02/23(土) 23:35:414.3.2
% foo() { echo $1[1,3] }
% foo aaaaa
foo: no matches found: aaaaa[1,3]
% bar() { local S=$1; echo $S[1,3] }
% bar aaaaa
aaa
仕様?
0960名無しさん@お腹いっぱい。
2008/02/24(日) 01:01:100961名無しさん@お腹いっぱい。
2008/02/24(日) 01:36:03変数名規則かなにかで特殊ってことかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。