■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

zsh入門

1 :名無しさん@お腹いっぱい。 :2001/05/19(土) 23:42
なんかそろそろzshの補完機能をじっくりいじろうかなぁと思ったんですけど
compctl読みにくいですねぇ…
自分で書いたのもいまいちしっくり来ない…

ってことでみんなの.zshrc(主に補完部分)を見せ合いっこしませんか?
自分はまともなの書けてないですが…
zstyleも勉強したいので大歓迎
 というか参考文献が少なすぎるのでかなり喜ばれるはず

いままで他のshellを使ってきた方もこれを機に一緒に勉強しましょー

とりあえず自分のオプションはこんな感じです。tcshライクになってます。
bindkey -e
bindkey ' ' magic-space
bindkey '^W' kill-region
bindkey '^Q' reverse-menu-complete

setenv () {export $1="$@[2,-1]"}
unsetenv (){unset $1}

setopt prompt_subst
setopt nohup
setopt auto_cd GLOB_COMPLETE
setopt auto_remove_slash
setopt extended_history hist_ignore_dups
setopt prompt_subst
setopt pushd_ignore_dups rm_star_silent sun_keyboard_hack
setopt extended_glob list_types
setopt no_beep always_last_prompt
setopt cdable_vars sh_word_split auto_param_keys no_clobber
setopt complete_aliases setopt complete_in_word auto_list
unsetopt list_ambiguous auto_menu



667 :名無しさん@お腹いっぱい。 :02/08/10 18:56
>>666
!*で直前の引数全部
!$で直前の最後の引数
それ以外の引数はどうやって指定するんだ?
cat XXX|grep !$でいいとオモワレ

668 :名無しさん@お腹いっぱい。 :02/08/10 19:11
!:3 で3番目の引数だった

669 :名無しさん@お腹いっぱい。 :02/08/10 19:11
cat XXX | grep !:1

670 :名無しさん@お腹いっぱい。 :02/08/10 19:16
%1 2 3
%4 5 6
%echo !-2:0 !:$
echo 1 3
1 3

!:$は!-2:$にしなくてもできる。

671 :666 :02/08/10 19:17
できました。ありがとうございます。

672 :名無しさん@お腹いっぱい。 :02/08/11 11:42
bindkey -vで^Xgにline-expandをわりあてるにはどうすればいいですか?


673 :名無しさん@お腹いっぱい。 :02/08/11 12:01
>>109
亀レスだがsetopt recexactすればよし。

674 :名無しさん@お腹いっぱい。 :02/08/11 12:06
ゴメン。unsetopt recexactだった。
それかsetopt menucompleteこれをやるとvimでtabをおしたような補完になる

675 :名無しさん@Vim%Chalice :02/08/11 13:16
>>510
  % ls
  foo
  % echo 'bar' >| foo

676 :名無しさん@お腹いっぱい。 :02/08/11 13:22
>>661
毎月発売日に読んでレスしているのですが
今月は都合があってまだ本屋に言っていません。
こんな暑い中に戸田書店までチャリで30分もかけて
言ったら氏む。

677 :名無しさん@お腹いっぱい。 :02/08/11 13:38
freebsd4.5Rを使っています
お聴きしたいのですが.cshrcはなにもいじってない状態で
rootになった時に
ls -l
ls -F
ls -a
と上から順にうってlsだけ入力した状態で
矢印keyの上を押すとls -aもう一度押すとls -Fのように
ls以降の文字列だけを検索?のようにできるようなのですが
zshではhistoryの下から順にしか表示されないのですが
上のような感じの機能あると便利なのですがzshでも可能でしょうか?

678 :名無しさん@お腹いっぱい。 :02/08/11 13:41
bindkey '^P' history-search-backward
bindkey '^N' history-search-forward
か?

679 :名無しさん@お腹いっぱい。 :02/08/11 14:28
オプションがたくさん載ってた。ありがたや
ttp://www.ayu.ics.keio.ac.jp/members/mukai/tips/zshoption.html

680 :名無しさん@お腹いっぱい。 :02/08/11 16:51
>>678
はい。
bindkey -k up history-search-backward
bindkey -k down history-search-forward
zshだとどう書けば良いのでしょう?

681 :680 :02/08/11 17:19
そのままでよかったんですね。ありがとうございました

682 :名無しさん@お腹いっぱい。 :02/08/11 17:51
先日、zshの wiki ができた。
http://www.zshwiki.org/cgi-bin/wiki.pl


683 :名無しさん@お腹いっぱい。 :02/08/11 18:38
bindkey ^[ vi-cmd-mode
でemacs+vi(゚Д゚)ウマー
bindkey ^[h undifined-key
でESC押したあとにすぐにh押してもヘルプがでない(゚Д゚)ウマー

684 :名無しさん@お腹いっぱい。 :02/08/11 20:18
>>683
emacsはAltおしながらだから
かぶらない

685 :名無しさん@お腹いっぱい。 :02/08/12 21:53
.zhistory.19380
ってファイルなんなのさ!

686 :名無しさん@お腹いっぱい。 :02/08/12 22:44
>>685
中身を見てみろ

687 :名無しさん@お腹いっぱい。 :02/08/13 00:10
>>686
サイズ0でパーミッションは---------さ!

688 :名無しさん@お腹いっぱい。 :02/08/13 10:34
zsh使ってのプログラミングについて
シツモンしたいのですが、
どこのヴァンに聞けばいいでしょう。。

689 :Vin :02/08/13 10:37
ここでいいよ。

690 :コギャルとHな出会い :02/08/13 10:56
http://kado7.ug.to/net/


朝までから騒ぎ!!
   小中高生
 コギャル〜熟女まで
   メル友
  i/j/PC/対応

女性の子もたくさん来てね
  小中高生大歓迎です                 
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。

  激安携帯情報あります。

691 :名無しさん@お腹いっぱい。 :02/08/13 15:36
bindkey -s '^X^C' 'logout
'
って出来ます?
'^Xc' なら出来るのだけどなぜだろ...。


692 :ふわふわ名無しさん :02/08/13 16:11
>>691
^C が tty に食われているから。
stty -a したら intr=^C になってない?
stty intr '^?' とでもしたあとに ^X^C してみ。
# あんまりお勧めしないけどね。

693 :691 :02/08/13 16:20
>>692
あ。そうか。
でも intrrupt は '^C' がいいので諦めます。
ありがとでした。


694 :名無しさん@お腹いっぱい。 :02/08/13 19:56
>>691
なるほど,-sオプションは^X^Cを押すとlogoutが入力されるようになるのか。
僕は^Dでログアウトしてます。

695 :109 :02/08/13 22:25
>>674
ありがと。
因みに「VimでTABを押したような補完」ってどんな感じ?


696 :名無しさん@お腹いっぱい。 :02/08/13 23:01
setopt menucompleすればわかるが、 tabを押せば、最初の候補がえらばれて、もう1回おせば、次のが選ばれて、 まあtabを押す回数がへってらくです。

697 :109 :02/08/13 23:05
>>696
あ、本当だ。ありがとう。

698 :名無しさん@お腹いっぱい。 :02/08/14 01:40
promptで曜日を表示させたいけどcshで使ってた%dは
$PWD扱いになってしまいます。

ttp://zsh.sunsite.dk/Doc/Release/zsh_12.html#SEC39
みてもイマイチ分からないんですがどうやればよいですか?


699 :名無しさん@お腹いっぱい。 :02/08/14 08:00
たとえば %D{%y/%m/%d(%a) は 2002/08/14(Wed) などと変換される。
マニュアルにあるように詳しくは man 3 strftime

700 :名無しさん@お腹いっぱい。 :02/08/14 08:02
コピーする箇所を間違った。それは %y じゃなくて %Y のときね

701 :698 :02/08/14 10:19
>699, >700
700 おめでとう & ありがとうございます。
これで
WEEKDAY=`date|awk '{print $4}'`; export WEEKDAY
なんてやらなくてもすむ。


702 :698 :02/08/14 10:31
ネタじゃ無いけど今見たらUNIX USRES 6月号の
Zshマスターにのってました。

逝ってきマース。

703 :名無しさん@お腹いっぱい。 :02/08/15 02:37
4.0.6 リリース age

704 :名無しさん@お腹いっぱい。 :02/08/15 02:47
http://tmp.2ch.net/test/read.cgi/ihou/1028114616/
ここのポン中一家ってゆう奴ら 犯罪を誘発するような発言をずっとしてます。
どうかこうゆうやつらには、皆さんの手で社会的制裁を加えてください。

麻薬取締官
http://www.nco.go.jp/email/ncorespons.html
こちらから投稿できます。麻薬の密売情報に対する通報欄ですが、
皆さんの協力があれば、動いてくれると思います。
自己満足でもいいです。とにかく酷いやつらなんです。
このスレではないところでも、麻薬取引していたりしています。
決して、私怨ではありません。良識もった2ちゃんねらーを救うためのことです。
宜しくお願いします。

705 :名無しさん@お腹いっぱい。 :02/08/15 04:54
>>703
もう出たのかYO!! 速いYO!!

706 :名無しさん@お腹いっぱい。 :02/08/15 08:47
はやいのはきらわれちゃうzo!

707 :名無しさん@お腹いっぱい。 :02/08/15 10:52
入れたばかりなのに・・・

708 :名無しさん@お腹いっぱい :02/08/16 00:13
typoかと思ってたらマジですか…

709 :名無しさん@お腹いっぱい。 :02/08/16 20:56
autoload -U compinit; compinitとやると Ignore insecure directories and files and continue [ny]?とでます。どういういみでしょうか。おしえてください。


710 :名無しさん@お腹いっぱい。 :02/08/17 00:38
自分で調べてください。

711 :名無しさん@お腹いっぱい。 :02/08/17 01:29
FreeBSD STABLEと zsh4.0.6でkillやkillallで補完効く人いますか?
1年ぐらいzsh使っているのですがkillで補完が効きません。

712 :709 :02/08/18 00:03
autoload -U compinstall;compinstall
をやらなくちゃいけないのか。質問が意味不明だが。

713 :名無しだよもん@カラアゲうまうま :02/08/21 23:13
zshでmigemoしてる勇者は居ませんか?

曲名をファイル名にしたmp3とかが仰山あっていつもはSamba越しに触ってるんだが、
直接移動とかしようとするとシェルからさわりづらくて困りんぐ。
EUC-JPだから日本語のファイル名をきっちり指定すればできない事はないんだけど……。

714 :名無しさん@お腹いっぱい。 :02/08/21 23:38
曲名の付け方を工夫した方がいいような

715 :名無しさん@お腹いっぱい。 :02/08/27 18:04
>>713
migemoとは関係無いですが、私はFDCloneをつかってます。
得意げな顔してがんがん日本語のファイルやディレクトリ作ります。

716 :名無しさん@お腹いっぱい。 :02/09/01 03:10
静かだね。ageてみよう。

>>397
すごい亀レスだけど、うちでは setopt print_eight_bit
で表示されるようになった。


717 :397 :02/09/01 13:24
>>716
うわあどうもありがとうございます。
おかげさまで補完候補に日本語ファイル名が出るようになりました。

てっきりできないもんだと思ってあきらめて、もう5ヶ月にもなってましたか…
亀レス上等!

718 :名無しさん@お腹いっぱい。 :02/09/01 16:41
ignoreeofって回数指定出来ないの?

719 :名無しさん@お腹いっぱい。 :02/09/01 17:33
以前それを実現するパッチがあったが

720 :名無しさん@お腹いっぱい。 :02/09/01 20:50
for zsh-4.0.6

Index: Src/init.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/init.c,v
retrieving revision 1.18.4.4
diff -u -r1.18.4.4 init.c
--- Src/init.c22 Oct 2001 15:14:42 -00001.18.4.4
+++ Src/init.c1 Sep 2002 11:47:48 -0000
@@ -1227,7 +1227,7 @@
continue;
}
noexitct++;
-if (noexitct >= 10) {
+if (noexitct >= (getiparam("IGNOREEOF") ? getiparam("IGNOREEOF") : 10)) {
stopmsg = 1;
zexit(lastval, 0);
}


721 :720 :02/09/02 11:41
って、そう簡単では無いのですね。
zle を使っていなければ 720 の patch は効きますが、そんなヒトはいない(^^;


722 :名無しさん@お腹いっぱい。 :02/09/02 16:45
4.0.4 -> 4.0.6 にしたら
scpのリモートディレクトリ補完で最後の文字がスペースから/に変わって
ストレス無くサブディレクトリが辿れるようになった

723 :名無しさん@お腹いっぱい。 :02/09/03 16:36
>>716
私も諦めてた。最高。

724 :名無しさん@お腹いっぱい。 :02/09/04 17:35
zsh の ESC-h で w3mman を使って man を表示する方法を教えて下さい。

725 :名無しさん@お腹いっぱい。 :02/09/04 18:54
>>724
run-help () { w3mman "$@" }


726 :名無しさん@お腹いっぱい。 :02/09/04 18:55
>>725
> run-help () { w3mman "$@" }

ありがとうございました。


727 :名無しさん@お腹いっぱい。 :02/09/05 23:49
~/.zhistory がいきなり半減してしまった。
その代わりに~/.zhistory.45434 とかの pid が付いた変なファイルがたくさん。
pdumpfs で昨日の物を取ってきて難を逃れたけど。

728 :名無しさん@お腹いっぱい。 :02/09/06 00:47
>>727漏れはそれが10個以上あるな。。。

729 :名無しさん@お腹いっぱい。 :02/09/06 04:46
zsh 4.0.1で「rm *.o~hoge.o で hoge.o 以外の全ての *.o が消せる。 」
ができません。3.1.6だとできたのですが。バージョンと関係あるのですか?


730 :名無しさん@お腹いっぱい。 :02/09/06 05:41
>>729
setopt extendedglob
してる?

731 :名無しさん@お腹いっぱい。 :02/09/06 14:05
2000 行の history を持ったプロセスはまだ生きているんだけど,
.zsh_history 自体は 200 行になってしまった場合はどうすれば
いいんでしょう?

savehistory とかいうコマンドはないのかいな.


732 :名無しさん@お腹いっぱい。 :02/09/06 14:10
>>730
あーやってませんでした。ありがとうございました。

733 :ふわふわ名無しさん :02/09/06 16:29
>>731
fc -W


734 :731 :02/09/06 16:59
>>733
ありがと! 助かりました.


735 :名無しさん@お腹いっぱい。 :02/09/07 03:25
>>660
小松さんの zsh-dabbrev がほすぃ.ヽ(`Д´)ノウワアン!
まだ、なんか、見れないんですけど。ヽ(*゜Д゜)ノ
ソース貼り付けキボンヌ。

736 :名無しさん@お腹いっぱい。 :02/09/07 03:31
_history_complete_{older,newer} では不足? zsh-dabbrev は持っていたが、
いまちょっと見当たらない。

737 :名無しさん@お腹いっぱい。 :02/09/07 18:21
zshノmanualヲ訳ソウトオモッテイマス。
ヨロシイデショウカ?

738 :名無しさん@お腹いっぱい。 :02/09/07 18:27
ドーゾ

739 :名無しさん@お腹いっぱい。 :02/09/07 19:02
>>737
ゼヒオネガイシマス

740 :名無しさん@お腹いっぱい。 :02/09/07 20:44
ウハウハ

741 :名無しさん@お腹いっぱい。 :02/09/08 01:44
長い名前になってしまったaliasの補完てできますか?

alias utf2euc='iconv -f utf-8 -t euc-jp '
てやってるんですけど、
% ut[tab]
でも何も出てこない。

いや、もっと短い名前にしろよってことですけど。

742 :名無しさん@お腹いっぱい。 :02/09/08 02:00
普通出来ると思うけど…。
zsh を起動しなおしてないとか euc-jp の最後のスペースが気になったり。

743 :名無しさん@お腹いっぱい。 :02/09/08 03:58
>>741
そもそもそのaliasは動いてる?

744 :名無しさん@お腹いっぱい。 :02/09/08 04:00
ESC-. の機能って便利ですよね。
ESC-, と ESC-/ ってどう使うんでしょうね?

745 :名無しさん@お腹いっぱい。 :02/09/08 04:26
使ってみれば判ると思いますが…

746 :741 :02/09/08 11:33
たびたびすみません。
今確認してみたんですけど、alias自体は動いてるようです。
あとは実際に書いてあるものには
>>742さんがおっしゃっているスペースはありませんでした。

いったんもう一度.zshrcをどかしていろいろ試してみます。

747 :741 :02/09/08 12:09
解決しました.
alias -gで定義してたのが問題だったようです。
お騒がせして申し訳ないです。

ところで-gフラグをつかるのとつけないのではどう違ってくるんでしょう?
googleで見てみましたけど、なんかわかったようなわからないような。

748 :名無しさん@お腹いっぱい。 :02/09/08 12:45
>>747
> alias -gで定義してたのが問題だったようです。

>>741
> alias utf2euc='iconv -f utf-8 -t euc-jp '
> てやってるんですけど、

-g ついてないじゃん。

> ところで-gフラグをつかるのとつけないのではどう違ってくるんでしょう?

alias [ {+|-}gmrL ] [ name[=value] ... ]
For each name with a corresponding value, define an alias with
that value. A trailing space in value causes the next word to
be checked for alias expansion. If the -g flag is present,
define a global alias; global aliases are expanded even if they
do not occur in command position.


749 :名無しさん@お腹いっぱい。 :02/09/08 20:21
UNIX USER 10月号 age

750 :名無しさん@お腹いっぱい。 :02/09/08 23:26
>>749
いいかげんsetoptはやめろと言いたい。

751 :名無しさん@お腹いっぱい。 :02/09/09 13:06
>>750
じゃあどーすりゃいいのさ

752 :名無しさん@お腹いっぱい。 :02/09/09 13:50
今月号の記事は setopt ネタだけで終わったんですか?
たしかに引っ張りすぎかも

753 :名無しさん@お腹いっぱい。 :02/09/09 14:33
UNIXUSER zshのところだけ別の本つくってくれぇー

754 :名無しさん@お腹いっぱい。 :02/09/09 23:38
backward-kill-word がすげー使いにくいけど、こういうものなの?
Emacs使いの人はどうしてます?

755 :名無しさん@お腹いっぱい。 :02/09/10 00:22
>>754
どういうこと?漏れは使いやすいと思うが。

756 :名無しさん@お腹いっぱい。 :02/09/10 00:47
C-r で履歴をインクリメンタルサーチするのに
キーワードを複数指定出来たらいいな〜。
そういうのはインクリメンタルサーチって言わないのか。

757 :名無しさん@お腹いっぱい。 :02/09/10 01:46
>>756
絶対言わないと思う。

758 :名無しさん@お腹いっぱい。 :02/09/10 01:48
と思ったが、インクリメンタル正規表現サーチとかできたら嬉しいかもね。
俺には絶対実装できんが。

759 :名無しさん@お腹いっぱい。 :02/09/10 02:38
>>758
% ls
% echo ls
ls
% ls
bck-i-search: ^ls_

って感じで標準で出来ると思うんだけど。


760 :名無しさん@お腹いっぱい。 :02/09/10 09:33
>>754
あー判る判る。多分、さくっと行き過ぎるということだね。
俺も tcsh から乗り換えたときに使いにくいと思ったところだ。

自分が昔書いた>>192 が参考になるんじゃないかな。

761 :名無しさん@お腹いっぱい。 :02/09/10 09:37
具体的にどう使いづらくて、どう動作して欲しいのか書いてくれると
「あ〜、そういう意見もあるのか〜」って参考にできるので嬉しいです

762 :名無しさん@お腹いっぱい。 :02/09/10 13:32
>>759
お、そんなのができるんですか。
でも、正規表現じゃないですよね。
指定できるのは先頭のアンカー ('^') だけで。

たとえば、"w3.*asahi" みたいに正規表現書ければ、
>>756 の言うキーワード複数指定のようなことができるな〜、
と思ったわけです。

763 :名無しさん@お腹いっぱい。 :02/09/10 15:47
つまりWORDCHARSに/がないとき
hoge/hage
ここで^w
hoge/
ここで^wをすると全部消えるのが嫌ってこと?
tcshやvimだと/だけ消えるね。




764 :754 :02/09/10 16:56
>>763
WORDCHARS ってものがあったのか。知らなかった。ありがと。
これで Emacs-like な動きにできそうだ。

うちだと ~/.z* にも /etc/z* にも設定してそうなところはないのに

% echo $WORDCHARS
*?_-.[]~=/&;!#$%^(){}<>

ってなってるのだけど、この値はデフォルトで設定されてるの?


765 :760 :02/09/10 21:01
>>763
例えば ls /usr/share/locale/ とした時点で backward-kill-word すると、
デフォルトではサクっと /usr/share/locale/ 全体が消えてしまいます。
tcsh の backward-delete-word だと /usr/share/ が残ります。

どちからと云うと自分は tcsh の挙動の方が嬉しいわけです。tcsh で
馴れたせいもあるでしょうが。

結局、

tcsh-backward-delete-word () {
local WORDCHARS="${WORDCHARS:s#/#}"
zle backward-delete-word
}
zle -N tcsh-backward-delete-word
bindkey '^[^H' tcsh-backward-delete-word

としています。^W は kill-region に割当てています。

>>764
> この値はデフォルトで設定されてるの?
zsh の実行ファイルに埋め込まれているようです。

グローバルに WORDCHARS をいじると他の機能の
挙動も変わってしまうので、止めておいた方が無難
でしょうね。

766 :名無しさん@お腹いっぱい。 :02/09/10 23:52
*(m-1)で1日以内に変更されたファイルを表すことができるのですが、
分、時間単位の指定はできるのでしょうか?


掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)