[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/10 02:55 / Filesize : 218 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

zsh その6



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に統合だそうな。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<218KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef