zsh その4
レス数が900を超えています。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リンク
0811名無しさん@お腹いっぱい。
2007/08/09(木) 05:47:45^[k^[\ ( ^[ はエスケープ文字)をPROMPTの頭に追加したところ、
候補のリストがプロンプト行の下に複数行にわたって出てくるような補完を実行したり、
折り返しのある行の履歴をesc+kで戻って(vi modeです)編集したりするときに、
カーソルが4バイト分右にずれたり、一行上にずれたりよくわからない動作をするように
なってしまいました。
setopt no_always_last_prompt で、複数行の候補の出る補完をした際のずれは
なくなったんですが、コマンド履歴からの行編集はやはりカーソルが一行上や
4バイト右にずれます。
対処法ご存知の方いらっしゃいませんか。
0812811
2007/08/09(木) 05:49:05setopt no_always_last_prompt
setopt auto_cd
setopt auto_list
setopt auto_pushd
setopt no_auto_remove_slash
setopt no_extended_history
setopt glob_dots
setopt hist_ignore_all_dups
setopt hist_reduce_blanks
setopt hist_save_no_dups
setopt no_hup
if [ ! "$STY" -o "$WINDOW" = 0 ]; then
setopt ignore_eof
fi
setopt inc_append_history
setopt no_list_beep
setopt no_prompt_cr
setopt prompt_subst
setopt pushd_ignore_dups
setopt rm_star_silent
setopt no_share_history
if [ "$STY" ]; then
PROMPT='^[k^[\%{$prompt_color%}[%n@%m:%d]%#%{$reset_color%} '
else
PROMPT='%{$prompt_color%}[%n@%m:%d]%#%{$reset_color%} '
fi
色つける部分とってみても結果は同じでした。
0813名無しさん@お腹いっぱい。
2007/08/09(木) 06:24:11812の中に答あるじゃん。
0814811
2007/08/11(土) 13:01:420815名無しさん@お腹いっぱい。
2007/08/12(日) 02:33:12自分の欲しい答じゃないと逆ギレするくらいなら最初からこんなとこで質問するなよ。
0816名無しさん@お腹いっぱい。
2007/08/12(日) 02:47:460817名無しさん@お腹いっぱい。
2007/08/12(日) 11:01:02夏ですねー。
0818名無しさん@お腹いっぱい。
2007/08/24(金) 13:34:45ゼットシェル
ゼットエスエッチ
ズィーシェル
ズィーエスエッチ
ズィーッシュ
おれは心の中で、いつも最後のやつで呼んでいるお。
0819名無しさん@お腹いっぱい。
2007/08/24(金) 13:43:30UNIXに関する言葉のひらがな読みスレッド
http://pc11.2ch.net/test/read.cgi/unix/1001358861/
0820名無しさん@お腹いっぱい。
2007/08/24(金) 14:00:58ズドラービスチェ
0821名無しさん@お腹いっぱい。
2007/08/24(金) 16:35:03bash(バッシュ)とかash(アッシュ)の流れ。
でもcsh(シーシェル)、tcsh(ティシーシェル)、ksh(コーンシェル)だったりするけど。
0822名無しさん@お腹いっぱい。
2007/08/24(金) 16:52:320823名無しさん@お腹いっぱい。
2007/09/15(土) 00:01:52たとえば、
perl -e 'print "hoge"'
すると、(プロンプトを[PROMPT]と書くとして)
hoge[PROMPT]
が一瞬で
[PROMPT]
にもどってしまうのでhogeが出力されたのか判別できなくて困るときがあります。
気を付けているときはよいですが、Perlのプログラムのバグ取りをprint文を使って
行っているとき、これにうっかりしていて嵌まるときあります。
(プログラム中の正規表現で正しく切り取れたか確認するとき等)
bashのときは
hoge[PROMPT]
のままだったのですが、zshでもこういう風にする方法はありますか?
0824名無しさん@お腹いっぱい。
2007/09/15(土) 00:19:340825823
2007/09/15(土) 09:05:38解決しました。ありがとうございます!
0826名無しさん@お腹いっぱい。
2007/09/15(土) 22:37:35promptnl みたいに
unsetopt prompt_cr
PROMPT=$'%{${fg[blue]}[EOO]${fg[default]}\e[$[COLUMNS-7]C \r%}'$PROMPT
(C の後は半角スペース2個)
ってやってるから使う気ないけど。
% のところを任意の文字列/色にできれば prompt_sp に任せるんだけどなあ。残念。
0827名無しさん@お腹いっぱい。
2007/09/15(土) 22:39:35zkbd ってのもあるよ。まあ要らないかな。
0828名無しさん@お腹いっぱい。
2007/09/16(日) 00:04:12precmd() {echo -n '\a'}
としてみたけど、流石にうざい。
もっとうまい方法きぼんぬ。
0829名無しさん@お腹いっぱい。
2007/09/16(日) 00:06:010830名無しさん@お腹いっぱい。
2007/09/16(日) 00:51:260831828
2007/09/16(日) 01:32:530832名無しさん@お腹いっぱい。
2007/09/16(日) 01:48:450833名無しさん@お腹いっぱい。
2007/09/16(日) 03:08:16それはbiff用(謎)
0834名無しさん@お腹いっぱい。
2007/09/16(日) 03:11:16とかすればいいのかな。
できるのか知らんけど。
0835名無しさん@お腹いっぱい。
2007/09/16(日) 03:29:00shift
(sleep $ring_after; echo ^G^G^G) &
ringer_pid=$!
trap "kill $ringer_pid" CHLD
sh -c $*
思いつきで書いてみた。検証はしていない。
0836名無しさん@お腹いっぱい。
2007/09/16(日) 04:24:15precmd () { [ $TTYIDLE -gt 10 ] && echo ^G; true }
かな。
0837名無しさん@お腹いっぱい。
2007/09/16(日) 06:41:14precmd () { (( ${+EXEC_SECONDS_START} )) && (( SECONDS - EXEC_SECONDS_START > threshold )) && echo \\a ; unset EXEC_SECONDS_START }
preexec () { (( EXEC_SECONDS_START = SECONDS )) }
とか。TTYIDLE なんてあるんだね。
0838名無しさん@お腹いっぱい。
2007/09/16(日) 06:46:58最後の true って意味あんの?
0839828
2007/09/16(日) 18:47:42ハ_ハ
('(゚∀゚∩ とべるよ!
ヽ 〈
ヽヽ_)
0840名無しさん@お腹いっぱい。
2007/09/19(水) 01:39:19一括削除したいのですが、どのようにすればいいのかわかりますでしょうか?
0841名無しさん@お腹いっぱい。
2007/09/19(水) 09:07:11echo **/*(e:'[[ $REPLY -ot dummy ]]':) とか?
ファイルのタイムスタンプじゃなく日付で比較する方法がわからんかった。
**/*(mh+2) でmtimeで2時間以上経ってるファイルってのは示せるな。
h(時間)以外に月や日数は指定できるが、具体的な日付は指定できないようだ。
0842名無しさん@お腹いっぱい。
2007/09/19(水) 15:56:580843名無しさん@お腹いっぱい。
2007/09/19(水) 16:59:020844名無しさん@お腹いっぱい。
2007/09/19(水) 20:44:16なんでfind -atime使わないのかと思ってた
0845名無しさん@お腹いっぱい。
2007/09/19(水) 21:17:12echo **/なんたらだと argument too longになることがあるしね。
0846名無しさん@お腹いっぱい。
2007/09/23(日) 10:32:04って multibyte 対応になってからおかしくなったよね。
(( CURSOR += ${#word} ))
ってやってて(wordはこれからまたごうとしている語)、
${#word} が bytes で CURSOR が chars だからみたいだけど。
${#word} を chars で取得する方法か CURSOR を bytes で設定する方法はあるかな。
誰か知らない?
$(wc<<<$word) とかはちょっと重いからなあ。
multibyte parse を自前でやるって手もあるけど。
0847名無しさん@お腹いっぱい。
2007/09/27(木) 05:27:16a b c
% echo !:2[TAB]
% echo b
% !:0-2[TAB]
% echo a b
知らんかった機能だけどわりと便利かも
0848名無しさん@お腹いっぱい。
2007/09/27(木) 11:15:49使いこなせば便利な場面はあるんだろうけど
オツムの 使いこなしバッファ の容量がもう溢れてるザンス
0849名無しさん@お腹いっぱい。
2007/09/27(木) 15:35:240850名無しさん@お腹いっぱい。
2007/09/27(木) 15:40:450851名無しさん@お腹いっぱい。
2007/09/28(金) 12:22:50端末は何?
TeraTermやPoderosaだとだめかも
0852名無しさん@お腹いっぱい。
2007/09/28(金) 12:53:11ちなみにホストはVMware上のFreeBSD。こちらも駄目。
もちろん、bindkey -e は有効にしているのだけど、何か方法ありませんか?
0853名無しさん@お腹いっぱい。
2007/09/28(金) 18:10:080854名無しさん@お腹いっぱい。
2007/09/28(金) 19:50:38UTF-8 TeraTerm Pro with TTSSH2なら何もせずにいける.
ttp://sourceforge.jp/projects/ttssh2/
古いTeraTermならこれでいける
ttp://www.sakurachan.org/ml/teraterm/msg00422.html
0855名無しさん@お腹いっぱい。
2007/09/29(土) 00:30:55UTF-8 TeraTerm Pro with TTSSH2 にしてみたけど、駄目みたい。
c-x u は有効なんだが・・・。
0856名無しさん@お腹いっぱい。
2007/09/29(土) 08:44:52日本語キーボードだとだめかも
C-_ はどう?
(/ と 右シフトの間のキー)
0857名無しさん@お腹いっぱい。
2007/09/29(土) 14:16:30C-_でも駄目でした。
0858名無しさん@お腹いっぱい。
2007/10/04(木) 00:17:50bindkey |grep undo
で
"^_" undo
って出る?
C-_ って Ctrl+Shift+\ だよね?念の為。
0859名無しさん@お腹いっぱい。
2007/10/04(木) 00:19:573
% sh -c 'printenv SHLVL'
4
って出るのはバグ?
0860名無しさん@お腹いっぱい。
2007/10/04(木) 02:15:270861名無しさん@お腹いっぱい。
2007/10/04(木) 15:22:40bindkey | grep undo
の結果は
"^X^U" undo
"^Xu" undo
"^_" undo
--
C-/でも駄目でした。
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]' \
レス数が900を超えています。1000を超えると表示できなくなるよ。