- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/12(金) 00:54:20 ]
- zshについて語るスレ
www.zsh.org/ zsh.sourceforge.net/ ・過去ログ zsh その5 pc11.2ch.net/test/read.cgi/unix/1212677877/ zsh その4 pc11.2ch.net/test/read.cgi/unix/1107342206/ zsh その3 pc5.2ch.net/test/read.cgi/unix/1080002786/ zsh入門 パート2 pc3.2ch.net/test/read.cgi/unix/1036324177/ zsh入門 pc.2ch.net/test/read.cgi/unix/990283346/
- 503 名前:名無しさん@お腹いっぱい。 [2010/01/27(水) 22:40:16 ]
- >>471
condition expected: $words[i]とかいうエラーがでるんだけど何が原因かわかりますか?
- 504 名前:名無しさん@お腹いっぱい。 [2010/02/15(月) 02:31:52 ]
- Ctrl-. (ピリオド)を
bindkey ”^.” redo とかに割り当てたいんですけど、 Ctrl-.を入力しても、そのまま.がターミナルに表示されます。 sttyで何か設定すればC-.が有効になるのでしょうか?
- 505 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 07:38:48 ]
- Ctrl-.なんて文字は存在しないから受け取りようがないのです。
- 506 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 11:46:12 ]
- emacsだと以下で行けるけど、ターミナルだと無理なんかも
(define-key global-map [?\C-.] 'redo)
- 507 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 12:53:11 ]
- ターミナルのなかで文字として受け取るか
X-client がイベントとして受け取るかの 違いが理解できていないのか?
- 508 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 13:26:35 ]
- emacsのxterm.elでは(define-key map "\e[27;5;46~" [?\C-.])と定義してある。
ターミナルソフト側でC-.を押したら\e[27;5;46~を送出するよう設定すればおk
- 509 名前:504 mailto:sage [2010/02/15(月) 23:37:58 ]
- ありがとうございます。
設定してxterm上ではC-.キーつかえました でも、いつも使ってるgnome-terminal上では送出設定できなさげでorz
- 510 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 23:50:34 ]
- gnome-terminalは.Xdefaultsが効かないんだっけ
- 511 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 23:53:37 ]
- .XdefaultsはAthenaWidgetのもんじゃねーの?
- 512 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/16(火) 13:48:12 ]
- .Xdefaults(.Xresources etc.)については
xrdb の仕組み・罠とかいろいろ知らないといけない
- 513 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 01:37:34 ]
- cygwin上ででzshを触り始めたんですが、
.zshrc に 「windows上で動いてるなら "c:\Program files\" の 配下のファルダ全て(もしくは一つ下のサブフォルダまで)をPATHに追加」 (新しくアプリが追加されたら、次回のzsh起動時に自動的に読み込みたい) このような処理は出来ますか? もしできるなら、何をどう使って書けば良いでしょうか?
- 514 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 02:38:33 ]
- そう書けばいいんじゃないの?
- 515 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 02:43:26 ]
- >>514
書く方法がまったくわからないので、何かキーワードを頂けませんか?
- 516 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 03:16:03 ]
- >>514
ヒント: path=($path(N-/) /*/bin(N-/) $HOME/bin(N-/)) typeset -U path
- 517 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 03:18:08 ]
- すまん
ミスった >>515に
- 518 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 05:25:02 ]
- >>516
回答ありがとうございます。 typeset をキーワードに検索したら、それらしいページがみつかったのですが en.allexperts.com/q/Unix-Linux-OS-1064/typeset-Unix-1.htm これをやりたい事に書き直すのは自分には無理そうなので 毎回パスを手書きで追加することにします。
- 519 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 05:39:12 ]
- ここの説明で >>516 さんのヒントの意味がわかりましたので解決しました。
technique.sonots.com/?UNIX%2F%E8%A8%AD%E5%AE%9A%E3%80%81%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%2F.zshenv
- 520 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 23:36:31 ]
- >>518
一瞬ジョークのように読めてちょっと笑った。
- 521 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/18(木) 23:48:56 ]
- >>503
前に何か直したんだけど、error message がどんなんだったか忘れた。 ↓ の patch で直る? error 内容が違う気がするので、直らない感があるけど。 % diff -u 1711428 _migemo_complete | gzip | base64 H4sIAPhRfUsAA62Sy07CQBSG1+1THKEh4DBmppAANY1d8BaFTAoMpdpbSo0hokldmLh14xsYtz5T E5/DaQdE5BIWzmY6M9//n1sxxkA7lLb1rqITSjDRMe2C3jL0jtHqXZD1AkR6hKgIIWCB5/IgYuMo iH2e8j/CNjFod0doWYAp0ZsdQHKzLBXkmkQhX3/HTmpWtPv6tXFuNMThoaJUgbsJj4unlCch5E+v 4PrRaOSF7uYy+8iztzx7/3r5zLNnFVQsDet10FDgpOOZwFnC57d+yoSKeRNbE/sQGg1YLgvuKGWC Vt0PCAMV/VewwSnRVr3yo7Hjg7w2tWNhtxUr4IYvRJvKuVC92RNzKbdiLsoGMTVpZGh3UTKZ254w U7xpUcLZbrG2tlEWxV5COuOhUADYNvxYgCkKfBTGMByqWIE9Ddl2MotgV2Wn99ODAzgoU09EkAmf liw6QA8O11aifI7M302Sv0M1ilPWL+Zeq0GfOUniLFgaxIJdnSQt0vwGAasJiowDAAA=
- 522 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/21(日) 01:14:10 ]
- 打ち間違いで command not found になった場合は
ヒストリファイルに残してほしくないんだけど 何かいい設定とかないでしょうか?
- 523 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/21(日) 09:38:43 ]
- preexecかzshaddhistoryでなんとかするのかな?
- 524 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 00:31:50 ]
- $PWD の長さを取得したいんですが、ホームにいるときは ~/ の2文字ではなく /home/username が返ってきます。ホームのときも考慮した$PWDの長さはどうやって取得できますか?
- 525 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 01:16:02 ]
- 代わりに print -P '%~' の出力をみればいいと思う。
- 526 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/12(金) 13:06:45 ]
- >>524
${#PWD/${HOME}/\~} 何がしたいのかさっぱり分からないが…
- 527 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/13(土) 23:58:52 ]
- autoload run-help って結構微妙な動作すんだな
- 528 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 12:51:25 ]
- zsh -c "do something"
で呼び出したときに .zshenv だけじゃなく .zshrc も実行前に呼びたいのですが、どうすればできるでしょうか? オプションを下記サイトで探して zsh.sourceforge.net/Doc/Release/zsh_15.html RCS を使い .zshenvを読み込まない設定はできましたが .zshrc を読み込む設定は見つかりませんでした。
- 529 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 13:02:11 ]
- rcは対話シェル用の設定を書くところだから、
正しいアプローチは.zshenvに該当の設定を移すことではないの?
- 530 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 13:15:27 ]
- >>528
一応 zsh -i +f -c 'do sth' で、無理矢理インタラクティブにしてしまえば .zshrc を読んでくれる 何のための .zshenv だよって言いたくなるが
- 531 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/14(日) 20:56:06 ]
- >>529-530
返信ありがとうございます。 そうですね。 .zshenvに設定を移すことにしました。
- 532 名前:名無しさん@お腹いっぱい。 [2010/03/17(水) 01:20:42 ]
- findしまくりのbashスクリプトと、zshだけで完結しているスクリプトだったら
どっちが早いんだろ?
- 533 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 01:42:54 ]
- zsh で ** だとリストが長すぎてダメってことは稀によくある。
- 534 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 03:08:30 ]
- 俺もよく稀にある。**/** 便利だから取り敢えず使っちゃう。
- 535 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 05:33:53 ]
- >>532
zshのほうが速いので比較するまでもない
- 536 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 11:35:22 ]
- zsh 使いなら当然 zargs も使うだろう
- 537 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/26(金) 12:55:03 ]
- >>2
それをその速さで貼れるってことは お前それをコピってずっと待機してたんだろ? リロードしまくって。誰かスレ立てるの待って。 まじきめーな。氏ねよハゲ。
- 538 名前:537 mailto:sage [2010/03/26(金) 12:55:45 ]
- ごめんなさい
誤爆しました
- 539 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/28(日) 14:29:24 ]
- ワロタ
- 540 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/04(日) 15:54:16 ]
- >>533
いくつまでなんだっけ?いちいちfind使うのが面倒なんだよなぁ。 自分でソースからコンパイルすれば上限変えれるのかもしれんが・・・
- 541 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:31:18 ]
- >>540
きょうび自分でカーネルリコンパイルなんてFreeBSDくらいじゃないかね。
- 542 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:32:42 ]
- そういう話じゃなくて。
- 543 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/08(木) 16:50:59 ]
- exec(2)に渡せる長さの上限は、FreeBSDだと sysctl kern.argmax かな。
- 544 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/09(金) 08:41:54 ]
- だからfind + xargs -> zargs でFA
- 545 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/09(金) 08:46:43 ]
- >>542
いやでも、自分でソースからコンパイルすれば上限は変えられるけど カーネルリコンパイルってなかなか手を出さないと思うけどな。 カーネルアップデートがある度にやり直しなわけだし。
- 546 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 14:40:25 ]
- zargsシランカッタ…こんな便利なものが
- 547 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 19:33:33 ]
- zsh% zargs
zsh: command not found: zargs って言われちゃうけどどう使うの?
- 548 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/10(土) 19:34:42 ]
- autoload zargs
- 549 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/11(日) 09:21:00 ]
- zfags
- 550 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:05:43 ]
- for n in {01..99};do で01,02,…と桁数一定の連番にできるのが凄い便利なんですが、
これのインクリメンタルを1でなく任意にする方法はありませんか? for ((n=1;n<100;n=n+m));do の形式だとbashと同様、1,2,…となってしまい n=01とやっても同じで不便ですね。
- 551 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:09:12 ]
- for n in `seq -w 1 2 99`; do
- 552 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:18:45 ]
- seqはGNU coreutils以外にもあるの?
- 553 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 22:39:52 ]
- >>550
for ((i=1;i<100;i=i+2)); do echo ${(l:2::0:)i}; done で出来るけどなんか不細工 bash なら {01..99..2} で大丈夫
- 554 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/15(木) 23:23:38 ]
- >>552
じゃあ、jotで jot -w %02d - 1 100 2
- 555 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 02:30:10 ]
- 内部コマンドだけだと
for ((i=1; i<100; i+=2)); do print -f "%02d\n" $i; done スマートにはいかんな
- 556 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 05:40:33 ]
- typeset -Z2 i
- 557 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/16(金) 11:43:29 ]
- 自分だったらこんな感じかな
for i in {1..10} echo $(printf "%02d" $[i*2] ) >556 辺りが一番すっきりなんだろうけど たぶん必要なときにこれを思い出さない気がする…
- 558 名前:550 mailto:sage [2010/04/16(金) 15:00:37 ]
- 皆さんありがとうございます。色々ありますね。
自分は今のところprintfで桁数を整えています。 >>553 >bash なら {01..99..2} で大丈夫 こちらのbash 3.2では解釈してくれず、{01..99..2}がそのまま i に入ってしまいました。 4.xでの機能でしょうか?
- 559 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/19(月) 13:52:32 ]
- 上でzargsが挙がってましたが、zsh/filesを使うほうがもっと簡単なんじゃない?
と思ってやってみたら、↓のように変なところで怒られたんですが、何でですかね? ディレクトリをmv (/の有無) mkdir hoge fuga $ mv hoge/ fuga/ mv: fuga//: cannot overwrite directory $ mv hoge fuga/ 異なるファイルシステム間でmv $ touch /tmp/hoge $ mv /tmp/hoge . mv: /tmp/hoge: invalid cross-device link
- 560 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/19(月) 21:53:25 ]
- 上はバグかな。
下はそういうもん。
- 561 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/20(火) 18:21:48 ]
- >>560
>上はバグかな。 まじすか・・・4.2.6なんですが、新しいのだと直ってるんですかね? >下はそういうもん。 まじすか・・・ファイルシステムが異なる場合はrename関数でinodeを書き換えるのではなく、 新規に作って元のを消すという仕様だったと思いますが、それがきちんと実装されていない ということですかね?だとするとこれもバグのような気が・・・
- 562 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/20(火) 19:07:40 ]
- バカかお前。manくらい読めよ。
- 563 名前:559 mailto:sage [2010/04/20(火) 19:50:05 ]
- >>560の「そういうもん」の意味を、変な風に捉えていました
manにThis may change in a future version.書いてありますね ついでに本家サイトに行ってmanを見てきましたが同じでした 引数の最大値の制限を受けないのは魅力的だったけど、やっぱりやめとこう・・・
- 564 名前:名無しさん@お腹いっぱい。 [2010/04/25(日) 17:31:00 ]
- bash の set +h に相当するオプションありますか?
- 565 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/25(日) 18:47:04 ]
- どういう機能か書いてくれないからbashのマニュアルを調べてしまった。
hash_cmds かな?
- 566 名前:名無しさん@お腹いっぱい。 [2010/04/29(木) 00:33:11 ]
- >565
ごめん, Z な漢たちに bash の説明なんて余計なお世話だったらどうしようかと, そして, ありがとう. man zshoptions ですね.
- 567 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 20:57:24 ]
- hash_cmdsってハッシュテーブル使うって意味だよね
利点がいまいち分からないんだが・・・ 体感するほど速くなる?
- 568 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:01:16 ]
- 利点がないからこそ hash_cmdsを無効にしたい、って話だろ
- 569 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:11:58 ]
- >>564 は (bashの) set +h (ハッシングをしない)相当をやりたいの
だから、zshで実際に設定するのは nohashcmds のほうになるはず。
- 570 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 21:14:21 ]
- >>569
それでもいいけど、set +o hash_cmds で無効に設定できるよ
- 571 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 22:59:52 ]
- hash_cmds って知らなかったからちょっと調べてみたけど、これがオンの場合
PATH=/usr/local/bin:/usr/bin だとして /usr/bin/hoge を実行した後、/usr/local/bin/hoge を作成しても その後 hoge と打ったときに実行されるのは /usr/bin/hoge というふうに理解したのだけど、これで合ってる?
- 572 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 23:01:50 ]
- 実行可能なファイルをパスの通ったところに放り込むと直後にそのファイルがタブ補完で呼べる、
という挙動が hash_cmds と no_hash_cmds の両方で同じだった。 もしかして、コマンド補完が効くというのはハッシュとは関係ないの?
- 573 名前:572 mailto:sage [2010/04/29(木) 23:03:38 ]
- お、>>571と似た話かな?
この辺誰か解説してくだしあ。
- 574 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 23:23:21 ]
- >>572
一度補完させた後に新規に作成したファイルは補完されない
- 575 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/30(金) 18:17:41 ]
- bindkey -v使いたいんだが...
どっかにvimのヴィジュアルモード再現してくれる猛者いねーかな。 アレが無いと、削除もヤンクも使えたもんじゃない。 おかげでbindkey -e使うハメに。くつじょく チラウラスマソ
- 576 名前:572 mailto:sage [2010/05/01(土) 00:59:09 ]
- いまいち分からなくて色々調べてたんだけど、no_hash_cmds だとハッシュが
一切関係なくなるかと思ったら、タブ押した瞬間にハッシュに登録されるようで、 以降PATHのより上位に同じのをコピーしても最初のやつが参照される。 PATHを探索するタイミングとハッシュが登録されるタイミングというのは どうやら同じではないらしい・・・。 うーん、なんか腑に落ちないけどまぁいいや。いずれにしろ、名前がカブってるのを 異なるパスに置くなんてことをしない限り(普通しないよね?)関係ない話だし。
- 577 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/06(木) 15:58:29 ]
- bashのhistory -d offset みたいに指定した履歴行を削除する方法はありますか?
- 578 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 14:16:53 ]
- なさそう。fc -R/-Wで作業ファイル経由かなあ。
- 579 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 00:04:43 ]
- >>575
bindkey -M vicmd v set-mark-command とかなんかして適当に foo-delete/foo-yank 作ればいけるんじゃない?
- 580 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 04:00:03 ]
- >>579
ありがとう。感謝感謝 zshall 読む気にならないのは俺だけではないはず。 いや、このスレ的には読んでないと駄目なのか
- 581 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 05:18:46 ]
- #ビジュアルモードを実装
function _vi-visualmode-delete() { zle set-mark-command ... ... } zle -N _vi-visualmode-delete bindkey -M vicmd 'v' _vi-visualmode-delete 根本的に方針を変えるべきか
- 582 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 23:47:48 ]
- bindkey -a v set-mark-command
bindkey -a d foo-delete foo-delete() { zle vi-delete if (( REGION_ACTIVE )); then zle exchange-point-and-mark fi } (これ動くんかな…) な感じでいくか、あるいは bindkey -N vivis vicmd bindkey -a v vi-vis-mode bindkey -a d vi-vis-delete とか? てか set-mark-command だと多分、範囲末尾が1文字分期待と違うな。 しかも characterwise でしか動かない気がするけど、 まあ linewise とか要らないよね。
- 583 名前:575=581 mailto:sage [2010/05/09(日) 05:34:04 ]
- linewiseとかいうレベルじゃない…
一応visualmodeのdeleteを実装してみた。 但し、dを二回押す必要アリ+押した後にESC押す必要アリ。もっさい 有識者の方の降臨を待つとしよう。 bindkey -a v vi-vis-mode zle -N vi-vis-mode function vi-vis-mode() { MARK=CURSOR zle exchange-point-and-mark bindkey -a 'd' vi-vis-delete } zle -N vi-vis-delete function vi-vis-delete() { CURSOR=$((CURSOR + 1)) bindkey -M vicmd 'd' kill-region } bindkey -a "^[" _escaping zle -N _escaping function _escaping() { bindkey -M vicmd 'd' vi-delete }
- 584 名前:名無しさん@お腹いっぱい。 [2010/05/09(日) 12:39:45 ]
- screen みたいに画面をキーボードで移動して必要な範囲をコピーとかって出来る?
screen 入れないと駄目?
- 585 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/09(日) 23:45:54 ]
- うーん。だめじゃない?
表示内容を取るエスケープシーケンス(じゃなくて制御シーケンスか?) とかあれば、それ使うか、screen と同じことをするか。 あんまり zsh でやることでもないような。 >>583 bindkey してるんを直接実行するんじゃだめなん?
- 586 名前:575 mailto:sage [2010/05/10(月) 08:15:53 ]
- >>584にヒントを得た。多分完璧。lineとかしらん
cってchangeの略なんだな。初めて知った。 bindkey -a v vi-vis-mode zle -N vi-vis-mode function vi-vis-mode() { MARK=CURSOR zle exchange-point-and-mark bindkey -a 'd' vi-vis-delete bindkey -a 'y' vi-vis-yank bindkey -a 'c' vi-vis-change } zle -N vi-vis-delete function vi-vis-delete() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region }
- 587 名前:575 mailto:sage [2010/05/10(月) 08:17:03 ]
- >>586の続き
zle -N vi-vis-yank function vi-vis-yank() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region zle vi-put-before } zle -N vi-vis-change function vi-vis-change() { bindkey -M vicmd 'd' vi-delete bindkey -M vicmd 'y' vi-yank bindkey -M vicmd 'c' vi-change CURSOR=$((CURSOR + 1)) zle kill-region zle vi-insert }
- 588 名前:575 mailto:sage [2010/05/10(月) 08:19:40 ]
- 連投すまぬ
当たり前だけど、使う時はbindkey -vしてちょ このスレの人なら、こんなこと言う必要ないな…
- 589 名前:575 mailto:sage [2010/05/11(火) 08:22:00 ]
- マジで連投申し訳ない。今回以降は書き込まない。
zshscreenvimvimpwget.blog27.fc2.com/作ったので、こっちでやる。 スレ汚しごぬんなさい… とりあえず、Vモードを追加して、無駄に昨日を増やしてみた。oとか。 大体vimのビジュアルモードに準拠してるけど、vで設定した位置より右にいくと、 感覚からちょっとズレる。ここを改良するのが今後の課題だが難しいな。
- 590 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/13(木) 18:45:07 ]
- $PREFIX/share/zsh/4.3.*/functions/ にある特定のファイルだけ読み込まないようにする方法ってありますか?
- 591 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 00:16:26 ]
- functions/Completion の話?
>>575 いいんじゃないっすか?過疎ってるし。 過疎ってなくてもいいと思うけど。
- 592 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 00:26:50 ]
- svn [TAB]で補完が効く状態(=関数 _svn が実行できる)で
unfunction _svn としたら svn [TAB]で command not found: _svn が出るようになったから、 unfunctionでいいんじゃないだろうか。
- 593 名前:575 mailto:sage [2010/05/18(火) 20:19:19 ]
- vim-ビジュアルモードが、ほぼ再現できたのでスクリプトを貼っておく。
意見をくれた人サンクス 詳しくはzshscreenvimvimpwget.blog27.fc2.com/blog-entry-3.html ヘルプzshscreenvimvimpwget.blog27.fc2.com/blog-entry-4.html 以下のファイルの拡張子txtを省いて、~/hoge/ファイル名 みたいに保存して、 ~/.zshrcにsource ~/hoge/ファイル名 と書き込むべし。 linux_fedora12のzsh4.3.10で動作確認済 blog-imgs-44.fc2.com/z/s/h/zshscreenvimvimpwget/zsh_vim_visualmode_linuxver.txt MAC-OSXのzsh4.3.9で動作確認済 blog-imgs-44.fc2.com/z/s/h/zshscreenvimvimpwget/zsh_vim_visualmode_osxver.txt 使い方:vかVか^vを押せ。さすれば道は開かれる 問題点: カーソルが行頭の一歩手前までしかいけない 5hがhに。でも3foは3fo Vで下行から上行に向かって行選択すると、挙動がちょっと変 vda'しても、テキストオブジェクト的には働いてくれない。vaの時点でインサートモードに入る。 ↑のバグは、まあ微々たるもんだろう。直す気はない。 Vの挙動は、気が向いたら直すかもしれん。 今度はテキストオブジェクトを再現するつもり
- 594 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/20(木) 23:02:47 ]
- ls --color=autoでTABの補完候補を表示させると、
hoge.bmpなどのディレクトリが.bmpファイルの色になります。 補完候補ではなく、普通にlsで見たときはディレクトリ色なんですが。 どなたか分かる方いますか?もしzshのせいでなかったらすいません。
- 595 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/20(木) 23:27:41 ]
- 手元の環境ではhoge.bmpでもディレクトリとして色付けされる
関係する設定といったら zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} ぐらいしか無いような気がするけど
- 596 名前:594 mailto:sage [2010/05/21(金) 12:19:50 ]
- >>595
そうですよね。 completionもlsも、どちらもzsh内の機能だから色付けも統一されるはずと思ったけど、そうじゃないってことかな。 ディレクトリ名に.bmpって付ける癖を直すしかないか・・・
- 597 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/21(金) 20:40:55 ]
- う〜ん、ZLS_COLORSとか?
- 598 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/29(土) 15:54:23 ]
- >>593
おつー。
- 599 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/29(土) 20:09:15 ]
- 1行目を #!/bin/zsh としたzshスクリプトの、syntaxの色が
bashのときより素っ気ないのでカスタマイズしたいのですが、 どこの辺をいじればいいでしょうか? /usr/share/vim/ 以下のファイルでしょうか?
- 600 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/30(日) 01:10:28 ]
- 普通は .vim/syntax/zsh.vim
俺は .vim/after/syntax/zsh.vim
- 601 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 07:22:37 ]
- >>594
同じような状況になった事があった気がするんだけど、 ディストリビューションは何使ってるの? その ls はBSD系じゃなくてGNU fileutilsのコマンドになってる?
- 602 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 22:00:36 ]
- fileutils って何年前の話だよw
- 603 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/01(火) 22:59:04 ]
- 2002年9月1日からcoreutilsに統合だそうな。
|

|