■掲示板に戻る■ 全部 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



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日以内に変更されたファイルを表すことができるのですが、
分、時間単位の指定はできるのでしょうか?

767 :760 :02/09/11 00:01
>>766
時分秒にそれぞれ h、m、s が使えるよ。
*(mh-1) で一時間以内に更新のあったファイル

768 :名無しさん@お腹いっぱい。 :02/09/11 01:03
>>767
mh,mm,msと指定しなければいけないのですか。
ありがとうございました。

769 : ◆CIDts34E :02/09/12 17:34
Cygwinでzshを使っているのですが,
ファイル名にcygpathをかませたい時はどう設定したらよいのでしょう?
例えば,
fiber `cygpath -w -a $(FILE)`
みたいに.
こうすることが出来れば, Win32のアプリケーションとの連携も楽になるのですが...

770 :名無しさん@お腹いっぱい。 :02/09/13 11:00
sudo したときに /sbin /usr/sbin が補完できるようにしたいんですがどうし
たらいいですか?

771 :名無しさん@お腹いっぱい。 :02/09/13 22:08
>>770
普段からPATHに追加しておけば?

772 :名無しさん@お腹いっぱい。 :02/09/14 07:39
*.aaa を *.bbb に一発で変える方法教えて下さい。
mv *.aaa *.bbb じゃ出来ないです。

773 :名無しさん@お腹いっぱい。 :02/09/14 08:42
>>772
% for name in `ls`
for> mv $name `echo $name|sed 's/aaa/bbb/'`


774 :名無しさん@お腹いっぱい。 :02/09/14 09:04
>>773
rename aaa bbb *.aaa
でいいじゃん

775 :名無しさん@Emacs ◆UMAAAAAA :02/09/14 11:41
(゚д゚)ウマー

776 :名無しさん@お腹いっぱい。 :02/09/15 13:23
Linuxじゃないとrenameって入ってないんじゃない?

777 :772 :02/09/15 13:29
そうなんですか。だからうちの FreeBSD には rename(1) がないのか。
>>723さんの方法を使わせてもらってます。

ってか zsh 関係なかったですね。
なんか zsh の機能でズバズバって出来ると思ったのですが。


778 :名無しさん@お腹いっぱい。 :02/09/15 19:11
結局、mv を使う限りループを作らないといけないしね。
もうちょっと簡単に書くと

% for f in *.aaa; do mv $f $f:r.bbb; done

ぐらいか。適当にいじってエイリアス、というより関数を作って
おけば、汎用的に使えるでしょう。

779 :名無しさん@お腹いっぱい。 :02/09/15 19:12
>>777
perl-5.6.1.tar.gz::perl-5.6.1/eg/rename
Linuxだからどうこうとかは関係ありません

780 :名無しさん@お腹いっぱい。 :02/09/15 19:48
4.0.6に対応したeucパッチまだかなぁ、、、

781 :名無しさん@お腹いっぱい。 :02/09/15 19:50
sedはいらないのだ。ムフフ
for f in *.aaa; do mv $f $f:s/aaa/bbb/; done

782 :名無しさん@お腹いっぱい。 :02/09/15 20:12
>>779
明らかにそれとは別物だが…

783 :名無しさん@お腹いっぱい。 :02/09/15 22:28
zshっぽく書くなら
% for f (*.aaa) {mv $f ${f%aaa}bbb}
じゃない?


784 :名無しさん@お腹いっぱい。 :02/09/19 22:26
>>596
この、補完対象にディレクトリを含めるのってどうやればいいのですか?

785 :名無しさん@お腹いっぱい。 :02/09/24 16:30
zsh4.0.6を入れたのですが、StartupFiles/zshrcを使うと
command not found: bindkey
command not found: zstylec
などのエラーが大量にでます。
インストール失敗ですか?

786 :名無しさん@Emacs :02/09/24 17:04
>>785
(゚Д゚)ハァ?

787 :785 :02/09/24 21:51
>>786
スマソ。やり直したらできました。初心者のくせにMakefile弄ったからだ・・・

788 :名無しさん@お腹いっぱい。 :02/09/25 15:29
[質問]

$ cd tmp

と打つと、

cd ~/tmp

のように変換されてヒストリに記録することはできますか?


789 :名無しさん@Emacs :02/09/25 16:04
できません

790 :名無しさん@お腹いっぱい。 :02/09/26 00:04
>>788
その展開の規則が良く分からない。
カレントディレクトリに tmpがなければ、$HOMEを見に行って展開するってことか?


791 :名無しさん@お腹いっぱい。 :02/09/26 08:39
>>790
$CDPATH 見てるんじゃないの?


792 :名無しさん@お腹いっぱい。 :02/09/26 11:24
>>790
最終的には `cd ' と入力したあとに、M-p でヒストリを検索したいのです。

たとえば、

~ $ cd tmp
~/tmp $ cd foo
~/tmp/foo $ cd bar
~/tmp/foo/bar $ cd

ここで、M-p で
cd ~/tmp/foo/bar, cd ~/foo/foo, cd ~/tmp がヒットして欲しい。



793 :名無しさん@お腹いっぱい。 :02/09/26 12:04
AUTO_PUSHD を有効にして cd -TAB... じゃ駄目ですか。

794 :名無しさん@お腹いっぱい。 :02/09/26 14:16
>>793
792じゃないけどサンクスそれカコイイな。

795 :名無しさん@お腹いっぱい。 :02/09/26 14:33
>>793
792だけど、それ(・∀・)イイ!!



796 :名無しさん@お腹いっぱい。 :02/09/26 14:36
(・∀・)イイ!! と思ったが、やっぱ使いにくかった


797 :名無しさん@お腹いっぱい。 :02/09/26 14:39
2つのディレクトリ間を行ったり来たりするのは、「cd -」を
連発すればいいのだが。
3つ、4つのディレクトリ間を行き来するとき、なんかいい方法がないかな。


798 :名無しさん@お腹いっぱい。 :02/09/26 14:46
>>797
pushd, popd とか?

799 :709 :02/09/26 15:22
man見たらわかりました。
autoload -U compinit;compinit -u
でできました。


800 :793 :02/09/26 15:43
>>796
書いておいて何ですが、実は自分も滅多に使いません(w

「-」を打つのがどうも面倒。それに履歴に cd -3 などが残っても
使い廻しに利かないというのもあります。まあ、HIST_IGNORE_SPACE を
有効にしていれば、頭にスペースを入れれば済む話ですが、cd を使うのに
そこまで神経を使いたくないし。

>>797
以前どこかで手に入れた
alias gd='dirs -v; echo -n "select number: "; read newdir; cd -"$newdir"'
というのはどうですか。対話的になってしまいますが。AUTO_PUSHD を有効に
しないと余り効力はありません。

これはそこそこ使ってます。


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

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