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



240 :名無しさん@お腹いっぱい。 :01/12/27 02:52
>>237
tabで展開してからという手もあるけどhistoryがうざくなるから
おすすめはしない。

241 :名無しさん@お腹いっぱい。 :01/12/27 04:33
>>240
展開してから undo してもいいけどね。
量が多いと処理が重いけど(w

242 :名無しさん@お腹いっぱい。 :01/12/27 06:51
>> 237
C-x * して展開して確認した後,C-x u で戻すってのをよくつかいまふ.

243 :名無しさん@Emacs :01/12/27 09:58
色んな機能があるんだな。
漏れは全然使いこなせてないなぁ。前から判ってたけど(w

244 :234 :01/12/27 10:32
>239
あー,そーゆー名前なんすか.良く知らないんですよ,そーゆーの(苦笑)
今はおっしゃるようにスペース入れて補完してからスペース消してるんですけど,
なんだかなーって感じで.まぁこの機能があるだけでも有難いとしとくのがいいのかな.

>243
禿同

C-x * なんて「そーいやそんなドキュメントどっかで読んだなー」ぐらいで
全然覚えちゃいなかった・・・

245 :名無しさん@お腹いっぱい。 :01/12/28 05:25
展開結果をみるのはC-x gでいいみたい。
http://dengaku.org/~naoki/zsh/FAQ-J/zshfaq04-j.html#l43

C-x gを忘れたらtabで展開してからundoすればいいと覚えておくつもり。

246 :さすらいのbashユーザ :01/12/28 13:05
function precmd {
local exit=$?
if [ $exit = 0 ]; then
echo "\033]2;(゚д゚)ウマー\007\c"
elif [ $exit = 255 ]; then
echo "\033]2;( ゚д゚)ポカーン\007\c"
else
echo "\033]2;(゚Д゚)マズー\007\c"
fi
}

ktermとかで遊んでね。
% (exit 0)
% (exit 255)
% (exit 1)

247 :名無しさん@お腹いっぱい。 :02/01/02 02:06
興味あるのでage

248 :名無しさん@お腹いっぱい。 :02/01/09 23:05
興味あるのでage

249 :名無しさん@お腹いっぱい。 :02/01/13 10:32
^L

250 :名無しさん@お腹いっぱい。 :02/01/14 00:17
bashみたいに回数指定のignoreeofってできない?

251 :名無しさん@お腹いっぱい。 :02/01/14 09:45
>>148

http://www.ono.org/software/zsh-euc/zsh-4.0.4-euc-0.1.patch.gz
使ったことはないけど。

252 :名無しさん@お腹いっぱい。 :02/01/14 16:47
>>237
mv **/*hogehoge /tmp てのはどう?

253 :名無しさん@お腹いっぱい。 :02/01/18 02:28
auto correct を設定して data と打ったら cat ? と聞かれるね。
スタートレック思い出しちゃったよ。


254 :名無しさん@お腹いっぱい。 :02/01/18 06:38
zstyle ':completion:*:default' menu select=1 (・∀・)イイ!


255 :タカノ :02/01/18 07:49
>>254
出典は高林さんの日記だな。

256 :名無しさん@お腹いっぱい。 :02/01/18 10:25
>>254
カーソル、使えてもなー。それって、便利か?



257 :名無しさん@Emacs :02/01/18 10:51
>>256
C-f C-b C-n C-p C-a C-pでも使えるよ.
今気付いたけど M-aでどんどん追加できるんね


258 :名無しさん@Emacs :02/01/18 10:55
あー >257 は bindkey -e な時だけだった,-vな人はどうするんだろう‥

259 :名無しさん@お腹いっぱい。 :02/01/18 12:25
>254
スマソが何が起こるのか教えてくれない?
やってみたんだけど何が変わったのかサパーリ分かんねぇ(鬱

260 :名無しさん@Emacs :02/01/18 13:33
補完候補が複数有るとき それらからカーソルとかで選べるようになっちゃう

$ls[tab]
ls lsa lsattr lsd lsdev lspgpot lss16toppm

な時

$ls[tab][tab][C-e]
$lss16toppm

みたいな感じ.

261 :名無しさん@お腹いっぱい。 :02/01/18 14:09
なんか、Enter押す回数が1回増えたような気が。

262 :259 :02/01/18 14:28
>260
えっ?ならないョ・・・(鬱
試しに漏れの .zshrc 読み込まないようにしてもダメだった.
# bindkey -e はやったけど
何故だろう・・・
ちなみに zsh 4.0.4 (i686-pc-linux-gnu)

263 :260 :02/01/18 15:12
げ改行されてない‥260
>262
$autoload -U compinit; compinit
てやってから
$zstyle ':completion:*:default' menu select=1
じゃないとダメでした,てかcompinitするとzshが手軽に便利になりますよ!

264 :名無しさん@お腹いっぱい。 :02/01/18 15:17
>>263
navi2ch使ってるなら1.5にageとけ。


265 :名無しさん@お腹いっぱい。 :02/01/18 16:33
$ autoload -U compinit ; compinit
してもうまくいかないなー とずっと思ってたんだけど、
$ compinstall
したらうまくいったという、マニュアル読めという典型。

266 :259=262 :02/01/18 17:24
>260=263
スマソ,.zshrc の中で
unsetopt auto_menu
してた.
お手数をおかけしました.そしてアリガタウ.

267 :名無しさん@お腹いっぱい。 :02/01/18 23:50
なんかいいdiffのSHスクリプトくれ!

268 :名無しさん@お腹いっぱい。 :02/01/19 00:08
>267

#!/bin/sh
diff $*


# 要求してるモノが何なのか不明だYO!

269 :名無しさん@お腹いっぱい。 :02/01/19 02:36
すまそ!ソースの差分だけを取り出したいのだが
変更前 変更後とかいてファイルに書き出したいのだYO


270 :名無しさん@お腹いっぱい。 :02/01/19 02:45
diff -r じゃだめなの?
zsh 使ってないので全然見当違いなこといってたらスマン。

271 :名無しさん@お腹いっぱい。 :02/01/19 03:22
zsh のバージョンを表示させるのはどうすれば良いのでしょうか?
zsh -v してもダメだし、バイナリ単体で入れちゃったから man も無いのです。
Cygwin で使ってます。

autoload -U compinit
compinit

って .zshrc に書いても

zsh: bad option: -U

って言われちゃいます。
で、もしかしてバージョンが古くて対応していないのかと思ったのですが。

あと、補完機能が便利だと言われていますが、皆さんどんな風に使って
いらっしゃるのでしょうか?
こいつは便利だぜっていうのがあったら教えて下さい。

お願いします。


272 :名無しさん@お腹いっぱい。 :02/01/19 03:29
zsh --version
だろ。man zshallで検索でもすれよ。

273 :名無しさん@お腹いっぱい。 :02/01/19 03:34
"'" すると出てくる >quote って何?
いや、検索するから良いですけど。

Cygwin 版だと

list
zsh: correct 'list' to 'ls' [nyae]?

って感じで訂正されますな。

date -> cat にはならなかった。

274 :名無しさん@お腹いっぱい。 :02/01/19 03:38
>>272
出来ませんでした。
何も表示されません。

zsh --version > version.txt
less version.txt

としても ls の結果が入っているだけでした。
何ででしょう?

275 :名無しさん@お腹いっぱい。 :02/01/19 03:44
echo $ZSH_VERSION
はどうだね。

276 :名無しさん@お腹いっぱい。 :02/01/19 03:48
>>275
おお! どうもありがとう。

% echo $ZSH_VERSION
3.0.5-nt-beta-0.75

だそうです。

3.0.5 か〜。最新は 4.1 か何かですよね。
探してコヨッと。

277 :名無しさん@お腹いっぱい。 :02/01/19 03:53
補完ですが、

・man の後にコマンド名を補完する
・ftp でホスト名を補完する

位しかしてません。

何か面白便利な物がありましたら引き続き教えて下さい。


278 :名無しさん@お腹いっぱい。 :02/01/19 04:13
こんなの見つけた。まだ全部読んでないけど。

http://www.aquahill.net/forte/zsh/completions

quote は "'" で始まってから "'" で括られるまでのプロンプトでした。


279 :名無しさん@お腹いっぱい。 :02/01/19 04:37
>>278
今時は、zstyle ...で定義するんじゃなかったっけ?
でも、漏れは書き方知らない……。

280 :名無しさん@お腹いっぱい。 :02/01/19 08:51
漏れ的には configure のオプション補完はかなり嬉しい部類なんだが.

281 :名無しさん@お腹いっぱい。 :02/01/19 15:50
最近は
autoload -U compinit
compinit
だけでも、かなりのコマンドの引数の補完をしてくれるからねえ。

そうはいっても compctl で記述したのが 30 ぐらい残っている
んだけど。zsh の現状に付いていけているのは、開発にも関わって
いる田中さんを含めて日本には数人しかいないかも(w zsh のユーザ
自体は増えている感じなんだけど、その割には Web 上で得られる
日本語でのリソースは余り増えませんね。

tcsh での set complete = enhance な環境下の補完に近い状況するには、
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z} r:|[-_./]=* r:|=*'
とすればいいでしょう。tcsh でかなり怠惰になっている人には必要
かと思われます。ちょっとは努力することもある人なら、
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z} r:|[-_./]=* r:|=*'
の方がいいかも。

実は、さっき info みて今までの設定と少し変えたのは内緒(w

でも、これは自分で compctl で定義したものには有効にならないんですよね。
当たり前だけど。新しいシステムを憶えるのはかなり億劫なんで、誰か
簡単なやり方教えてちょ。


282 :名無しさん@お腹いっぱい。 :02/01/23 14:53
zshの実行ファイルにアイコンがくっついてる事に今気がついた@Cygwin。
でも……ダサ


283 :名無しさん@Emacs :02/01/23 17:42
>>282
えぇぇぇぇぇ!!! カコ(・∀・)イイ!! じゃん!!!

284 :名無しさん@お腹いっぱい。 :02/01/23 17:46
~/mona/Mail/

~/hoge/main
があって
pwd hoge
cd m [TAB]
ってするとMailとmainが補完対象になるのですが
これを止めることはできますか?

zsh4.0.4です。


285 :名無しさん@お腹いっぱい。 :02/01/23 17:47
~/Mail/

~/hoge/main

の間違いだった。

286 :名無しさん@お腹いっぱい。 :02/01/23 19:50
$CDPATH(cdpath) に ~ が入ってるとか

287 :名無しさん@お腹いっぱい。 :02/01/24 21:59
zstyle ':completion:*:cd:*' tag-order local-directories path-directories
としておくと、カレントディレクトリに候補が無い場合のみ
cdpath 上のディレクトリが候補となる。

zstyle ':completion:*:path-directories' hidden true
としてしまえば、cdpath 上のディレクトリは補完候補から外れる。


288 :aeg :02/01/27 05:21
age

289 :名無しさん@お腹いっぱい。 :02/01/27 16:06
Windows(Cygwin) の Z-Shell で日本語表示・入力出来ますか?
自分でコンパイルしたら文字化けするようになってしまった。
zsh 4.0.4 です。

290 :名無しさん@お腹いっぱい。 :02/01/29 16:36
zshでshellにロックをかけてパスワードを入力しないと
使えないようにするにはどうすればいいのでたっけ?


291 :名無しさん@お腹いっぱい。 :02/01/29 23:39
>>290
man zshallをlockやpasswordで検索してみたけど
そういう機能はなさそう。

とりあえずscreen使っとけ。

292 :名無しさん@お腹いっぱい。 :02/01/29 23:43
>>291
> man zshallをlockやpasswordで検索してみたけど
> そういう機能はなさそう。

ですよね。自分も見付からなかったのです。
screenでzshを使っていると時々ロックできる
のでzshの機能かと思ってました。

> とりあえずscreen使っとけ。

screenの方だったのですね。
C-z C-xで出来ました。


293 :名無しさん@Meadow :02/01/31 21:18
あるディレクトリ以下に含まれるファイルサイズの合計をを知りたいときはどう
したらいいですか?


294 :名無しさん@お腹いっぱい。 :02/01/31 21:20
それってzshの機能?
du -h
じゃなくて?

295 :名無しさん@お腹いっぱい。 :02/02/01 00:09
zshとは関係無しまくりだけど
du -sh [path]
で指定したディレクトリ以下の合計サイズ

296 :名無しさん@お腹いっぱい。 :02/02/05 10:21
bindkey "^[h" backward-kill-word
としていて便利なのですが
lsと打っている時に、ESC-hでlsのmanを
見るキーバインドとだぶってしまいました。

どうにかかわすにはどうすればいいのでしょうか?

297 :名無しさん@お腹いっぱい。 :02/02/05 11:43
そりゃあ、だぶってバインドさせてるんだから
仕方がないでしょう。^[^H にバインドするんで
は駄目なんですか?

298 :名無しさん@お腹いっぱい。 :02/02/05 12:06
>>296
Ctrl + w


299 :名無しさん@お腹いっぱい。 :02/02/05 12:26
>>298
最初からC-wに割り当てられていたんですね。
ありがとう。


300 :名無しさん@お腹いっぱい。 :02/02/08 19:05
>>289
できてます。


301 :名無しさん@お腹いっぱい。 :02/02/10 00:52
>>300
可能ならば、どの端末エミュレータを使っているか、どこから取ってきたソースか、
configure のオプション、Windows のバージョン等教えて貰えないでしょうか。

302 :名無しさん@お腹いっぱい。 :02/02/10 00:53
man

killall
次にくるコマンドが補完が効かないなり。
どうしようなりキテレツ。


303 :名無しさん@お腹いっぱい。 :02/02/10 13:13
manpathは設定してるッスか?
killallは使ってないからわからんッス。
キテレツ君、なんとかしてやってほしいッス。


304 :殺すけ :02/02/10 13:55
>>303
> manpathは設定してるッスか?

~/.zshrcにはこういているなり。

typeset -U path cdpath fpath manpath
manpath=($X11HOME/man /usr/local/man)
export MANPATH

% man a[TAB]
No matches for: `file'

こうなってしまうなり。
これが出来ないとブタゴリラにいじめられるなり。


305 :名無しさん@Emacs :02/02/10 14:05
~/.zshrcに

autoload -U compinit; compinit

って書くのが良いと思うよ.
でも,多機能すぎて嫌なら

compctl -c man

ってのが有るね.

306 :名無しさん@お腹いっぱい。 :02/02/10 17:00
a=aiueo
echo $a[1]
ということも
できるのか


307 :名無しさん@お腹いっぱい。 :02/02/10 17:07
a[2]=a
もできる

308 :トンガ痢 :02/02/10 17:53
>>304
>manpath=($X11HOME/man /usr/local/man)

関係ないけど、
${X11HOME} って書いたほうがいいと思うな。

パパの友達のテレビ局の社長が、
manpath=(/usr/{pkg,local,share,X11R6}/man)
autoload -U compinit; compinit
って感じで
できてるって言ってたよ!


309 :トンガ痢 :02/02/10 17:55
ああっ、
>>305 とかぶった..
ママァ〜〜


310 :名無しさん@お腹いっぱい。 :02/02/10 18:02
w3mの引数の補完させるとhistoryとかまで
読んでくれるくせに-e/-j/-sに対応して
ないんだよね。環境ごとにalias w3m="w3m -s"
とかやっているんでハマった。

311 :ずぃーしぇる :02/02/10 19:15
>>44
いまさらですが…

ずぃーしぇる、って呼んでます。

312 :名無しさん@お腹いっぱい。 :02/02/11 17:09
cygwinで4.0.4使ってます。

補完関係に関しては、
autoload -U compinit; compinit
ぐらいしかやってませんが、ファイル名等を^Iで
補完する時にしょっちゅう

_normal:26: bad math expression: operator expected at `0'

と言われてしまいますが、同じような症状の方、います?

313 :名無しさん@お腹いっぱい。 :02/02/12 08:50
.zshrc:
[[ -r $SSH_AUTH_SOCK ]] || unset SSH_AUTH_SOCK SSH_AGENT_PID
if [[ -z $SSH_AUTH_SOCK ]]; then
set -A a /tmp/ssh-*/*(UN=)
[[ -n $a ]] && export SSH_AUTH_SOCK=${a[-1]}
unset a
fi

.zlogout:
[[ `who | grep "^${LOGNAME[0,8]}" | wc -l` -le 1 ]] && ssh-add -D
echo 'NO CARRIER'


314 :名無しさん@お腹いっぱい。 :02/02/17 14:46
cygwinで

cd /cygdrive/d/^I
(実際にはmountしてるので cd /d/^I だが)

とかやると補完が効かないんですが
何か方法はありますか?

315 :uri complete :02/02/18 13:20
uri を補完させてます。
ネスケのヒストリ、ブックマークと w3m のブックマークから
持って来る。
それで、 zshell では、expand-or-complete を使う。

316 :名無しさん@お腹いっぱい。 :02/02/20 03:33
ネタが無いようなので、質問します

zsh
tcsh
bash

↑これらは一般的には何て読むんですか?


317 :名無しさん@お腹いっぱい。 :02/02/20 09:28
おまえ
アホ
ちゃうんか

318 : :02/02/20 09:53
>>316
ネタが無いようなので、質問します

zsh
tcsh
bash

↑これらをあなたは何て読むんですか?

319 :雑種 :02/02/20 13:50
bash : ばっしゅ
tcsh : てぃっしゅ
zsh : ざっしゅ

320 :名無しさん@お腹いっぱい。 :02/02/20 14:40
bash : ばっしゅ
tcsh : てぃーしーしぇる
zsh : ぜーた

別にヲレはガンダムヲタではないんだがな

321 :名無しさん@お腹いっぱい。 :02/02/20 15:16
>>319
sh
↑これをあなたは「しゅ」ってよんでるの?

322 :名無しさん@お腹いっぱい。 :02/02/20 16:48
zsh : ぜっとしぇ

323 :名無しさん@お腹いっぱい。 :02/02/20 16:57
323ゲットォォォォォ
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      zshーーーーーッ


324 :319 :02/02/20 18:11
> 321
sorry, neta desu.

325 : :02/02/20 23:36
export DISPLAY=[tab]
ってすると .rhost にあるホスト名を元にして
名前を補完してほしいんですが
どうやればいいですか?


326 :名無しさん@お腹いっぱい。 :02/02/20 23:41
>>316
こっちでやれ。
http://pc.2ch.net/test/read.cgi/unix/979465046/

327 :名無しさん@お腹いっぱい。 :02/02/21 14:53
慎重に吟味した結果bash2の方が俺的には価値あり。
さよなら〜

328 :名無しさん@お腹いっぱい。 :02/02/21 23:35
>>327
> 慎重に吟味した結果bash2の方が俺的には価値あり。
もっと詳しく語って欲しいなあ・・


329 :名無しさん@お腹いっぱい。 :02/02/22 01:32
それならbash2スレ立てろよぅ。参考にさせて頂くからさ。

330 :名無しさん@お腹いっぱい。 :02/02/22 02:30
>329 たいへん頭の弱そうなタイトルだが、もうある。
bashで補完スレ
http://pc.2ch.net/test/read.cgi/unix/1013019416/

331 :名無しさん@お腹いっぱい。 :02/02/22 08:55
>>330
ワラタ
たしかに頭の悪そうなタイトルだ。

332 :雑種 :02/02/22 11:41
> 330, 331
他のプログラムの悪口なんか言わなくても
zsh は十分素晴らしいよ. なかよくすれ.

333 :名無しさん@お腹いっぱい。 :02/02/22 12:03
bash2 は right prompt あるんですか?

334 :名無しさん@Emacs :02/02/22 12:17
mona@2ch$ ~/home/mona ←カコ(・∀・)イイ!!

335 :名無しさん@お腹いっぱい。 :02/02/27 18:14
最近の ssh2 はホスト名のあとに IP をくっつけるからこれじゃぁ
取り出せなくなっちゃった・・。カンマで split したいけど、どうしよう?

_sshhosts () {
reply=(` cut -d' ' -f1 ~/.ssh/known_hosts `)
}


336 :名無しさん@お腹いっぱい。 :02/02/27 21:49
cut -d' ' -f1 ~/.ssh/known_hosts | cut -d, -f1
にすればいいだけという話ではない?

ついでに質問。
redhat 6.2用のzsh 4.0.xのrpmがみつからないんだけど
どっかにあったら教えて。

337 :名無しさん@XEmacs :02/02/28 10:16
>>335
hosts=( ${(M)${(@f)"$(< ~/.ssh/known_hosts)"}##[^, ]#} )

のほうが速いかも?


338 :名無しさん@お腹いっぱい。 :02/02/28 16:45
さんくす! >>336
こりゃ便利。

339 :名無しさん@お腹いっぱい。 :02/03/01 02:56
>>337
出来たら解説してくれると嬉しい
正直何やってんのかサパーリ分からぬ(鬱


次100 最新50 (10:00PM - 03:00AM の間一気に全部は読めません)

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