1 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/02 20:03:26 ] zshのスレその4です。 過去スレ zsh入門 pc.2ch.net/test/read.cgi/unix/990283346/ zsh入門 パート2 pc3.2ch.net/test/read.cgi/unix/1036324177/ zsh その3 pc5.2ch.net/test/read.cgi/unix/1080002786/ >>2-3 リンク
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 10:22:44 ] 手元の .zshenv より addpath () {[[ -d $1 ]] && path=($path $1)} # add $* to top of PATH list. addpathlist() { tmppath= for newpath in $* if [ -d $newpath ]; then tmppath=($tmppath $newpath) fi path=($tmppath $path) unset tmppath } addpathlist ~/bin /usr/local/bin /usr/local/gnu /usr/X11R6/bin /usr/local/X11R6/bin /usr/local/X11R5/bin addpath /usr/local/gcc/bin addpath /usr/ucb ...
665 名前:647 [2007/02/25(日) 12:49:04 ] >>658 すみません。ウソ言ってました。 >こうすると、上の問題は解決しましたが、htmlで終わるファイル名を表示しようとして >ls *html >とすると、ディレクトリにhoge.htmlがあっても >ls: *html: そのようなファイルやディレクトリはありません >と出ようになりました。 は間違いでした。正しくは、 (setopt NULL_GLOB とすると) *htmlにマッチするものが無い場合、 カレントディレクトリ以下のファイル、ディレクトリが全て表示される、 です。 そして、NULL_GLOBはglobにマッチするものがなかったら何も渡さない、 ということでNO_GLOBはglobしない、という違いも理解しました。 だから、当前、setopt NULL_GLOB をして*htmlにマッチするものが無かった場合は 上のような動作をするのですね。 私が初めに書いたエラーがでるのは、setopt NO_GLOBとした場合ですね。 >>659 さんのようなオプションをつけていたわけではなく、単に私の間違いでした。 >>660 さんのおっしゃるように、 if [ -e *html(N) ];then echo "Exist";fi でもOKでした。
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 14:39:20 ] 試さずにかいたが、-e *html(N) って常に真を返さないか
667 名前:647 [2007/02/25(日) 15:37:36 ] >>666 そうですね汗 またまたいいかげんなこと言ってしまいました。 if [ -e *html(N) ];then echo "Exist";fi はつねにExistとでます。 >>647 で書いたことをやりたい場合には、 1) setopt NULL_GLOB if [ -e *html ];then echo "Exist";fi (この場合はls *htmlで*htmlがなかったらlsと同じになってしまうので) そのあとで setopt GLOB 2) または、 if noglob [ -e *html ];then echo "Exist";fi が正しいようです。
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 16:29:49 ] 1) は setopt NO_GLOB では。 NULL_GLOB だと多分 *html(N) と変わらないよ。 あと、特に [ に拘らなければ [[ -e *html ]] でもいいかな。
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:29:32 ] $ touch test.html $ [ -e test.html ] && echo found || echo not found found $ [ -e *.html ] && echo found || echo not found found $ [[ -e test.html ]] && echo found || echo not found found $ [[ -e *.html ]] && echo found || echo not found not found $ touch '*.html' $ [[ -e *.html ]] && echo found || echo not found found
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:39:18 ] [[ ]] はグロブを展開しないぽい [ はコマンド扱い? (これも builtin だよね)
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:55:15 ] >>647 の htmlで終わるファイルが存在すれば"Exist"と表示させたい(ただしzsh: no matches foundは嫌)は、 unsetopt nomatch するのが一番だろ。 その後は [ -e *html ] でも [ -n `echo *html` ] でもおk ( [[ -e *html ]] はだめぽい ) もしnomatchが嫌なら [ -e *html(N) '' ] && echo Exist { [ -e *html ] && echo Exist } 2>/dev/null みたいなw
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:59:40 ] 案外、簡単に処理できないもんだな。気付かずに罠にはまりそう。 昔ながらのやり方が安全かw if ls | egrep '\.html$' >/dev/null; then echo Exists; fi
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 18:13:15 ] glob関連はNOMATCH, NULL_GLOB, CSH_NULL_GLOB とオプションがあってよくわからん。 参考: ttp://d.hatena.ne.jp/amt/20060907/nomatch ttp://d.hatena.ne.jp/amt/20060806/ZshNoGlob ttp://www.ayu.ics.keio.ac.jp/~mukai/translate/zshoptions.html (man zshoptions)
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 18:33:09 ] nomatchは途中で処理が止まるから厄介 $ echo *UNKO; echo AAAAAAAAAAAAAAAAAAAAAAAA zsh: no matches found: *UNKO $
675 名前:名無しさん@お腹いっぱい。 [2007/02/26(月) 07:55:40 ] >>669 > $ [ -e *.html ] && echo found || echo not found ↑は .html ファイルが2つ以上ある場合は動かない. [ -e `ls -1 *.html|head -n 1` ] && echo found || echo not found だとちゃんと動くが、もっとスマートなやり方はないものか...
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 07:59:19 ] >>675 の訂正. > $ [ -e *.html ] && echo found || echo not found は zsh では動くね. bash では動かないけど. でも混乱を避ける為に、↑のように書くのは良くないだろう
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 08:34:32 ] サブシェル使ってよければ (for f in *.html; do [ -f "$f" ] && return 0; done; return 1) && echo aru || echo nai /bin/shで動く筈。
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 11:03:52 ] もう外部コマンド使って ls *.html | wc | awk '{print $1}' でいいじゃん
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 11:18:07 ] アホ現る
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 21:05:11 ] [ `echo -n *.html(N) | wc -l` -gt 0 ]
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 21:26:59 ] [[ -n `echo *html(N)` ]] && echo Exist || echo # うまくいく [[ -n `echo` ]] && echo true || echo false # false [ -n `echo *html(N)` ] && echo Exist || echo # 常にExist, だめ [ -n `echo` ] && echo true || echo false # true
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 02:46:16 ] [[ls *.html && $? ]] じゃ駄目なわけ?
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 02:47:37 ] ``わすれた・・・
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 02:48:42 ] しかも-aだね。逝ってきます。
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 22:11:55 ] mycomの連載、更新されていたけどツッコミどころが幾つかあるな
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 01:23:44 ] よしつっこめ。
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 03:11:14 ] ショートカットキーという言い方は気持が悪いな
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 01:38:58 ] 最近はてブのホットエントリでzsh関連のをちょくちょく見掛けるけどなんかあったのかしら。
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 06:18:24 ] そういう連中にとってzshがクールでナウいんだよ。
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:55:38 ] localeがちゃんとしてたらja_JP.SJISでも動きますか?
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 19:17:30 ] ナニが?
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 01:16:40 ] カーソル移動とかプロンプト等の桁数計算とかSJIS2バイト目のメタキャラクタ無視とか。
693 名前:名無しさん@お腹いっぱい。 [2007/03/16(金) 10:04:06 ] あれ? % autoload predict-on % predict-on predict-on:zle:5: can only be called from widget function
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 14:01:13 ] 錫癜
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/16(金) 20:44:04 ] >693 ウチではそのエラー出ないよ ところで、恥ずかしながら predict-on は知らなかったですよ。
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/24(土) 22:24:26 ] >>663-664 久しぶりに見たから1ヶ月前へのレスだけど path=($path(N)) でいけない?
697 名前:663 mailto:sage [2007/03/24(土) 23:10:35 ] user@ubuntu:~$ zsh -f ubuntu% test=(foo bar /home) ubuntu% echo $test foo bar /home ubuntu% echo $test(N) foo bar /home ubuntu% echo ${^test}(N) /home >>696 だとうまくいったりいかなかったりで困ってたんですけど、rc_expand_paramのせいでした。 path=(${^path}(N)) でうまくいくみたいですね。
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/03(火) 14:48:38 ] suffix alias がコマンドでも展開されて欝
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:16:19 ] mycom の連載見て、bash から乗り換えたら欝 bash $ sudo rm ~foo (~foo -> /home/foo のシンボリックリンク) シンボリックリンク ~foo が消える zsh % sudo rm ~foo (~foo -> /home/foo のシンボリックリンク) Error: foo はディレクトリ % sudo rm -r ~foo ホームディレクトリが消える orz
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:21:46 ] まさか '~foo' ってファイルを作ったのか? ニョロ展開をやめさせたいんなら ./~foo って指定すればいいし何が言いたいのかわからん
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:24:47 ] >>700 違うよ。 俺は意味わかった。zshが ~の展開の際にシンボリックリンクをたどってしまう という問題だね。Error: foo はディレクトリ の時点で気づくべき。
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:32:22 ] いまいちよくわらん。 foo アカウントのホームディレクトリが /usr/home/foo とかになってて、 それが /home/foo へのシンボリックリンクになってる、とかそんな感じ? つーかなんで rm -r なんてする気になったんだろ。
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:39:59 ] 同じく意味がわからん 少なくとも問題という意識はわからん (動作の話はそういうものとしか言いようがないし... >702 も言う通り -r はそれこそ意図的じゃん)
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:41:06 ] unsetopt chaselinks で解決したりする?
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:44:18 ] シンボリックリンクに対して rm -r しても、 そのシンボリックリンクが消えるだけ(先までたどらない)からだろ。 多分、rmでエラーが出たから rm -r にしただけだろ。 まさか、~foo が実体ディレクトリを指してるとは頭から思ってないから、 シンボリックリンクを消す意味で気軽に rm -r したと。
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 17:57:57 ] >>705 その「エラーが出たから -r」ってのが意味わからん。 -f ならまだわかるけど。
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:00:07 ] で、「~foo」っていうファイルはあったのか? なかったのか?
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:01:32 ] >>707 お前ずれてる。~fooなんてファイルの話じゃない。
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:02:21 ] >>708 んじゃどういう話?
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:03:09 ] >>709 読解力ない香具師だなぁ。
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:04:16 ] >>710 すまんね。 詳細教えてくれよ。
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:06:19 ] /etc/passwd には、/usr/home/foo で登録されてる。 /usr/home/foo はシンボリックリンクで、実体の /home/foo を指している。 この状態で、~foo というチルダ展開は、 bashだと /usr/home/foo に展開されるが、 zshでは /home/foo に展開される。 という問題。
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 18:08:27 ] では>>699 さん、正解をどうぞ。
714 名前:699 mailto:sage [2007/04/10(火) 20:35:00 ] 説明不足で、ごめんなさい。 真相は>>701 , >>705 さんのおっしゃる通りです。 昔 bash で /bar$ ln -s /home/foo ~foo として /bar/~foo を作ったのですが、もう使う必要がなくなったので今日 zsh で /bar% rm -r ~foo としたら、ユーザ foo のホームディレクトリ /home/foo 自体が消えてしまった ということです。 bash では alias rm="rm -i" としていたので、rm のエラーに対していつもの勢いで -r の試行をしてしまいました。 >>713 私が悪いので、皆さん正解です。
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 21:05:19 ] シンボリックリンクを消すならunlink
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 22:04:28 ] そういえば mycom の連載があったな。すっかり忘れてた。 つっこもうと思ってそれっきりだった。
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 22:40:44 ] >>716 では遠慮なくツッコメ。
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/10(火) 23:55:45 ] けっきょく ~foo あったんじゃん。
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 02:25:44 ] シンボリックリンクにrm -rやったのがまずいよ。
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 07:12:17 ] >>718 なんでやねん。欲嫁。 >>714 では、 $ ln -s /home/foo ~foo と実行してるから、~fooという名前のsymlinkはできない。 ~fooという名前のsymlinkを作るためには、 $ ln -s /home/foo '~foo' のように、クォートするなり、./~foo みたいに ./を付けるなりしないといけないから。
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 07:14:15 ] >>719 シンボリックリンクにrm -rやること自体はまずくない。(変ではあるが) まずかったのは、それがシンボリックリンクではなかったこと。
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 08:37:49 ] >721 いや、シンボリックリンクに対して rm -r するのはおかしいよ。 -r オプションは「当該ファイルをディレクトリとみなして中身もいっしょに 消す」という意図のオプションだから、仮に rm で消せなかったとしてもシン ボリックリンクだと認識しているファイルに使うのがまずヘン。 だって中身を消したかったわけじゃないでしょ。
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 09:45:48 ] >>714 > として /bar/~foo を作ったのですが、 って言ってるんだから、 ~foo っていうファイル名のファイル (シンボリックリンク) が あったんじゃないの?
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 09:53:03 ] >>723 そこは確かに曖昧だが、質問者の理解不足によるものだろう。 ln -s /home/foo ~foo を実行してシンボリックリンクを作っている以上、 ~fooは展開されて、実際のパス名になるから、 「~foo」なんて名前のシンボリックリンクができたわけではないことは明らか。
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 09:58:53 ] そもそも元質問者のレベルの人が、~が付いたファイルを作ること自体難しいだろう。 (クォートとかで回避する方法も知らないだろうし)
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 10:30:52 ] > /bar/~foo を作った zsh とか以前に極めて悪趣味 > シンボリックリンクにrm -rやること自体はまずくない。(変ではあるが) まあそうだけど "まずいかどうか" じゃなくて 「意味を理解せず(考えず)」に -r というのは銃殺刑確定 "(変ではあるが)" に集約されるけどな
727 名前:699 mailto:sage [2007/04/11(水) 23:44:00 ] すいません、今回の件は zsh と関係ありませんでした。 原因は、「~ユーザ名」と「~非ユーザ名」で挙動が異なる事を知らなかったという 私の理解不足にあります。 zshで foo@example:/bar% sudo rm -r ~foo でホームディレクトリが消えた後、 bash で foo@example:/bar$ sudo ln -s /home/foo2 ~foo2 foo@example:/bar$ sudo rm -r ~foo2 (ここで、foo2 は既に存在しないユーザ名。/home/foo2 自体は実在する。) として、検証してしまいました。 >>718 , >>723-725 「/bar/~foo」は、ありました。 しかし、実際には>>720 さんの説明の通りにしなければエラーになります。 したがって、作成時にはクォートしたと思います。 >>719 , >>721-722 今後は、>>715 さんの様にしたいと思います。 >>726 全くその通りです。 こんな unix の初歩的な事でスレを汚してしまい、 申し訳ないです。
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/11(水) 23:51:24 ] >727 なるほどね。いや悪いってわけじゃないです。 ただ ~user という用法をしらない人がいると 誰も思わなかったから「ネタだろ」位に皆思ってただけで...
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 02:39:00 ] ここがUNIX板でよかったね。
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 09:32:32 ] ところでディレクトリに張った シンボリックリンクをrm -rすると実際どうなるの?
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 09:34:23 ] >>730 それくらい実験してみろよ。 そのシンボリックリンクだけが消えるだけだよ。
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 14:53:23 ] この流れワロタ
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 20:52:19 ] % echo {001..005}\\n 001 002 003 となって2行目以降にスペースが入ってしまうのは なんででしょうか?
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 20:57:26 ] 001\\n 002\\n 003\\n 004\\n 005\\n に展開されるから
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/14(土) 02:35:54 ] >>734 ありがとうございます。 とすると余計な空白なしに出力するのに 最もシンプルな書き方はどうなるのでしょう echo {001..005} | tr "[:space:]" "\n" だとベストではないですよね
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/14(土) 02:55:22 ] シンプルというか真っ先に思い付くのは for i in {001..005}; do echo $i; done とか。zsh のことだから省略記法があるのかな。
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/14(土) 02:58:56 ] と書きつつ思い付いた。print -l {001..005} でいいか。
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/17(火) 22:38:46 ] zsh 4.3.3 released
739 名前:名無しさん@お腹いっぱい。 [2007/04/21(土) 00:26:43 ] zsh 4.3.4 releases
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 05:16:08 ] 情報ゼロワロタ journal.mycom.co.jp/news/2007/04/20/023/index.html
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 08:01:49 ] 「マルチバイトサポート」って何回言った?て感じ
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 09:03:22 ] >>740 書いたあと一回でも読み返したとは思えん文だなw
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 10:58:42 ] > 4.3.4は機能拡張を実施したメジャーリリース。 ??メジャーリリース?
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 11:53:18 ] そっとしといてやろうぜ…。
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/22(日) 02:10:35 ] ちんこ
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/22(日) 04:04:57 ] ホームをNFSで共有する環境で起動が異常に遅い事があったけど 原因が compinit する時にNFSで共有してる .zcompdump へのロックだったので compinit -d /tmp/$USER.zcompdump とかしたら幸せになれた
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/27(金) 10:44:22 ] ウォーニングだバカ……
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/06(日) 19:10:15 ] こんな人が記事書いているのかと思うと。
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/06(日) 20:06:07 ] % echo 'a c d' 複数行の履歴を編集する時に改行のつもりで RET を打鍵すると accept-line が呼ばれてしまうのだけど、これを回避する方法ってありますか?
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/06(日) 20:11:17 ] >>749 C=v C-j かな?
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/07(月) 06:14:08 ] >>750 できました。ありがとう
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/09(水) 12:10:15 ] ...微妙な記事だ journal.mycom.co.jp/column/zsh/index.html
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/09(水) 13:01:30 ] おまいも微妙だな
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/09(水) 13:17:14 ] zsh-loversにのってるような変態tipsを紹介すればいいのに
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/25(金) 03:27:08 ] builtin sleep が欲しいなと思ったら zselect -t が使えた
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/25(金) 04:26:49 ] bash の complete-into-braces (M-{) って zsh だと どうすればいいんでしょうか?
757 名前:87 mailto:sage [2007/06/09(土) 00:33:14 ] % wget www.zsh.org/pub/zsh-4.3.4.tar.gz % tar xzvf zsh-4.3.4.tar.gz % cd zsh-4.3.4 % ./Util/preconfig % ./configure --enable-multibyte --enable-locale % make % sudo make install どこに記述すればいいんだいよう
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 03:25:54 ] tab補完でtab押すごとに補完候補が順に入力された状態になるけど 行き過ぎたときに戻る方法ってありませんか? shift+tabとか押してみたけどダメだった
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 03:28:36 ] Ctrl+Pは?
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 03:40:28 ] >>759 コマンド自体が一個前のに戻るだけでした
761 名前:名無しさん@お腹いっぱい。 [2007/06/14(木) 05:52:05 ] >>758 # 補完候補を←↓↑→で選択。 zstyle ':completion:*:default' menu select true で、矢印キーで移動するのはダメですか?
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 09:37:53 ] 自分は undo を使う
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 11:34:06 ] >>758 C-/
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 15:27:19 ] みなさんレスありがとうございます >>761 おぉ、そんな便利なこともできるんですね >>762 >>763 できました
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 21:35:57 ] undo したあと redo ってどうやりますか?
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/14(木) 23:03:04 ] unko したあと redo ってどうやりますか?
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/15(金) 10:39:14 ] >>766 気合いで尻の穴に吸い込め
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/15(金) 12:23:07 ] redoをbindkeyで好きなキーに割り当てればいいのではないでしょうか
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 12:07:51 ] あるコマンドで hogehoge=filename などとファイル名を渡すときに、 =(nannkano_command) の一時ファイルで物臭をやろうとすると hogehoge==(nannkano_command) となって == の解釈でエラーに なってしまう。エスケープしても別のエラーになる。うまくやる方法は ないかな。
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 12:23:31 ] zfsから誘導されてきました pc11.2ch.net/test/read.cgi/unix/1181716111/27 できればこのキチガイをzshから出さないようにしてください。 迷惑です。
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 12:35:51 ] >>769 $ hogehoge='=(nannkano_command)' $ echo "$hogehoge" =(nannkano_command) ↑ってできるけど、これじゃ駄目なの?
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 12:57:39 ] いや駄目だと思うが…
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 13:03:22 ] >769 =(command) の一時ファイルはすぐ消えちゃうよ。かりに hogehoge=... に渡せても、それを再利用したときにはもう消えてると思うんだけど、どういう風に利用することを考えているの? っていうか、やりたいのは `...` の方だったりしない? あと、わたしの手元では hogehoge==(command) でも一時ファイル名はちゃんと取れるけどなあ。
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 13:33:25 ] >>773 ファイルの要る部分だけを抜き出して渡したいんですよ。履歴に突っ込んでおいて たまに呼び出したいぐらいの軽い用途です。 たしかに単独の変数代入だと自分ところでも動きますが、コマンド途中だとエラーに なってしまいます。例えば、 $ echo hogehoge==(command) zsh: not found
775 名前:名無しさん@お腹いっぱい。 [2007/06/17(日) 19:10:37 ] watch と打ったあとに引数のところでコマンド名の補完して欲しいんだけど どう設定したらいいですか?
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 19:19:04 ] compdef _precommand watch かな
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 19:29:19 ] >>776 できました ありがとうございます bashから乗り換えたけど色々と便利ですね
778 名前:名無しさん@お腹いっぱい。 [2007/06/27(水) 03:40:21 ] 拡張子に応じたコマンドを自動実行 journal.mycom.co.jp/column/zsh/016/
779 名前:気まぐれアナスイ mailto:!(ΦyΦ+){秘密です。} [2007/06/27(水) 11:53:22 ] >>778 なるほど? そういう事ですか…
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 13:56:37 ] mycom の zsh の連載、まだ続いてたのか
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 14:50:24 ] こないだなんかネタを募集してたぞ journal.mycom.co.jp/column/zsh/015/
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/01(日) 21:04:02 ] bindkey -v でコマンドスタックが使えないんですが bindkey '^Q' push-line だとだめ、bindkey の出力にはちゃんとでてるのに bindkey '^P' push-line だとできるが P は別で使ってるので... bindkey -v の人スタックどうしてるんだろう?使ってないとか?
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 04:42:58 ] bindkey "^Q" push-lineで普通に使えるが。
784 名前:名無しさん@お腹いっぱい。 [2007/07/03(火) 16:58:40 ] 今までtcshを使っていましたが、 zshならscreenでsshをする場合、 screenのウィンドウ名にログイン先のホスト名が自動で付けれる ので最近zshに乗り換えたものです。 聞きたいのですが、 % history 1 less .zshrc 2 ls 3 man man 4 history という履歴において先ず、l(小文字のLです)とタイプして ↑を押す時、 tcshの場合は 「history」 や 「man man」 を飛ばして ll(小文字のLです)から始まる 「ls」 を表示してくれますが zshの場合は 「history」 と表示されます。 ネットで調べたら autoload history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "^P" history-beginning-search-backward-end bindkey "^N" history-beginning-search-forward-end と.zshrcに書いて Ctrl+P、Ctrl+Nでtcsh上の矢印を使った履歴検索が実現できました。 しかし、自分はやはり慣れた↑や↓を使いたいのですが どう書けばzshで実現できるのでしょうか? どなたかご教授おねがいします。
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 18:48:30 ] bindkey で矢印キーに割り当てる
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 18:48:48 ] "^[[A" "^[[B"っつーことか? ついでに「ご教授」でもググってみることをすすめるとく
787 名前:784 [2007/07/03(火) 20:33:42 ] >>785 そうなんです 結局矢印キーは どういうコードで表わされるかを 聞きたかったんです。 意味不明な文ですみませんでした。 >>786 ありがとうございました。 "^[[A" "^[[B" で実現できました。 「ご教授」を「教えてください」の丁寧語の意味で使っていました。 こういう場合は「ご教示」なのですね。 失礼しました。
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 20:40:42 ] 通常の設定なら、「Ctrl-v 何らかのキー」でそのキーの端末コードがわかる
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 23:02:51 ] > screenのウィンドウ名にログイン先のホスト名が自動で付けれるので最近 > zshに乗り換えたものです。 自動で付けてくれるような機能あんだっけ?
790 名前:784 mailto:sage [2007/07/03(火) 23:27:25 ] >>788 あっ 本当ですね こんな機能、全く知りませんでした。 教えてくれてありがとうございました。 >>789 すみません、文章が不正確でした。 正しくは、.zshrcに function ssh_screen(){ eval server=?${$#} screen -t $server ssh "$@" } if [ x$TERM = xscreen ]; then alias ssh=ssh_screen fi を記述したらできます。 ttp://d.hatena.ne.jp/naoya/20051223/1135351050 でも自分の環境は2行目の eval server=?${$#} で失敗するので、この2行目を A=$# eval server=$"$A" としています。
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/03(火) 23:41:57 ] 「教授する」という動詞もあるので「ご教授願います」でも構わない、 と聞いたこともある。
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/04(水) 00:52:42 ] 単に大仰かどうかという話だ
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/04(水) 01:11:04 ] >>790 これはリモートでコマンドを実行するんじゃなくて、リモートログインするという前提なのか? それなら function ssh_screen { screen -t $@[-1] ssh "$@" } とかでいいんじゃないの。
794 名前:784 mailto:sage [2007/07/04(水) 02:12:45 ] >>793 >これはリモートでコマンドを実行するんじゃなくて、リモートログインするという前提なのか? そうです。 >function ssh_screen { > screen -t $@[-1] ssh "$@" >} >とかでいいんじゃないの。 今まで動けばいいと思って、大して気にしていませんでした。 指摘されたこの機会に見直してみました。 自分はsshを使うとき % ssh ホスト名 -l リモートのユーザー名 と使うので function ssh_screen { screen -t $1 ssh "$@" } としてみました。
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/04(水) 08:46:05 ] >>791 間違いではないが、 本来言いたいこととは意味がちょっと違う。 www.tt.rim.or.jp/~rudyard/torii009.html
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/07(土) 00:11:03 ] pc11.2ch.net/test/read.cgi/unix/1079601220/132-133n に「諸君、私はzshが好きだ」が張られているわけだが。 どうしてこのスレに書かないのか疑問だ。w
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/07(土) 00:27:05 ] >>796 「zsh! zsh! zsh!」
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 04:54:36 ] 今いるフォルダ(フォルダ名:number)に one two three というフォルダがあるとして ls *~two とすると one three が表示されます cd .. ls number/*~two だと one two three が全部表示されてしまって two が除外されないのですがなぜでしょうか? つД`) タスケレ !!
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 07:31:37 ] ls number/*~number/two とか。
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 09:49:08 ] ls number/(*~two)
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 15:09:44 ] プロンプトに%~を入れているのですが、 プロンプト(または%~)の長さが一定以上なら改行して次の行の先頭に > を出すようにしたいと考えているのですが、 そういうことできますか? 長さによって次のうち適当な方になるようにしたい↓ 通常: ~/どこそこ> 長いとき: ~/じゅげむじゅげむごこうのすりきれぱいぽぱいぽ >
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/09(月) 15:29:41 ] LF=$'\n' PROMPT="%~%20(l.$LF.)> "
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/10(火) 02:54:30 ] ありがとうございます。条件分岐なんてできたんですね。
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/10(火) 03:00:37 ] LFを定義するかわりに PROMPT='%~%20(l, ,)> ' と書いてもいけました。
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/10(火) 09:17:30 ] こんなことしてみた zstyle -e ':completion:*:processes' command ' [[ "$oldcontext" = *sudo* ]] && reply=("ps -e") || reply=("ps -u $USER") ' きもいので没リスト行き。
806 名前:798 mailto:sage [2007/07/11(水) 17:45:11 ] >>799 , 800 ありがと━(・∀・)━!!!! アクセス規制で返事遅れ orz
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 11:04:19 ] parent_dir1/subdir/hoge.txt parent_dir1/subdir/fuga.txt parent_dir2/aho.txt parent_dir2/aho2.txt みたいな状態で子ディレクトリ(parent_dir1/subdir/ or parent_dir2/)単位に 処理をしたいとします。 for dir in *(/) do targetdir=$(echo ${dir}/*...) <= ここに$dirの下に子dirがあればソレ 以下いろいろ処理 なければ$dirを targetdirにセットしたい done *(/) にマッチしなければ . にマッチとか 何か条件マッチするglob みたいなことってできないんでしょうか?
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 15:38:01 ] >>807 末端のディレクトリだけを対象にしたいということ? findを使うのはダメですか? find ./ -type d | while read dir do if [ -z $(find $dir -mindepth 1 -maxdepth 1 -type d) ] then # dirに対する処理 fi done
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 16:09:27 ] エントリごとにfind起動しなくても、 postorderで出力させて文字列マッチでいいんじゃない。これでどう? dir0= find -d topdir -type d | while read -r dir do case "$dir0" in "$dir"/*) ;; *) echo "$dir";; # dirに対する処理 esac dir0="$dir" done findにファイル名中の改行を出力するとき\を前置するオプションが欲しい。 つまり-rなしのreadと対で使えるような。
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 16:53:45 ] なるほど一つ前のdirを覚えておいて それをマッチさせるってことか。 >末端のディレクトリだけを対象にしたいということ? そういうことだったんですが、 結局お目当てのファイルが当該ディレクトリにあるかどうかを 判別して処理みたいなことをしてしまいました for dir in *(/) do subdir='' for sd in ${dir}/**/*(#qN/) ${dir} do if [[ -e omeate-file-name ]]; then subdir=$sd break fi done # subdir での処理 done
811 名前:名無しさん@お腹いっぱい。 [2007/08/09(木) 05:47:45 ] screenのtitleを実行中のコマンド名に自動的にかえることができるらしいので、 ^[k^[\ ( ^[ はエスケープ文字)をPROMPTの頭に追加したところ、 候補のリストがプロンプト行の下に複数行にわたって出てくるような補完を実行したり、 折り返しのある行の履歴をesc+kで戻って(vi modeです)編集したりするときに、 カーソルが4バイト分右にずれたり、一行上にずれたりよくわからない動作をするように なってしまいました。 setopt no_always_last_prompt で、複数行の候補の出る補完をした際のずれは なくなったんですが、コマンド履歴からの行編集はやはりカーソルが一行上や 4バイト右にずれます。 対処法ご存知の方いらっしゃいませんか。
812 名前:811 [2007/08/09(木) 05:49:05 ] --- .zshrcからsetoptとPROMPTの部分を抜粋 setopt 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 色つける部分とってみても結果は同じでした。
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/09(木) 06:24:11 ] >>811 812の中に答あるじゃん。
814 名前:811 mailto:sage [2007/08/11(土) 13:01:42 ] ^[k^[\ を %{ %} でくくったらなおった模様。 813は答を書かないなら黙ってろ。
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/12(日) 02:33:12 ] 誰が何書こうがいいんじゃね。 自分の欲しい答じゃないと逆ギレするくらいなら最初からこんなとこで質問するなよ。
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/12(日) 02:47:46 ] まあこの手の質問には「OS入れなおせ」とかトンチンカンな答え返す香具師がいるからね。
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/12(日) 11:01:02 ] >>814 夏ですねー。
818 名前:名無しさん@お腹いっぱい。 [2007/08/24(金) 13:34:45 ] これってどう発音するの? ゼットシェル ゼットエスエッチ ズィーシェル ズィーエスエッチ ズィーッシュ おれは心の中で、いつも最後のやつで呼んでいるお。
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/24(金) 13:43:30 ] >>818 UNIXに関する言葉のひらがな読みスレッド pc11.2ch.net/test/read.cgi/unix/1001358861/
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/24(金) 14:00:58 ] >>818 ズドラービスチェ
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/24(金) 16:35:03 ] ザッシュと心の中で発音してるかな。 bash(バッシュ)とかash(アッシュ)の流れ。 でもcsh(シーシェル)、tcsh(ティシーシェル)、ksh(コーンシェル)だったりするけど。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/24(金) 16:52:32 ] もう>>819 に移動したみたいよ。
823 名前:名無しさん@お腹いっぱい。 [2007/09/15(土) 00:01:52 ] zshのプロンプトが勝手に左端に戻ってしまうのを避ける方法はありますか? たとえば、 perl -e 'print "hoge"' すると、(プロンプトを[PROMPT]と書くとして) hoge[PROMPT] が一瞬で [PROMPT] にもどってしまうのでhogeが出力されたのか判別できなくて困るときがあります。 気を付けているときはよいですが、Perlのプログラムのバグ取りをprint文を使って 行っているとき、これにうっかりしていて嵌まるときあります。 (プログラム中の正規表現で正しく切り取れたか確認するとき等) bashのときは hoge[PROMPT] のままだったのですが、zshでもこういう風にする方法はありますか?
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/15(土) 00:19:34 ] setopt no_prompt_cr
825 名前:823 [2007/09/15(土) 09:05:38 ] >>824 解決しました。ありがとうございます!
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/15(土) 22:37:35 ] そういえばいつのまにか prompt_sp なんてのがあるんだね。 promptnl みたいに unsetopt prompt_cr PROMPT=$'%{${fg[blue]}[EOO]${fg[default]}\e[$[COLUMNS-7]C \r%}'$PROMPT (C の後は半角スペース2個) ってやってるから使う気ないけど。 % のところを任意の文字列/色にできれば prompt_sp に任せるんだけどなあ。残念。
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/15(土) 22:39:35 ] >>787 zkbd ってのもあるよ。まあ要らないかな。
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 00:04:12 ] しばらくプロンプトが戻ってこない操作(makeとか)が終了したらbeep鳴らそうと precmd() {echo -n '\a'} としてみたけど、流石にうざい。 もっとうまい方法きぼんぬ。
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 00:06:01 ] icqとかのwav
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 00:51:26 ] make; echo -n '\a' じゃだめなの?
831 名前:828 mailto:sage [2007/09/16(日) 01:32:53 ] うん。忘れるから。
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 01:48:45 ] eject
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 03:08:16 ] >>832 それはbiff用(謎)
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 03:11:16 ] コマンド実行時間が一定以上なら音を出す、 とかすればいいのかな。 できるのか知らんけど。
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 03:29:00 ] ring_after=$1 shift (sleep $ring_after; echo ^G^G^G) & ringer_pid=$! trap "kill $ringer_pid" CHLD sh -c $* 思いつきで書いてみた。検証はしていない。
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 04:24:15 ] >>834 precmd () { [ $TTYIDLE -gt 10 ] && echo ^G; true } かな。
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 06:41:14 ] threshold=5 precmd () { (( ${+EXEC_SECONDS_START} )) && (( SECONDS - EXEC_SECONDS_START > threshold )) && echo \\a ; unset EXEC_SECONDS_START } preexec () { (( EXEC_SECONDS_START = SECONDS )) } とか。TTYIDLE なんてあるんだね。
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 06:46:58 ] >>836 最後の true って意味あんの?
839 名前:828 mailto:sage [2007/09/16(日) 18:47:42 ] 翼をありがとう ハ_ハ ('(゚∀゚∩ とべるよ! ヽ 〈 ヽヽ_)
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 01:39:19 ] zshで、指定されたこのディレクトリ以下の、XXXX年Y月ZZ日以前に作成されたファイルを一覧し、確認後、 一括削除したいのですが、どのようにすればいいのかわかりますでしょうか?
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 09:07:11 ] touch -d YYYYMMDD dummyしておいて echo **/*(e:'[[ $REPLY -ot dummy ]]':) とか? ファイルのタイムスタンプじゃなく日付で比較する方法がわからんかった。 **/*(mh+2) でmtimeで2時間以上経ってるファイルってのは示せるな。 h(時間)以外に月や日数は指定できるが、具体的な日付は指定できないようだ。
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 15:56:58 ] findでやった方がいいんじゃないか
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 16:59:02 ] zshスレでそれを言っちゃあおしめぇよ (?)
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 20:44:16 ] あ、やっぱりそうだったんだ。 なんでfind -atime使わないのかと思ってた
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 21:17:12 ] findでのやり方を知った上でzshではどうなるかを考えるべきなんだろうけど。 echo **/なんたらだと argument too longになることがあるしね。
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/23(日) 10:32:04 ] select-word-style shell って multibyte 対応になってからおかしくなったよね。 (( CURSOR += ${#word} )) ってやってて(wordはこれからまたごうとしている語)、 ${#word} が bytes で CURSOR が chars だからみたいだけど。 ${#word} を chars で取得する方法か CURSOR を bytes で設定する方法はあるかな。 誰か知らない? $(wc<<<$word) とかはちょっと重いからなあ。 multibyte parse を自前でやるって手もあるけど。
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/27(木) 05:27:16 ] % echo a b c a b c % echo !:2[TAB] % echo b % !:0-2[TAB] % echo a b 知らんかった機能だけどわりと便利かも
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/27(木) 11:15:49 ] csh 由来の古典的な過去履歴参照もいろいろ痕跡は残ってるし 使いこなせば便利な場面はあるんだろうけど オツムの 使いこなしバッファ の容量がもう溢れてるザンス
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/27(木) 15:35:24 ] c-/ でUndoって紹介されているサイトがあるけど、自分のところではUndoにならん。どして?
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/27(木) 15:40:45 ] bindkey -e
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 12:22:50 ] >>849 端末は何? TeraTermやPoderosaだとだめかも
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 12:53:11 ] 端末はTeraTerm、sshで入っている。そして、指摘通り駄目だった。 ちなみにホストはVMware上のFreeBSD。こちらも駄目。 もちろん、bindkey -e は有効にしているのだけど、何か方法ありませんか?
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 18:10:08 ] stty ?
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 19:50:38 ] >>852 UTF-8 TeraTerm Pro with TTSSH2なら何もせずにいける. ttp://sourceforge.jp/projects/ttssh2/ 古いTeraTermならこれでいける ttp://www.sakurachan.org/ml/teraterm/msg00422.html
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 00:30:55 ] >>854 UTF-8 TeraTerm Pro with TTSSH2 にしてみたけど、駄目みたい。 c-x u は有効なんだが・・・。
856 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 08:44:52 ] >>855 日本語キーボードだとだめかも C-_ はどう? (/ と 右シフトの間のキー)
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 14:16:30 ] 当方、日本語キーボードです。 C-_でも駄目でした。