1 :名無しさん@お腹いっぱい。2008/12/12(金) 00:54:20
2 :名無しさん@お腹いっぱい。2008/12/13(土) 10:29:37
俺たちの zsh スレが復活したぞ!!
3 :名無しさん@お腹いっぱい。2008/12/13(土) 20:44:29
前スレは6レスで落ちたけどねw


今日本買ってきたで
4 :名無しさん@お腹いっぱい。2008/12/13(土) 20:55:59
>>3
あの本は流し読みしたけど、大体知ってることだし、
screenも触りだけだったので買わなかった。
6 :名無しさん@お腹いっぱい。2008/12/14(日) 06:19:37
「zsh-最強シェル入門-」サポート
http://lpic.jp/zsh/

こういうんを著者個人のサイトでやる時代なのか
7 :名無しさん@お腹いっぱい。2008/12/16(火) 21:40:01
zsh関連の効率の良い情報収集法って無い?
今のところ http://delicious.com/tag/zsh
である件数以上のをピックアップするのが一番効率的なんだけど。
もっと良い方法があれば。
9 :名無しさん@お腹いっぱい。2008/12/18(木) 20:06:53
ついに立ったな
今度こそはスレ落ちさせないからな覚悟しろ!
10 :名無しさん@お腹いっぱい。2008/12/18(木) 22:18:56
Alt押しキーをキーバインドする方法ってありますか?
↓みたいな感じでできるといいんですが
bindkey "Alt+F" forward-char
11 :名無しさん@お腹いっぱい。2008/12/18(木) 22:41:23
bindkey "^[f" forward-char
12 :名無しさん@お腹いっぱい。2008/12/18(木) 23:09:55
>>11
ありがとうございます
^[はAltに対応してるということですか?

かなりググったつもりですが、全然情報が見つからなくて・・・
調べ方が悪いのかしら
14 :名無しさん@お腹いっぱい。2008/12/19(金) 22:54:05
ユーザ名やホスト名の補完って抑制できんの?
scp でタブ押すとカレントの一覧に混じって大量のユーザ名が混じってくれやがる
15 :名無しさん@お腹いっぱい。2008/12/20(土) 00:16:36
後藤大地の記事よめ
16 :名無しさん@お腹いっぱい。2008/12/20(土) 00:51:34
>>15
読んだがなかったぞおぃ
20 :名無しさん@お腹いっぱい。2008/12/20(土) 19:44:05
すっかり忘れられたな
http://wiki.fdiary.net/zsh/
21 :142008/12/20(土) 21:25:11
_ssh見てみたけど、zsh歴半月の自分には分かるわけもなく・・・
さんざんググってzstyleの勉強をしようと思ったけど、日本語じゃ初心者向けの解説サイトは皆無だね。
まぁ実際むずいしハンパな素人にはそもそも無理か。

で、結局compdef -dというのを知った。
補完やりすぎなんじゃゴラァってときは、とりあえずこれで解除しとけばいいわけだな。
24 :名無しさん@お腹いっぱい。2008/12/22(月) 11:47:46
これでどうかな・・・
_ssh から _scp オプションの部分だけを抜き出したんだけど。
25 :名無しさん@お腹いっぱい。2008/12/28(日) 18:46:11
デフォルトログインシェルをzshにしてるディストリはねーのか?
ちんたらやってたらいつまで経っても普及せんぞ
27 :名無しさん@お腹いっぱい。2008/12/31(水) 13:28:18
bashでは--rcfileで初期化ファイルを指定できますが
zshでも同じことができませんか
zsh -h したけど、それらしいのはありませんでした。
28 :名無しさん@お腹いっぱい。2008/12/31(水) 15:26:17
man zshoptions
29 :名無しさん@お腹いっぱい。2008/12/31(水) 16:00:52
>>28
だからそれらしいのは見つからないんですけど。
30 :名無しさん@お腹いっぱい。2008/12/31(水) 18:55:15
年の瀬の逆切れは趣きがあってよい
31 :名無しさん@お腹いっぱい。2009/01/01(木) 16:31:26
>>27
zshには--rcfile相当の機能はないよ。
28がマニュアル読めっていっているのは、自分もしらないから。
自分が知らないから、マニュアル読めというしかないじゃん。察してやれ。
32 :名無しさん@お腹いっぱい。2009/01/01(木) 16:40:03
>>30
これは・・・自分の無知をごまかすだけの自称上級者様ではないですか!
あけましておめでとうございます。
33 :名無しさん@お腹いっぱい。2009/01/01(木) 21:57:53
必死にマヌアル読んだ俺カワイソス
37 :名無しさん@お腹いっぱい。2009/01/07(水) 20:27:02
zshって名前にしたの誰だ?
我最強なり的な傲慢さがあっていいよな
40 :名無しさん@お腹いっぱい。2009/01/09(金) 03:16:02
>>37
これから次世代シェルを作ろうって思ってた奴は歯がゆく思ってんだろうな
俺がzを使うはずだったのにィってw
49 :名無しさん@お腹いっぱい。2009/01/09(金) 17:39:14
誰か日本語でわかりやすく補完用関数の書き方教えてくれー。
52 :名無しさん@お腹いっぱい。2009/01/10(土) 00:26:21
orzsh
54 :名無しさん@お腹いっぱい。2009/01/10(土) 01:19:47
bindkey -v だとコマンドラインスタック使えんのか

>>52 なんか(・∀・)イイ!!
55 :名無しさん@お腹いっぱい。2009/01/10(土) 03:31:32
使えるだろ
57 :名無しさん@お腹いっぱい。2009/01/10(土) 18:12:32
>>52
いいなそれw
誰か作って
58 :名無しさん@お腹いっぱい。2009/01/10(土) 19:11:40
scp のリモート側に*を使ってるとno matches found:ってなる。接続前に展開しようとするからかな?
なんか方法ないすかね?
59 :名無しさん@お腹いっぱい。2009/01/10(土) 19:53:24
\*
60 :名無しさん@お腹いっぱい。2009/01/10(土) 20:44:02
>>59
ありやす!エスケープするのね

#でも、リモートのパス中の*はデフォで\*として解釈してくれたらいいのに
61 :名無しさん@お腹いっぱい。2009/01/10(土) 20:54:40
>>60
> #でも、リモートのパス中の*はデフォで\*として解釈してくれたらいいのに
だれが解釈してると思ってんの?
62 :522009/01/10(土) 21:55:10
うっかり書いてしまった。
今は反省している。
つかどんなシェルだよw
65 :名無しさん@お腹いっぱい。2009/01/11(日) 01:38:10
>>61
誰も何も、ローカル側のzshでしょ?
リモート側で*を展開する仕事をするのはリモート側のsshdとか、そんなんでしょ?
66 :名無しさん@お腹いっぱい。2009/01/11(日) 01:50:33
>>55-56
良く調べもしないですんません、ありがとう!
すごく…快適です…

( なお、うちの環境では
setopt NOFLOWCONTROL
の追加が必要でした )
67 :名無しさん@お腹いっぱい。2009/01/11(日) 11:57:28
>>65
> 誰も何も、ローカル側のzshでしょ?
シェルがsshの構文知ってるわけないやん。
> リモート側で*を展開する仕事をするのはリモート側のsshdとか、そんなんでしょ?
sshd が、* を解釈するわけないやん
68 :名無しさん@お腹いっぱい。2009/01/11(日) 12:40:54
alias scp='noglob command scp'
69 :名無しさん@お腹いっぱい。2009/01/14(水) 09:51:19
>>68
それやったらローカルの*も効かなくなるじゃん。bashのように
scp hoge* remote:
scp remote:hoge* .
ってやりたいってことだろ。

まぁzshの慣習に従って素直に\使えってこったな。長いものには巻かれろ。
70 :名無しさん@お腹いっぱい。2009/01/14(水) 09:55:49
> zshの慣習に従って素直に\使え

そんな慣習? zsh???

unix の shell の慣習って言うんならわかるけどサ
71 :名無しさん@お腹いっぱい。2009/01/14(水) 13:12:09
>>69
glob の挙動は、setopt で制御できる。
> scp hoge* remote:
> scp remote:hoge* .
こういう書き方するやつは信用できない。
75 :名無しさん@お腹いっぱい。2009/01/15(木) 00:33:53
bindkey "^/" undo
と.zshrcに書き込んでもC-/でundoができるようにならないのですが、
どう表記すれば良いのでしょうか?
76 :名無しさん@お腹いっぱい。2009/01/15(木) 05:49:50
^/ なんて文字は存在しないから。
たぶん "^_"
77 :名無しさん@お腹いっぱい。2009/01/15(木) 08:11:28
>>76
"^_"と設定すると、C-_では動きますがC-/はやはり動きません。
ぐぐってみたら"^/"や"^\/"と書かれた.zshrcを見かけたので、
環境が悪いんですかね?
78 :名無しさん@お腹いっぱい。2009/01/15(木) 10:04:32
man ascii (FreeBSD限定?)とかして
ASCII コードのビットコードをよーく眺めるんだ

H と ^H と BS の関係とかな
79 :名無しさん@お腹いっぱい。2009/01/15(木) 11:48:10
>>76,78
asciiコード表とにらめっこしてきました。
Ctrl+/で生成される制御文字は存在しないから"^/"にはbindkey
しても意味がない、ということですか?
80 :名無しさん@お腹いっぱい。2009/01/15(木) 12:19:01
そんなところだね。
Ctrl+/で端末が何を送ってくるか、あるいは何も送らないのか、
cat | od -c を実行して Ctrl+/、改行、Ctrl+Dを入力するとかして調べてみれば。
81 :名無しさん@お腹いっぱい。2009/01/15(木) 14:48:40
setopt glob_complete にすると、マッチしたものを展開しなくなり、
同時に最初の候補に切り替わりますよね。例えば

% ls
tmp1 tmp2 tmp3

% ls tmp*      ← この状態でタブを押すと

% ls tmp1      ← 最初の候補「tmp1」になるのですが
tmp1 tmp2 tmp3

tmp*のままにしておくにはどう設定すればいいんでしょうか?
82 :名無しさん@お腹いっぱい。2009/01/18(日) 14:50:30
bindkeyで設定したものが子プロセスのzshに反映されないので困ってます。
.zshrcに

bindkey "^P" history-beginning-search-backward-end

と書いていて、ログイン時のzshでは動くんですが、

% zsh

でサブシェルを立ち上げたときにこのキーバインドが反映されないのです。
screenで起動したときも同じ現象になるのでどうにかしたいのですが、どうすればいいか教えてほしいです。
83 :名無しさん@お腹いっぱい。2009/01/19(月) 22:19:03
>>82です。
具体的にはこんな感じです。

% bindkey "^p"
"^P" history-beginning-search-backward-end

% zsh

% bindkey "^p"
"^P" up-line-or-history

% zsh --version
zsh 4.3.4 (powerpc-apple-darwin9.0)


よろしくおねがいします。
85 :名無しさん@お腹いっぱい。2009/01/28(水) 19:11:05
zshだと、
?# date "+%s"
?# echo foo
?# date "+
ここで↑キー押しても「echo foo」と1つ前のヒストリが表示されてしまいますが、
tcshのように?で↑キー押すと「date "+%s"」と補完するようにはできないでしょうか?
86 :名無しさん@お腹いっぱい。2009/01/28(水) 19:22:05
ESC-p
あるいは適当なキーをhistory-search-backwardにバインドすれば?
88 :872009/01/28(水) 20:33:14
すいません、できました。
>>86 ありがとうございます。
90 :名無しさん@お腹いっぱい。2009/02/01(日) 17:07:24
普通はそんなもん買わんよ
ネットと2chで事足りるj
91 :名無しさん@お腹いっぱい。2009/02/01(日) 17:10:52
>>90
うん,ネットと2chで事足りることしか書いてない…orz
93 :名無しさん@お腹いっぱい。2009/02/01(日) 17:13:38
補完の書き方とか超絶難解な変数展開とか、zsh独特でかつややこしいところが
書いてあれば欲しいのだけど、目次みた限りでは書いてなさそうね……
94 :名無しさん@お腹いっぱい。2009/02/01(日) 19:22:08
zsh スクリプト書きまくりだと何が互換性があるのかないのか判らなく
なってくる。まあ自分だけしか使わないから一向に構わないのだが。
95 :名無しさん@お腹いっぱい。2009/02/01(日) 20:27:11
シェルスクリプトの互換性がよく問題になるのは、「純正sh」用のスクリプトとして書くせいだからね。
zsh専用のスクリプトとして書くぶんには、他のシェルとの互換性なんか気にする必要はない。
97 :名無しさん@お腹いっぱい。2009/02/02(月) 14:35:46
なぁに、世の中に zsh 以外など(実用上)存在しないと
見切れば問題ない
104 :名無しさん@お腹いっぱい。2009/02/03(火) 00:11:08
for i in {000..123}; do wget …
が期待通り動いた時には感動した
106 :名無しさん@お腹いっぱい。2009/02/03(火) 00:39:34
これ使っちゃうと他使うのがつらくなるので
zshは封印気味
107 :名無しさん@お腹いっぱい。2009/02/03(火) 03:39:16
他のシェルなんて、本当に必要な時以外使わなければいいじゃない、とか言ってみる。
堕落すると楽になるぞ〜w
112 :名無しさん@お腹いっぱい。2009/02/08(日) 18:56:08
途中カキコしてしまいました。すいません
何も入力がない状態でTABキーを押すと、lsを実行し、候補の一つを表示させるにはどうしたらいいでしょうか?
素の状態ではTABでカーソルが移動するだけです・・・
113 :名無しさん@お腹いっぱい。2009/02/08(日) 20:41:20
何も入力がない状態だと欲しいのはコマンドの候補じゃないの? そこにあるファイルではなく。
114 :1132009/02/08(日) 22:27:34
コマンド候補だと数が多いので…
使うコマンドも多くありませんし、それならカレントディレクトリの内容を表示したほうが有益かと思いました
115 :名無しさん@お腹いっぱい。2009/02/08(日) 22:53:18
昔 zsh を推奨するためのネタ一覧で
「ディレクトリを移るのに一々 cd と打つ必要がない」
ってので目を丸くしたのを思い出すな…
116 :名無しさん@お腹いっぱい。2009/02/09(月) 15:16:42
auto_cdは使えるだろ
もちろん、使ったほうが速い場合だけ使うわけだが
117 :名無しさん@お腹いっぱい。2009/02/09(月) 16:06:09
zshスクリプトで~/.zshrcを自動で読ませる方法ないですか?
今は #!/bin/zsh の真下に source ~/.zshrc を入れてるんですが、毎回書くのも面倒なので
118 :名無しさん@お腹いっぱい。2009/02/09(月) 17:54:55
.zshenv
120 :名無しさん@お腹いっぱい。2009/02/12(木) 16:40:56
インストールしたパッケージのコマンド (ns) に対する補完が期待した挙動ではなかったので
(具体的には、ns [tab] でカレントディレクトリのファイル名を補完して欲しいのに、host が補完
されてしまう) 。
$FPATH を調べてみたところ _hosts ファイルで compdef されているのが見つかりました。
そこで _hosts ファイル一行目の #compdef から ns を削ったのですが、それでも ns コマンドに
対する補完は期待した挙動にはならず _hosts ファイルでの設定を引きずっています。
デフォルトで設定された挙動を解除するためには他にどのような手順を取るべきでしょうか。
121 :名無しさん@お腹いっぱい。2009/02/13(金) 08:16:19
>>120
$HOME/.zshrcでcompinitより後に
compdef _files ns
とか
122 :名無しさん@お腹いっぱい。2009/02/13(金) 11:42:05
>> 121
すばらしい。ありがとうございます。
123 :名無しさん@お腹いっぱい。2009/02/24(火) 16:33:45
r って押すと直前のコマンド実行するのを抑制する設定ありますか?
124 :名無しさん@お腹いっぱい。2009/02/28(土) 15:56:28
タブをどんどん押していって補完ディレクトリ名を次々切り替えていくとき、
名前の最後に/を付加しないようにできませんかね?
そのディレクトリでおkってときは手動で/を付加する、という形にしたい
125 :名無しさん@お腹いっぱい。2009/02/28(土) 18:03:26
むしろデフォルトはそうなってますけど

AUTO_PARAM_SLASH <D>
If a parameter is completed whose content is the name of a
directory, then add a trailing slash instead of a space.

126 :1242009/03/03(火) 12:27:15
いや、それじゃなくて

例えば、カレントディレクトリにhoge hoge1 hoge2というディレクトリがあって
$ ls h
と打ってタブを押すと
$ ls hoge
まで補完されて、さらにをタブ押すと
$ ls hoge
hoge hoge1 hoge2
と候補が下にリストされ、さらにタブを押すと
$ ls hoge/
となる。このディレクトリ 以下に行きたいときは/を追加して
$ ls hoge//
とすると補完対象がhogeディレクトリ以下に切り替わる。
で、この/がダブるのが何か気持ち悪いってだけの話っす。

まぁ見た目だけの問題だけど・・・
127 :名無しさん@お腹いっぱい。2009/03/03(火) 12:35:00
>>126
自分では
ls hoge/
のところでEnterを押して確定していた。

/を押しても確定するって初めて知ったから試してみたけど、
ls hoge//にはならずに、ls hoge/のままの表示になるぞ。
128 :名無しさん@お腹いっぱい。2009/03/03(火) 15:52:27
>>127
autoremoveslashしてるとそうなるね。

確定するときはその方が/をダブらないぶんスマートだけど、ディレクトリで終わるコマンドの場合
末尾の/が取り除かれた状態でhistoryに残るが嫌なんだよね。(ディレクトリの最後は常に/で終えたい)

まぁこの辺は個人の嗜好だし、しょうがないか・・・
129 :名無しさん@お腹いっぱい。2009/03/08(日) 08:00:23
最近attr.cでコンパイルエラーになる
早く直してくれ > 誰か
131 :名無しさん@お腹いっぱい。2009/03/08(日) 17:07:37
attr.cって3月4日に入ったんだ。
*attr関数をLinuxあたりに決め打ちしてるんだな。
ちゃんとconfigureしろとレポート送っておきました。
134 :名無しさん@お腹いっぱい。2009/03/23(月) 22:20:19
function chpwd()を使って、cdを行った後、画面クリア>ls -lを実行、としようと思いました。
function chpwd() { clear;ls -l } だと、画面最上部にプロンプトが出ません。
今、PROMPTとRPROMPTにはパスやユーザ名やマシン名を出しているのですが、
画面クリア後、両プロンプトを出してからls -lの結果を出すようにはできませんか?
135 :名無しさん@お腹いっぱい。2009/03/28(土) 01:07:15
>>134
clear; echo $PROMPT; ls -l
じゃダメ…だよね。右プロンプト出ないしな。
136 :名無しさん@お腹いっぱい。2009/04/03(金) 15:13:14
zsh の completion で

rm <TAB>

としたときは、補完候補にディレクトリを含めず

rm -r <TAB>

としたときは、補完候補にディレクトリを出して欲しいのですが、どのような補完関数を書けば出来ますかね。
137 :名無しさん@お腹いっぱい。2009/04/03(金) 17:21:19
>>136
> としたときは、補完候補にディレクトリを含めず

それではカレントディレクトリ以外にあるファイルを対象にできないのでは?
138 :名無しさん@お腹いっぱい。2009/04/04(土) 00:10:25
>>137
あーなるほど。なかなかうまくいかないもんですね……

tar xvf hoge.tar.gz
した後に
rm ho<TAB>
とすると hoge/ に先にマッチするのが嫌だったのです。
139 :名無しさん@お腹いっぱい。2009/04/10(金) 23:22:02
シェル関数の中で、その関数からだけ見えるローカル関数って
定義できませんか?

下請的に何度も使うけど、人が直接呼ぶことはないので、
表に出したくない、といったところです。
140 :名無しさん@お腹いっぱい。2009/04/11(土) 08:29:31
初歩的な質問で申し訳ないのですが、モジュールとファンクションの違いがよくわかりません。
モジュールの読み込みにはzmodload、ファンクションの読み込みにはautoloadを使うんでしょうか?
141 :名無しさん@お腹いっぱい。2009/04/11(土) 10:59:34
モジュール
Cで書かれた機能拡張。
zshコンパイル時に組み込むように指示することも出来る。

ファンクション
シェルスクリプトで定義する。
142 :1402009/04/11(土) 15:47:30
>>141
ありがとうございます。なるほど、そういうことですか。
というか普通、モジュールという言葉はコンパイル済みの部品を指すものですよね。変に考えてしまいました・・・

ファイルの場所は、私のzshのバージョンだと以下ですね。
モジュールは /usr/lib64/zsh/4.2.6/zsh/
ファンクションは /usr/share/zsh/4.2.6/functions/

autoload -U などのオプションの意味を知ろうとググっても、日本語ではなかなかヒットしないものですね。
結局 http://zsh.sunsite.dk/Doc/Release/zsh_toc.html などのdocに辿り着きました。
でもなんでmanが用意されてないんでしょう・・・zshの全情報のmanを作ると膨大な量になるからでしょうかね?
143 :名無しさん@お腹いっぱい。2009/04/11(土) 16:24:47
zshのマニュアルは長大なので、いくつかに分割されている(とman zshすると書いてある)。

man zshbuiltinsでautoloadを探すと、
Equivalent to functions -u, with the exception of -X/+X and -w.
(-X/+X -wを除いて functions -u と等価)
ということなので、functionsの説明を参照すると
Equivalent to typeset -f, with the exception of the -M option.
(-Mオプションを除いて typeset -f と等価)
ということなので、typesetの説明を参照すると
-U <略> This flag has a different meaning when used with -f; see below.
(このフラグは-fと一緒に使うと違う意味になる。下記参照)
ということなので、もうちょっと下にある -f の説明を読む。
The -u and -U flags cause the function to be marked for
autoloading; -U also causes alias expansion to be suppressed when
the function is loaded.
(-uおよび-Uフラグは関数に自動ロードの印を付ける。-Uはさらに関数ロード時の
エイリアス展開を抑制する)

typesetは(も)複雑すぎる。
144 :1402009/04/11(土) 17:24:46
>>143
manあるんですね。失礼しました。
zshのドキュメントの多さと複雑さには気が遠くなりますが、食らい付くしかないですね・・・

どうもありがとうございました。
145 :名無しさん@お腹いっぱい。2009/04/14(火) 13:22:51
コマンドスタックってEsc+qの他にCtrl+qでもできるんだ
こっちのほうがやりやすいな
146 :名無しさん@お腹いっぱい。2009/04/27(月) 22:51:31
>>142-144
探すの面倒だから、ついman zshallとかしちゃうw

そういえば、未だにLISTMAX=-1が無制限とか大嘘書いてるサイトがあるんだな
147 :名無しさん@お腹いっぱい。2009/04/28(火) 16:25:07
LISTMAX=-1は問答無用で表示だと思ってたが違うの?
LISTMAX=-100とかやっても変わらないんだが
148 :名無しさん@お腹いっぱい。2009/04/28(火) 23:54:37
ちゃんとmanに書いてある

LISTMAX=N とすると、
N > 0 -- N行以上のとき訊く
N = 0 -- 画面からはみ出るとき訊く
N < 0 -- (-N)行*以下*のとき訊く

-1は兎も角、-100はすぐ気付くと思うけど
149 :名無しさん@お腹いっぱい。2009/04/29(水) 17:41:09
>>148
あほんとだ、/binや/usr/binしか見てなかったから気づかんかった・・・アホスw
まぁ普通はLISTMAX=0だよな

ところでmanには↓のように書いてあるが
If the value is negative, the list will be shown if it spans
at most as many lines as given by the absolute value.
「the list will be shown」ってのは「the asking message will be shown」みたいに言うべきじゃないかな?
150 :名無しさん@お腹いっぱい。2009/05/02(土) 20:45:17
ls -1 ./dir/* > tmp

見たいにして、ディレクトリ中のファイルの一覧を作ってるんだけど、 zsh でやると

^[0m^[0m./dir/a^[0m
^[0m./dir/b^[0m
^[0m./dir/c^[0m
^[m

見たいにエスケープシーケンスがついてしまう。
このエスケープシーケンスがつかないようにするにはどうすればいいんでしょうか?

とりあえずは、
sh -c "ls -1 ./dir/* > tmp"
で回避できるんだけど。
151 :名無しさん@お腹いっぱい。2009/05/02(土) 20:57:38
>>150
\lsや/bin/lsだとどうなる?
152 :名無しさん@お腹いっぱい。2009/05/02(土) 21:06:32
>>151

ありがとう。エスケープシーケンスなくなった。
でも、なぜこれだとだいじょうぶなんだろう。
ls だけだと 組み込みの ls を使うとかそういうことですか?
153 :名無しさん@お腹いっぱい。2009/05/02(土) 21:09:02
zsh -f できどうしてもそうなる?
154 :名無しさん@お腹いっぱい。2009/05/02(土) 21:10:58
>> 153

zsh -f だとだいじょうぶみたい。
これは、zshrc のせいってことでしょうか?
157 :名無しさん@お腹いっぱい。2009/05/02(土) 22:44:27
どの色付きlsかにもよるが、GNU coreutilsのlsだと、
ls --color=auto
で、出力先が端末の場合だけ色が付く。

ただ、ページャに食わせた場合も色が付かないことになるので、
色を認識できるページャを使っている場合に味気ないかもしれない。
158 :名無しさん@お腹いっぱい。2009/05/03(日) 01:48:35
>>157
うちは --color=auto だったから>>150と同じ結果にならなかったのね
知らなかった
160 :名無しさん@お腹いっぱい。2009/05/03(日) 14:42:54
>>153
-fって何?
.zshrcを読み込まないとか?
163 :名無しさん@お腹いっぱい。2009/05/14(木) 11:17:03
fpathの設定ってzshがログインシェルじゃないと自動でやってくれないみたいですね。
自分で設定すればいいかと思ったのですが、ログインシェルがbashの状態で、.zshrcに
fpath=(${fpath} /usr/share/zsh/site-functions /usr/share/zsh/4.2.6/function)
を追加した上でzshを起動しても、相変わらず↓のエラーが出るのですが、何故でしょうか?
zsh: compinit: function definition file not found
164 :名無しさん@お腹いっぱい。2009/05/18(月) 09:34:37
補完候補、アルファベット名より漢字名が先に並ぶんだけど

$ ls <Tab>
亜 a あ

どゆルール?
166 :名無しさん@お腹いっぱい。2009/05/19(火) 10:51:01
>>164
試した
同じ結果になった
168 :名無しさん@お腹いっぱい。2009/05/20(水) 18:00:39
OSのロケールがそういう奇天烈なcollationを定義しているからじゃないのかな?
169 :名無しさん@お腹いっぱい。2009/05/22(金) 20:14:31
補完についての質問です。
cdでカレントディレクトリのhomeにというディレクトリに移動したいとき
cd h[Tab]
と入力すると、~hogeなどのユーザーのホームディレクトリも補完候補
にでてしまます。これを消すにはどうすればいいですか?
170 :名無しさん@お腹いっぱい。2009/05/22(金) 20:18:27
>>169
setopt nocdable_vars
171 :名無しさん@お腹いっぱい。2009/05/22(金) 20:23:54
>>170
できました。
ありがとうございます。
172 :名無しさん@お腹いっぱい。2009/05/23(土) 21:34:13
bashのnohupと類似の方法で、&!とかdisownとかあるようですが、どういう風に使い分けるものですか?
173 :名無しさん@お腹いっぱい。2009/05/24(日) 10:51:04
&! は & の代わりに使う。
disownは&で実行開始してしまったものに対して使う。
176 :名無しさん@お腹いっぱい。2009/05/24(日) 23:55:35
>>173
ありがとうございます。
177 :名無しさん@お腹いっぱい。2009/05/25(月) 01:01:22
bashは0で始まる数字が8進数扱いになるので
ファイル名から数字を切り出して処理するときとかにやりにくくてしょうがない。
179 :名無しさん@お腹いっぱい。2009/05/25(月) 06:59:16
zshは、
> file
で、ファイル内容を切り詰めできないからやりにくくてしょうがない。
180 :名無しさん@お腹いっぱい。2009/05/25(月) 09:54:28
>>179
設定ファイルを理解せずに、コピペする方ですか?
181 :名無しさん@お腹いっぱい。2009/05/25(月) 10:02:12
179のような脳味噌の足りてない奴にはzshも宝の持ち腐れってことだな。猫に小判。
182 :名無しさん@お腹いっぱい。2009/05/26(火) 07:52:59
>>177
それが理由でbashから乗り換える気になった
zshは本当に便利杉
183 :名無しさん@お腹いっぱい。2009/05/26(火) 08:04:19
CFLAGS='-O2 -fomit-frame-pointer'
って設定してる時、

gcc $CFLAGS hoge.c
ってやると、$CFLAGSのオプションがくっついてしまって、
cc1: error: invalid option argument '-O2 -fomit-frame-pointer'
となるから、zshはやりにくくてしょうがない。
184 :名無しさん@お腹いっぱい。2009/05/26(火) 08:34:12
>>183
export CFLAGSしてmake hogeする位の頭はないのか?
185 :名無しさん@お腹いっぱい。2009/05/26(火) 08:39:05
>>184
それが面倒だろ。

Makefileには別のことを書いていて、
make hoge だと別のオプションまで付いてしまう。
臨時で、Makefileとは別に
gcc $CFLAGS を直接実行したい時に困る。

zsh以外のシェルならできるんだよ。
187 :名無しさん@お腹いっぱい。2009/05/26(火) 08:54:58
>>185
お前はmanもロクに読まずに偉そうな奴だな
${=CFLAGS}使うかSH_WORD_SPLITでも設定しとけ馬鹿が
188 :名無しさん@お腹いっぱい。2009/05/26(火) 08:57:15
>>187
そんな余分な手間が増えるだけ面倒だろ。
従来のシェルと非互換になってると問題が多いってこと。
189 :名無しさん@お腹いっぱい。2009/05/26(火) 08:59:44
zshは、
stty -echo
しても、コマンドラインでは勝手にもとに戻されてしまうから、
やりにくくてしょうがない。
190 :名無しさん@お腹いっぱい。2009/05/26(火) 09:00:39
従来のシェルって何のことだよ
そんなに互換性がお望みならshでも使えばいいだろうが
191 :名無しさん@お腹いっぱい。2009/05/26(火) 09:06:58
自分の無知を棚に挙げてわめくような人にzshを使うのは難しいでしょう。
192 :名無しさん@お腹いっぱい。2009/05/26(火) 09:08:08
>>187
「manも読まずに」という言い方は論点がずれてる。
回避方法を質問してるんじゃなく、
回避しなければならないような仕様が問題だ、って主張してるわけだから。
193 :名無しさん@お腹いっぱい。2009/05/26(火) 09:11:23
>>192
>>183でも>>185でも「回避しなければならないような仕様が問題だ」
なんて主張をしてないだろうが。お前こそが論点をずらしているだろうが。
194 :名無しさん@お腹いっぱい。2009/05/26(火) 09:17:11
わざわざ違えて作ったものを別のものと同じと決めつけて
自分の思い込みと違うからと文句を言うのはキチガイでしかない。
婉曲な自己紹介乙。
195 :名無しさん@お腹いっぱい。2009/05/26(火) 09:19:43
>>193
「やりにくくてしょうがない」
→「やる方法はあるが手間がかかる」
→「わざわざ手間を増やすのは問題だ」
→「回避しなければならないような仕様が問題だ」

主張してるねw


もし、やる方法を本当に知らない場合は、
「やりにくくてしょうがない」じゃなくて「できないので困る」と言うだろうし、
それを質問してるなら、「やる方法はありますか?」って言うはず。
196 :名無しさん@お腹いっぱい。2009/05/26(火) 09:21:34
朝から基地外が登場かよ。全く大概にしろ。
197 :名無しさん@お腹いっぱい。2009/05/26(火) 09:23:43
>>194
kshやbashも違えて作って(独自)拡張もしてる。
が、shとの互換性は保ってる。

zshは、独自拡張したのは言いが、互換性を犠牲にしたのが大きな欠点。
もちろん、互換モードで回避はできるけど、通常状態では互換性がないし、
互換モードにしてしまうとzshの特徴がなくなってしまうので本末転倒だし。
198 :名無しさん@お腹いっぱい。2009/05/26(火) 09:24:29
>>194の言う通りだな
キチガイはスルーで
199 :名無しさん@お腹いっぱい。2009/05/26(火) 09:27:00
>>196
名古屋人発見
200 :名無しさん@お腹いっぱい。2009/05/26(火) 09:30:00
>>199
名古屋人じゃないが、方言なのか?
201 :名無しさん@お腹いっぱい。2009/05/26(火) 09:47:55
http://zsh.dotsrc.org/FAQ/zshfaq02.html

2.1: Differences from sh and ksh

The classic difference is word splitting, discussed in question 3.1;
this catches out very many beginning zsh users. As explained there,
this is actually a bug in every other shell. The answer is to set
SH_WORD_SPLIT for backward compatibility. The next most classic
difference is that unmatched glob patterns cause the command to abort;
set NO_NOMATCH for those.


FAQも読まずに筋違いな文句をつけるあたり、気違いと言わざるを得ない。
202 :名無しさん@お腹いっぱい。2009/05/26(火) 09:48:39
ふぁqなんて誰も読まねえよ
203 :名無しさん@お腹いっぱい。2009/05/26(火) 09:51:36
>>202
お前が英語も読めない馬鹿なのは分かったから黙ってろ
204 :名無しさん@お腹いっぱい。2009/05/26(火) 10:03:05
>>201
いや、だから、>>192 さんは >>201 を知った上で
「それがよくない」と言っているんではないかと。
205 :名無しさん@お腹いっぱい。2009/05/26(火) 10:15:20
>>204
明らかに読んでないだろ。読んでいれば、こういう回避法があるのは知ってるが
それは気に食わないという言い方にになる。
207 :名無しさん@お腹いっぱい。2009/05/27(水) 03:20:19
英語も読めない馬鹿が賢いとは笑止千万だわ
208 :名無しさん@お腹いっぱい。2009/05/27(水) 08:56:44
>>203や>>207みたいに読まない=読めないって決め付ける奴って何なんだろう
自分がロクに読めないから他人もそうだと思うんだろうか
日本語で書かれてても読まないものは読まないのにね
209 :名無しさん@お腹いっぱい。2009/05/27(水) 09:51:11
ドキュメントを読みもせずに偉そうな物言いをするなってこった
210 :名無しさん@お腹いっぱい。2009/05/27(水) 09:59:41
>>208
>>202が「誰も読まない」と決めつけているがそれはスルーなの?
おまえ>>202か?
212 :名無しさん@お腹いっぱい。2009/05/27(水) 18:02:28
ログインシェルを変えることができない環境で擬似的にzshをログイン
シェルにすることはできますか?
214 :名無しさん@お腹いっぱい。2009/05/28(木) 15:14:33
rootでzshをログインシェルにするのは、やっぱやめたほうがいい?
215 :名無しさん@お腹いっぱい。2009/05/28(木) 17:25:49
自分で判断できないなら止めとけ
217 :名無しさん@お腹いっぱい。2009/05/28(木) 21:55:16
>>215
ずっとそうやってたんだけど、知り合いに言ったら呆れられてしまった
理由を聞いても、rootではそもそもzshみたいなもんは使うな、の一点張りで
確かにbashのほうが安心だとは思うけどさ・・・
220 :名無しさん@お腹いっぱい。2009/05/28(木) 23:11:16
zshが駄目なら同じ理由でbashも駄目だろ。/bin/shのみ許可とか。
もちろんvimも駄目だ。viかed。
221 :名無しさん@お腹いっぱい。2009/05/28(木) 23:32:40
>zshが駄目なら同じ理由でbashも駄目だろ。
ズンドコベロンチョみたいなもんか
222 :名無しさん@お腹いっぱい。2009/05/28(木) 23:55:23
>>220
一行目には同意だがvimは関係ないな。使えれる環境なら使えばいいだけの話。
223 :名無しさん@お腹いっぱい。2009/05/29(金) 00:13:27
viはディスク復旧時に/var/tmpだのtermcapが見えないと云々というのは
最近でも言うのかね。
224 :名無しさん@お腹いっぱい。2009/05/29(金) 06:57:57
純正viはSolarisとかの商用系にしか存在しない。ソース非公開だから。
それ以外のOSでは、viの正体はvimかnviだな。

>>223
vimならtermcap/terminfoがなくてもデフォでbuilt-inのvt100で立ち上がる。

>>222
「ら抜き」ならぬ「れ入れ」やめれ
225 :名無しさん@お腹いっぱい。2009/05/29(金) 07:33:49
>>224
単なるtypoに過剰反応しすぎだろ
226 :名無しさん@お腹いっぱい。2009/05/29(金) 07:45:13
typoか? 最近こういう言葉流行ってると思うが
227 :名無しさん@お腹いっぱい。2009/05/29(金) 08:24:13
>>226
>>222だがtypoだ。こんな使い方が流行ってるのか?
228 :名無しさん@お腹いっぱい。2009/05/29(金) 09:06:21
zshのソースはどこのFTPサイトから落せれますか?
FWのせいか、一部のサイトには行けれないようなんですが。
あと、手元のCD-Rは何故か読めれなくなってしまいました。
229 :名無しさん@お腹いっぱい。2009/05/29(金) 09:07:46
それは教えれません
230 :名無しさん@お腹いっぱい。2009/05/29(金) 09:44:56
>>228
朝からつまんねーぞ
231 :名無しさん@お腹いっぱい。2009/05/29(金) 09:47:21
>>229
それは「れ入れ」じゃなくて「ら抜き」

ハイ、やり直し
232 :名無しさん@お腹いっぱい。2009/05/29(金) 16:07:02
それは教えれられません
233 :名無しさん@お腹いっぱい。2009/05/29(金) 16:38:42
>>232 は「れ入れ」の意味を理解していないようだ。
244 :名無しさん@お腹いっぱい。2009/06/09(火) 20:46:01
昨日bashからzshに引越したんですけど,
bashではalias rma='rm -f *~ .*~ *#'で通じたんですけど,zshだと
zsh: no matches found: *~
となります.

bashだと存在しなかったらなにもコメントがでてこないんですけど
246 :名無しさん@お腹いっぱい。2009/06/09(火) 21:30:49
>>217
/bin/sh に比べれば bash も zsh も等しくリッチすぎる環境
247 :名無しさん@お腹いっぱい。2009/06/09(火) 21:55:41
純粋のshなんて何年も触ってないや
最近のLinuxは/bin/shがbashのシボリックリンクだし
他のお堅いunix系から見れば甘過ぎなんだろうけど
248 :名無しさん@お腹いっぱい。2009/06/09(火) 22:00:57
純正の定義を頼む
250 :名無しさん@お腹いっぱい。2009/06/11(木) 22:27:21
リモートでプロセスをnohupなり&!なりdisownなりで動かした状態でexitすると、
ターミナルが固まってしまうんですが、こういう場合はどうすれば良いですか?
252 :名無しさん@お腹いっぱい。2009/06/12(金) 10:40:45
どうやったらそんなことになるのか謎
254 :2502009/06/12(金) 13:32:53
sshやrshなどの仕様として、入出力ストリーム(標準入力、標準出力、標準エラー出力)が
EOFを返すまでコネクションを維持するんですね。スレチで失礼しました。
255 :名無しさん@お腹いっぱい。2009/06/26(金) 01:24:11
history共有はOFFのほうが好みなので切っています。
この場合、historyファイルへの保存はログアウトするときにされると思いますが、
ログアウトせずにその場で強制的に書き込ませるコマンドなどはないでしょうか?
256 :名無しさん@お腹いっぱい。2009/06/26(金) 15:09:37
tcshのように
何もない所からtabを押したら
カレントディレクトリにあるファイル一覧を表示したいのだが、
どうすればよろしいですか?
259 :名無しさん@お腹いっぱい。2009/06/27(土) 02:11:51
>>255
fc -W
好みに応じて -I オプションをつける
260 :名無しさん@お腹いっぱい。2009/06/27(土) 03:43:26
zshでmanでコマンド調べたときに引数のところに色がつくのってどうすればいい?
teratermから接続したときは色づけされてるけど、Xの端末からmanで調べたときに色が付いてない。
zshrcの色関係はdircolorしかしてません
261 :名無しさん@お腹いっぱい。2009/06/27(土) 03:46:50
それはたぶん
「強調」のエスケープシーケンスを
「ターミナル」がどう表現するかを設定すべきトコロだと思うぞ。
262 :名無しさん@お腹いっぱい。2009/06/27(土) 17:59:56
>>259
ありがとうございました。
263 :2602009/06/27(土) 21:41:16
>>261
setopt prompt_subst
でもだめだった他になにかあるんですかね?
264 :名無しさん@お腹いっぱい。2009/06/28(日) 07:51:58
>>260
ちゃんとlsで色がつくんだったら、
alias lv='/usr/bin/lv -c'
とか
alias less='/usr/bin/less -r'
とか
alias man='/usr/bin/w3mman'
compdef _man w3mman
とかpagerのオプション変えてみたら?
265 :名無しさん@お腹いっぱい。2009/06/29(月) 11:54:58
みなさん、はじめまして。じつは、これが2ちゃんねるデビューです。ところで、zsh を愛用しているのですが、
たとえば
% ls ~/documents/hoge
と打ったあとで、hoge のhにカーソルを持ってきて、fと打ってtabおすと、つまり
% ls ~/documents/f[tab]hoge

bashだと
% ls ~/documents/fuga/hoge
となりますが、zshだと補完してくれません。何かオプションの設定があるのでしょうか。
267 :名無しさん@お腹いっぱい。2009/06/29(月) 14:25:43
266さん ありがとうございます。 さて、bindkey "^i"と、プロンプトで入力
すると、menu-expand-or-complete と出ます。というのは、.zshrcでそういう設定
をしているからなのですが、デフォルトはexpand-or-completeですよね。
それで、man zshall とかinfoファイルなどを読んでもどうも関連のありそうな
ものは見当たらないのですが。。。
269 :名無しさん@お腹いっぱい。2009/06/29(月) 19:15:25
ubuntuのデフォルトbashでインストールしてないコマンド打つと
パッケージリストから探してきてこれ入れれって感じのメッセージ出るんだけど、
zshではどうやるの?
270 :名無しさん@お腹いっぱい。2009/06/29(月) 21:22:21
>>269
source /etc/zsh_command_not_found
271 :名無しさん@お腹いっぱい。2009/06/29(月) 21:24:44
command-not-foundパッケージの機能だな。
bashでコマンドが見付からなかったときに実行されるシェル関数
command_not_found_handleを定義することで実現している。
コマンドとパッケージの対応DBは別途作るみたいだね、これ。

相当するものはzshにはないと思うけど、入力文字列の先頭語を
whenceで探し、見付かれば実行、見付からなければパッケージを提案
という動作をするwidget(シェル関数)を作って^M(Enterキー)にバインド
すれば出来るはず。
273 :名無しさん@お腹いっぱい。2009/06/29(月) 21:35:03
>>271
書き込む前にリロードしるw
274 :名無しさん@お腹いっぱい。2009/06/30(火) 09:55:43
>5 の本(zsh最強シェル入門)とは別の
「zshの本」って出てるのね
http://www.amazon.co.jp/dp/4774138649
276 :名無しさん@お腹いっぱい。2009/06/30(火) 11:47:58
>>274
書店でめくってみたけど、最強〜よりはまともな感じ。
補完関数の書き方とか詳しかった。
277 :名無しさん@お腹いっぱい。2009/06/30(火) 18:15:33
>>270
>>271
どうもです。試してみます
278 :名無しさん@お腹いっぱい。2009/07/02(木) 22:29:43
>>202
どうでもいい。黙れ。、
279 :名無しさん@お腹いっぱい。2009/07/03(金) 01:14:28
>>278
遅レスにマジレスカコイイ><
280 :名無しさん@お腹いっぱい。2009/07/04(土) 08:48:57
>>274
「tcshなんてうんこ」の広瀬さんが本出してたのか
281 :名無しさん@お腹いっぱい。2009/07/08(水) 10:32:49
広瀬本関連の記事? かな

zshで究極のオペレーションを
・ 第1回 zshで広がる世界
ttp://gihyo.jp/dev/serial/01/zsh-book/0001

本を出そうという話になってから6年かかったそうで。
お疲れ様です〜
285 :名無しさん@お腹いっぱい。2009/07/10(金) 16:03:58
>274
買ってみた

まあ日本語レファレンス的な感じかな

zshが巨大でマニュアル自体が巨大なので
仕方ないとは思うし,ちょっと手にとって
見るために置いておくのも悪くないかな.

できれば冒頭の「デモンストレーション」の章で

ヲラヲラ,すげーだろ

的なノリのzsh魅力紹介がもっとあると良かったかなぁ
286 :名無しさん@お腹いっぱい。2009/07/11(土) 16:31:56
一般的に言って、zshがあればファイラなんてものはいらない、て感じなんでしょうか。
288 :名無しさん@お腹いっぱい。2009/07/14(火) 20:48:17
タイプしたコマンドの末尾に空白があると、ヒストリにはその空白を削った形で記録されるようですが、
末尾の空白を削らずにそのまま記録させるには、どうしたらいいでしょうか?
289 :名無しさん@お腹いっぱい。2009/07/14(火) 21:23:53
>>288
なんでそんなことしたいのかが、さっぱり分からん。
291 :名無しさん@お腹いっぱい。2009/07/14(火) 22:19:08
unsetopt hist_reduce_blanks
292 :名無しさん@お腹いっぱい。2009/07/14(火) 22:25:35
>>291
それは「末尾の空白削らずに」にはならない。
というか、最初から unsetopt hist_reduce_blanks 状態だし。
293 :2882009/07/15(水) 23:25:10
少し勘違いしてました。仰る通り、最初からunsetopt hist_reduce_blanksでした。
何がしたかったかというと、例えば、(■はカーソルです)

ls /etch/zshr■ ・・・?

まで打ってからTAB押すと

ls /etc/zshrc ■ ・・・?

と補完され、■の直前にスペースが挿入されますが、これを実行するとヒストリには
このスペースが取り除かれます。?の状態でさらにスペースを押すと、見た目上は
名にも変化しませんが、履歴にはスペースも含めて記録されます。

デフォルトではこういう設定なのだと思いますが、見た目通りにヒストリに
記録できたほうが使いやすいなと個人的に思った次第です。
294 :名無しさん@お腹いっぱい。2009/07/17(金) 22:02:45
zshrcで、PROMPTの中に改行を含めて2行で表示しています。
この状態でRPROMPTを設定すると、2行目の右端に表示されます。
1行目の右端にも文字を表示したいのですが、どうしたらいいですか?
296 :名無しさん@お腹いっぱい。2009/07/25(土) 16:33:24
コマンドラインの展開で、

$ ls
a1.txt a2.txt a3.txt

として

$ echo a{1,2,3}.txt
a1.txt a2.txt a3.txt

$ echo a*.txt
a1.txt a2.txt a3.txt

と、なりますが、

$ echo --option=a{1,2,3}.txt
--option=a1.txt --option=a2.txt --option=a3.txt

$ echo --option=a*.txt
zsh: no matches found: --option=a*.txt

こういった感じに、展開したファイル名の前に、同じ文字列を付け足したいのです。

上記の操作で、行われていない理由は、理解しています。

展開したファイル名の前 or 後に文字列を足す方法って、ありませんでしたっけ?

# 前に、どっかで見た気がするんだよな〜。
298 :名無しさん@お腹いっぱい。2009/07/25(土) 17:52:22
zshのインストールの時点でつまりました><

zsh-4.3.9.tar.bz2は解凍できたんですけど…
システム管理者じゃないのでスーパーユーザーになれません。

ここで質問なんですけど
スーパーユーザーじゃなくてもzsh-4.3.9はインストール出来ますか?
302 :名無しさん@お腹いっぱい。2009/07/26(日) 01:00:04
/etc/shellsに書かないとログインシェルに使えない環境なら
ログインシェルからzshをexecすれ。
305 :名無しさん@お腹いっぱい。2009/07/28(火) 06:32:37
>>298だが…
返信ありがとう!
configure --prefix したんだが
「checking if tcsetpgrp() actually works... error
configure: error: unexpected return status」と最後の2行に出て
インストールできなかったorz

Solalis 10 のバージョンが低いのが原因か…?
307 :名無しさん@お腹いっぱい。2009/07/28(火) 17:39:47
「zshの本」に「うんこ」の単語発見
308 :名無しさん@お腹いっぱい。2009/07/28(火) 17:54:52
>>307
ありがと。あやうく買うところだったよ。やっぱくそ本なんだな。
309 :3072009/07/28(火) 18:23:41
>>308
いや、買うなとは言ってないんだけど。
一見「tcshはうんこ」みたいな表現を抑えたのかなと思ったら消し忘れがあってちょっと笑った、て程度の話。
310 :名無しさん@お腹いっぱい。2009/07/31(金) 04:19:25
>>309
え,あれ,消し忘れだったのかw
なんでいきなりtcshの仕様をうんこで修飾してるんだろうとは思ったがw
311 :名無しさん@お腹いっぱい。2009/07/31(金) 19:00:10
ls
Desktop/ aa.file bb.file cc.file

ってあって,D入力してタブでDesktopって補完してほしいけど
他にDBUS_SESSION_BUS_ADDRESS DESKTOP_SESSION DISPLAY
やらがでて来てうっとうしいんですけども,どうすればいいですか?
312 :名無しさん@お腹いっぱい。2009/08/02(日) 17:14:20
>>309
ワロタ
わざとなんじゃないのかそれw
313 :名無しさん@お腹いっぱい。2009/08/04(火) 19:11:12
cp でフォルダ渡したときに 頭よく再起でフォルダごとコピーしてくれないかね?
フォルダかファイルで判別するとか
314 :名無しさん@お腹いっぱい。2009/08/04(火) 19:25:14
>>313
alias cp='cp -r'
315 :名無しさん@お腹いっぱい。2009/08/04(火) 20:00:08
>>314
あっ ほんとだ・・・・・ 恥ずかしいっす
316 :名無しさん@お腹いっぱい。2009/08/04(火) 22:01:38
ESC-h で$#0を引数にrun-helpしてくれますが
これを $#0がniceだとかsudoだとかのときに$#1を引数にrun-helpしてくれる
ようにできませんかね。ESC-H とかで。
317 :名無しさん@お腹いっぱい。2009/08/05(水) 16:23:26
zshって、ゼットシェルって発音でおk?
で、英語発音だとズィーシェルになるんかね?
318 :名無しさん@お腹いっぱい。2009/08/05(水) 16:37:25
>>317
Cシェルのもじりでもあるので、Cに濁点を付けたイメージで。
324 :名無しさん@お腹いっぱい。2009/08/07(金) 00:48:57
Z武
326 :名無しさん@お腹いっぱい。2009/08/07(金) 19:48:58
>>324
笑いどころはどこでしょうか
327 :名無しさん@お腹いっぱい。2009/08/07(金) 21:13:02
$SHELLがbashの環境で、screen起動時に、rcを指定したzshを起動しようとしています。
ただのzshならscreenrcに shell zsh と書けばいいのですが、自分のzshrcを指定する方法が分かりません。
今はscreenの各ウィンドウでいちいち source /path/to/myzshrc としてます。
どうしたらrcを指定してzshを起動できますか?
329 :名無しさん@お腹いっぱい。2009/08/08(土) 00:01:56
>>316
こんなんで COUNT 指定で COUNT-th の arg を run-help している。
似たかんじでやればいいかな。

autoload -U run-help-arg
zle -N run-help run-help-arg

% cat .zfunc/run-help-arg
emulate -L zsh

if (( NUMERIC )); then
local bufwords
# This splits the line into words as the shell understands them.
bufwords=(${(z)BUFFER})

zle .push-line -N
BUFFER="$WIDGET $bufwords[NUMERIC]"
zle .accept-line

return
fi

zle .run-help

return 0
330 :名無しさん@お腹いっぱい。2009/08/10(月) 22:33:12
質問させてください。

vim app/views/users/show.html.rb
まで打ったのを
vim app/views/users/
まで戻したいとき、何かコマンド一発でできないでしょうか?
Ctrl+wのような感じです。

/とか、デリミタっぽいところまで一気にbackspaceさせたいのです。
教えていただけると幸いです。
331 :名無しさん@お腹いっぱい。2009/08/10(月) 23:06:29
>>330 WORDCHARS=`echo "$WORDCHARS" | sed 's!/!!'` とでもしてWORDCHARSから / を抜いてしまうのはグローバルに影響するから 宜しくないかな?
332 :名無しさん@お腹いっぱい。2009/08/11(火) 01:37:58
最近tcshから乗り換えたんだが…
tcshでは「/!* &」をaliasで設定するとbgで常に実行されて便利だったので
zshでも設定したんだがうまくbgで実行されなかったorz
333 :名無しさん@お腹いっぱい。2009/08/11(火) 03:33:26
>>332
関数を使って、
xv() { command xv "$@" & }
とかすればOK。
ただ、全部これを定義するのは厄介だと前から
思ってるんだけど、何かいい方法はないだろうか。
335 :名無しさん@お腹いっぱい。2009/08/11(火) 09:43:20
地震後一定時間キー入力がなかったら
生存していないとみなして
rm -rf /erodata を実行するようにしておくとか



…なんていうタイムアウトがないかと
info 見てみたけどなさそうだぬ
336 :名無しさん@お腹いっぱい。2009/08/11(火) 12:47:50
>>330
一発ではないけどvi-backward-kill-wordを使えば多少は楽になる。
337 :名無しさん@お腹いっぱい。2009/08/11(火) 17:55:42
>>336
bindkey "^W" vi-backward-kill-word

でいい感じになった。>>330 じゃないけどthx
338 :名無しさん@お腹いっぱい。2009/08/12(水) 09:24:09
>333
emacsで設定したらエラーが出てしまうなぁ…
339 :名無しさん@お腹いっぱい。2009/08/12(水) 10:26:15
>>330
昔は 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

割当キーはお好きなように。
340 :名無しさん@お腹いっぱい。2009/08/14(金) 04:23:51
>>316

ちょっと外れるけど
久しぶりに man zshall してたら

run-help-ssh() {
コマンドラインが ssh ... command だったら run-help command
}

とかすると

% ssh ... command

で run-help したときに
run-help-ssh が呼ばれる → run-help command
ってなるらしい。
昔はこんなんなかった気がするけど。

run-help-nice とか書いとけば要求も満たされるんじゃない?
341 :名無しさん@お腹いっぱい。2009/08/16(日) 01:18:57
Parameter Expansion Flags ってよく覚えられないな〜
そう頻繁には使わないし、以前使ってても正確に思い出せない

for i ( ${(f)"$(ls)"} ) echo $i

みたいなのも $〜(f)〜 だか $〜(F)〜 だった気がする程度しかわからん
man zshexpn せんとわからん

もっというと Modifiers も $i:h 使おうとして
dirname の Modifiers って h とか r だっけってかんじだったりする

$i:[補完] でオプション補完みたいに説明付きで補完候補出れば
覚えなくてもいいかな
でもこれけっこう面倒そうさな
342 :名無しさん@お腹いっぱい。2009/08/16(日) 01:35:08
csh由来のmodifierは
head ⇔ tail
root ⇔ ext
extの意味は勘違いしないだろうから、そこからはじめれば他もわかるでしょ。
345 :名無しさん@お腹いっぱい。2009/08/18(火) 05:29:48
質問
補完候補からディレクトリを除外するにはどうしたらいいですか?
% vi でタブを押したときにディレクトリがマッチして使い辛いです。
間違ってディレクトリを開くこともしばしば……
346 :名無しさん@お腹いっぱい。2009/08/18(火) 05:51:55
その動作で構わんだろ。サブディレクトリ中のファイルを指定することも考えろよ。

347 :3452009/08/18(火) 15:33:00
詳しい方のみ回答をお願いします。
また回答者の主義・主観の主張はご遠慮ください。
350 :名無しさん@お腹いっぱい。2009/08/20(木) 05:54:44
変数値の展開(?)についての質問です。
PAGER='less -Rf' という設定で以下のシェル関数を定義して使うと、

function Diff {
svn diff $1 | ${PAGER}
}

% Diff some_file
Diff:1: command not found: less -Rf
svn: ストリームに書き込めません: Broken pipe

となり、'less -Rf' が一続きのコマンド名として扱われてしまいます。素直に
svn diff $1 | less -Rf

と解釈してもらうにはどう書けばいいのでしょうか?
351 :名無しさん@お腹いっぱい。2009/08/20(木) 06:16:14
>>350
>>187
352 :3502009/08/20(木) 06:40:46
>>351
うは、同じスレに答えが、しかもFAQネタorz

ありがとうございました。
${=PAGER} でいけましたっす。
353 :名無しさん@お腹いっぱい。2009/08/21(金) 17:53:16
実際使っててどっちが使いやすいんだろうな?
zshのデフォがno_sh_word_splitということは、それはそれでメリットがあるからやってるんだろうけど
大してzsh使い込んでないんでよう分からん
354 :名無しさん@お腹いっぱい。2009/08/22(土) 01:53:19
個人的には no_sh_word_split だけど migemo 補完って誰かやってる? (前半と後半に関係は特にありません。)
355 :名無しさん@お腹いっぱい。2009/08/25(火) 23:40:52
いつのバージョンからかわからないんだけど
ファイルa aaがカレントディレクトリにあるときに
% rm a
の状態でTABを押したときの補完が

% rm a
a aa
と候補が出るのではなく

% rm aa
とaaにだけ補完されるんだけど

どなたか治し方しらないですか
ファイル消えまくりorz
356 :名無しさん@お腹いっぱい。2009/08/26(水) 01:00:49
menu complete の動作が嫌ということ? 自分もこの動作があまり好きでないので、
setopt NO_AUTO_MENU にしている。適当なキーに menu-expand-or-complete を
割り当てて、欲しいときは明示的に menu complete を呼び出すようにしているけど。
でも、デフォルトの動作って途中で変わったかな。tcsh から移行したときに
設定したような気がするが、もうよく覚えてない。
357 :名無しさん@お腹いっぱい。2009/08/26(水) 01:26:27
違うっす

lsコマンドなどでは、
% ls aの時点でTABを押すと
a aa
と補完候補が出て、次の文字の入力待ちになるにもかかわらず
rmコマンドの時だけ
% rm aの時点でTABを押すと
% rm aa
となり、aは一切無視されるんです

Gentooで4.3.x(失念)です
358 :名無しさん@お腹いっぱい。2009/08/26(水) 10:17:02
おいらは
% touch a aa
% rm a[tab]
すると
rm a [かーそる]
になるけど。

aで(他の候補はあれど)完結しているときに
tab 打つとそこで確定、ってことかな?
(tab でなく ^D だと a aa が表示されます)
360 :名無しさん@お腹いっぱい。2009/08/27(木) 03:42:11
zshでbashのhistignoreみたいなのできませんかね?
zsh その4で
255 :名無しさん@お腹いっぱい。[sage]:2005/10/19(水) 23:09:46
setopt histignorespace で
alias ls=' ls' cd=' cd'
とあるんですが、引数付きの時は残したいのですが、何か手法はありますか?
361 :名無しさん@お腹いっぱい。2009/08/27(木) 04:58:20
zshaddhistoryを使えばどうにでもなるはず 参考 ttp://d.hatena.ne.jp/mollifier/20090728/p1 zshは実はファイルマッチで使うようなパターンだけじゃなくて 正規表現も使えたりするのでそういう感じでがんばれ
362 :名無しさん@お腹いっぱい。2009/08/29(土) 02:42:07
completion の matcher-list にも正規表現が使えるといいんだけど。
というか、 PATTERN MATCHING でも (a|b) は使えるのにこれも
matcher-list じゃ使えないからなあ。残念な話だ
363 :名無しさん@お腹いっぱい。2009/08/29(土) 04:39:08
>>355
_rm が編集行の指定済ファイルを補完対象外にしていて、
入力中の語もその中に入っちゃってるみたいね。
多分期待動作じゃないんだろうな。

_rm 内の↓がそれっぽい。ここらへんの記法が何するものかは忘れたけど
ignored=(${line//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
364 :名無しさん@お腹いっぱい。2009/08/29(土) 12:59:17
>>363
細かい解説どうも。いつからか_rmが追加されて、それ以降の挙動のようですね

期待動作というかlsのような補完と挙動が違うのは バグ だと思ってます
_rm採用以前はすべての対象ファイルが補完されてたわけだですし

cd でディレクトリのみを補完対象にするのとはワケが違うと思うんですけどね
366 :名無しさん@お腹いっぱい。2009/08/29(土) 16:16:40
もちろん。自分ではいじってないですよGentooがいじってる可能性はあるかもしれませんが
バージョンは4.3.9でした
367 :名無しさん@お腹いっぱい。2009/08/29(土) 23:38:49
>>364
lsとかの単なるファイル補完と違うのは
rm a a
みたいに同じファイルを2回指定することはないから
補完対象から外しているんだと思う。
(lsも2回指定することはない気はするけど、外すようにはしてない。
必要はないしね)

これ自体は個人的には悪くないと思う。
menulistで補完してると、
2つ目にも指定済のファイルが候補にあると邪魔だからね。

通常のファイル補完でこれをやると、例えば
cat a a
とかはありうるから、うまくない。

まあ rm でやっていて ls でやってないことが気になる人もいるってことかな。

_rm が入力中の語も補完対象外にしているのは
バグっぽいなあと思うけど。
その語は入力が完了しているから補完する必要がないとも
強引には考えられるけど。いや無理があるか。他の補完動作とも合ってないしね。
368 :名無しさん@お腹いっぱい。2009/08/29(土) 23:41:56
ていうか、
[[ -e file* ]]
みたいなことって、できないんだっけ?(file* にマッチするファイルがあるか判定)
[[ でできないってだけだけど。
これ普通どうやるんだっけな。
369 :名無しさん@お腹いっぱい。2009/08/29(土) 23:46:10
>>368
ls file*の戻り値で代用
370 :名無しさん@お腹いっぱい。2009/08/30(日) 00:00:59
そうか。そうだね。

tmp=(file*(N)); (( ${#tmp} ))
↑なん考えちゃったよ。
# tmp が消せなかった

それなら
: file*
でよさそうだね。
thx.
371 :名無しさん@お腹いっぱい。2009/08/30(日) 00:11:05
( : file* ) 2>/dev/null
としないと errmsg とともに終わる(forが)
そんだけ
372 :名無しさん@お腹いっぱい。2009/09/05(土) 02:51:12
補完の設定でフィルタ関数みたいなのはないのかな。
入力語と補完候補をとってマッチするか否かを判定するようなやつ。
373 :名無しさん@お腹いっぱい。2009/09/05(土) 10:35:35
内部コマンドの getopts で POSIXLY_CORRECT=0 に相当する
動作にできないものだろうか。履歴を使い回して末尾にオプションを
付け足したいときがままあるので。
375 :名無しさん@お腹いっぱい。2009/09/09(水) 13:10:46
zshでプロンプトに
http://journal.mycom.co.jp/articles/2009/09/09/bash/images/004.jpg
みたいにpts/xを表示させたいんだが環境変数わからないので教えてください
377 :名無しさん@お腹いっぱい。2009/09/11(金) 12:45:00
.zshenvっていつでも読まれるはずだよね?
ログインシェルだと.zshenv読んでくれないんだけど,なんでかな

.zprofileはマニュアル通り(ログインシェル時のみ読み込む)なんだけど,
.zshenvがその反対(ログインシェル以外のとき読み込む)になってるみたい
378 :名無しさん@お腹いっぱい。2009/09/11(金) 22:54:50
なんでかなって、1行目の思い込みが間違っているからに決まってる。man読め。
379 :名無しさん@お腹いっぱい。2009/09/11(金) 23:11:35
もちろん読んだよ

> Commands are first read from /etc/zshenv;
> [...]
> Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read
> from /etc/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are
> read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell,
> /etc/zlogin and $ZDOTDIR/.zlogin are read.

これ見るといつでも(NO_RCSでない限り).zshenvを読み込むと思うんだけど
もしかして違ってる?
380 :名無しさん@お腹いっぱい。2009/09/11(金) 23:20:43
>>379
ログインシェルでも .zshenvを読む。

ただし、zshが sh互換モードで起動されると .zshenvは読まない。

ログインシェルの時だけ /bin/sh -> zsh の symlink 経由で起動してるんじゃない?
381 :名無しさん@お腹いっぱい。2009/09/11(金) 23:45:30
ありがとう
compatibilityの項読んだよ

> The usual zsh startup/shutdown scripts are not executed. Login shells source /etc/profile fol‐
> lowed by $HOME/.profile.

けど /bin/sh -> bash になってるし,.zprofileはちゃんと読んでくれてるから違うと思う
382 :名無しさん@お腹いっぱい。2009/09/12(土) 00:55:23
>>379
もしかしなくても違ってる。
そのセクションを全文読んでから、ありえる解釈を列挙して
一つ一つ検討してもっとも妥当なものを選べ。
それができなきゃソース読め。
383 :名無しさん@お腹いっぱい。2009/09/12(土) 06:39:45
>>382
違ってはいないだろ。
オレの環境では login shellでも .zshenv をちゃんと読み込んでるから。
384 :名無しさん@お腹いっぱい。2009/09/13(日) 01:37:04
setopt globcomplete
man (\\|e)[Tab]

ってやると ex* がヒットするよ〜。

(e|\\)
(\*|e)
('*'|e)

も同じ。

(\\|a) だと ax* がヒットする。

(記号|文字列) で 文字列x にヒットするようだ。

(\\|\\) だと何故か ex がヒットする。

まるでバグのようだ。
385 :名無しさん@お腹いっぱい。2009/09/13(日) 02:31:26
zstyle ':completion:*' matcher-list 'm:a=日本語文字'
ってやるとうまく動かない。動く日本語文字もある。
ab とか、 aの後に文字があると ab[Tab] で m:a=日本語文字 が適用されない。

% printenv LANG LC_ALL
ja_JP.UTF-8
ja_JP.UTF-8
% touch 名yy 二yy 椎yy xxyy yyああ あyy アyy 一yy
% ls
xxyy yyああ あyy アyy 一yy 椎yy 二yy 名yy
% zstyle ':completion:*' matcher-list 'm:a=x'
% : aay[Tab] → xxyy
% zstyle ':completion:*' matcher-list 'm:a=あ'
% : a[Tab] → あyy
% : ay[Tab] → あyy
% : yyaa[Tab] → yyああ
% zstyle ':completion:*' matcher-list 'm:a=x m:a=あ m:a=ア m:a=一 m:a=二 m:a=名 m:a=椎'
% : a[Tab]

% : 名yy
file
名yy 二yy 椎yy xxyy あyy アyy 一yy
386 :名無しさん@お腹いっぱい。2009/09/13(日) 02:32:38
% : ay[Tab]

% : あyy
file
あyy アyy 一yy

% touch yy名 yy二 yy椎 yyxx yyあ yyア yy一
% ls
xxyy yyxx yyあ yyああ yyア yy一 yy椎 yy二 yy名 あyy アyy 一yy 椎yy 二yy 名yy
% : yya[Tab]

% : yy二
file
yy二 yy椎 yy名 yyxx yyあ yyア yyああ yy一

↑ みたいに、「あ」、「ア」、「一」は動くけど、「名」、「二」、「椎」はうまく動かない。
もう書けない。
388 :3302009/09/15(火) 19:12:50
すいませんお礼忘れてました。
レス下さった方々ありがとうございましたm(_ _)m 参考になりました。
389 :名無しさん@お腹いっぱい。2009/09/17(木) 16:20:26
実行したプロセスすぐに終了しなかった場合にそのプロセスをkillする
方法ってありますか?
rshなどでタイムアウトのときに使いたいと思っています。
396 :名無しさん@お腹いっぱい。2009/09/21(月) 22:09:00
やっぱり反応ないなあ。
自分で使う pactl move-sink-input だけ実装した。
と一応の自己レス。
401 :名無しさん@お腹いっぱい。2009/09/26(土) 19:54:54
アシュラマンと組んだ時のサンシャインって
なんで砂にならなかったの?

402 :名無しさん@お腹いっぱい。2009/09/26(土) 20:09:46
ログインシェルがデフォでzshなディストリが出てこないと増えないよなやっぱ
404 :名無しさん@お腹いっぱい。2009/09/27(日) 21:12:40
自分のzshスクリプトをbash野郎に説明すんのにすごいストレス溜まる
405 :名無しさん@お腹いっぱい。2009/09/27(日) 21:38:00
zshでスクリプトなんて書かねーよ
406 :名無しさん@お腹いっぱい。2009/09/27(日) 21:55:21
>>405
普通に書くぞ。
人に説明しないけど。
408 :名無しさん@お腹いっぱい。2009/09/27(日) 23:54:05
bashでもできるよ
409 :名無しさん@お腹いっぱい。2009/09/28(月) 00:39:33
>>408
マジで?うちの環境ではbashは3.2だが古すぎるのか
bash使ってた頃はいちいちprint文とか使って桁を整えてたわ
412 :名無しさん@お腹いっぱい。2009/09/28(月) 11:13:26
>>409
CHANGES によると { .. } は bash-3.0-alpha で実装された模様。
でもうちの 3.1.17 だとこうなってしまう。
$ echo {01..10}
1 2 3 4 5 6 7 8 9 10
413 :名無しさん@お腹いっぱい。2009/09/28(月) 11:38:24
$ bash -c 'echo {01..10}'
01 02 03 04 05 06 07 08 09 10

bash-4.0.33
414 :名無しさん@お腹いっぱい。2009/09/28(月) 12:08:23
>>413
bash-4.0-alpha からそうなったみたいね。TNX
415 :名無しさん@お腹いっぱい。2009/09/28(月) 13:50:22
ksh93なら
$ echo {01..010}
1 2 3 4 5 6 7 8
$ echo {0x0..0x10}
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
416 :名無しさん@お腹いっぱい。2009/09/28(月) 19:09:57
>>413
すげー、bashも進化してんだなw
他シェルの便利機能を取り込む姿勢はたいへん宜しい
ただ、3→4へのメジャーバージョンアップはgccのそれを思い出して
ついまともな出来なのかと疑ってしまうw

>>415
そんなことできるのかksh
417 :名無しさん@お腹いっぱい。2009/09/30(水) 00:02:28
bashもtcshもいつの間にか機能増えてたりするんで
なかなか機能差異を説明するのも難しい
まだ鍛錬が足らぬだけか
418 :名無しさん@お腹いっぱい。2009/09/30(水) 20:59:00
でもよく調べると、やっぱzshに及ばないジャンwって結論に至る
421 :名無しさん@お腹いっぱい。2009/10/03(土) 00:46:11
x68000にfishというシェルがありました。
Cシェル系だったけどナー。
423 :名無しさん@お腹いっぱい。2009/10/09(金) 16:51:28
zshの配列のインデックスって1からなのかよ!
小半時悩んじまったじゃねーかハゲ

$ bash -c 'foo=("bar" "baz"); echo ${foo[1]}'
baz

$ zsh -c 'foo=("bar" "baz"); echo ${foo[1]}'
bar
428 :名無しさん@お腹いっぱい。2009/10/27(火) 20:49:02
これ見て便利だと思たら便利なんじゃね?
http://ttyshare.com/rec/xcezx/3240618/
429 :名無しさん@お腹いっぱい。2009/10/29(木) 21:39:15
>>428
感動した
よく作るなこんなの・・・
430 :名無しさん@お腹いっぱい。2009/10/30(金) 14:05:44
cd - [TAB]で表示されるディレクトリ一覧の、降順・昇順を切り替えるオプションってありますか?
431 :名無しさん@お腹いっぱい。2009/11/06(金) 04:42:36
やっと規制解除きた
>>430
cd +[TAB]
とすれば良いのでは?
+ と - の意味を切り替えるのは
setopt pushd_minus
432 :名無しさん@お腹いっぱい。2009/11/06(金) 04:48:20
コマンドを実行せずにヒストリに登録する方法は無いのかな?
zle accept-line のコマンドを実行しない版が欲しいんだが。
# HISTFILE を編集するのは無しの方向で。
433 :名無しさん@お腹いっぱい。2009/11/06(金) 07:06:51
過去の話題から。適当なキーに割り当てる。
history-register-line () { fc -R <(<<<$BUFFER); zle send-break }
zle -N history-register-line
434 :4322009/11/07(土) 09:44:36
>>433
thx, うまくいきました。

# history-register-line でググったら >>20 がヒットした orz
# FAQ だったか。スマソ
435 :名無しさん@お腹いっぱい。2009/11/10(火) 12:14:44
ディレクトリの移動履歴だけを対象にして C-r みたいなことがしたいのですが、
どうやったらいいですか?
436 :4302009/11/10(火) 14:39:29
>>431
ありがとうございました!
437 :名無しさん@お腹いっぱい。2009/11/14(土) 17:38:35
cd aaa/bbb/ccc
と入力した後に、backward-delete-word で aaa/bbb/ccc をすべて消すのではなく、
最後のスラッシュまで (cccのみ ) 消すことはできるでしょうか。

たしか何かのシェルではできていたのですが、調べてみましたが、zshでのやり方がわかりません。
よろしくお願いします。
438 :名無しさん@お腹いっぱい。2009/11/14(土) 17:46:00
全く同じ質問を2ちゃんねるのzshスレで見た記憶があるんだが
440 :4372009/11/14(土) 17:57:05
ありがとうございます。
それなりにzshのまとめブログを内外、見て回って使っていたんですが、ここを利用させていただくのは初で。。
これからは過去ログをチェックします。

これは需要があるとおもうんですが、意外と共有されていないのが不思議です。
441 :sage2009/11/14(土) 18:14:40
tab で補完完了時に, もう一度 tabを押すのがいやなのですが、自動的に補完内容を表示する事は可能でしょうか。

例)
aaa code/ru
-> [tab]
aaa code/ruby/  # 補完完了
-> [tab]
( やっと一覧表示 )

を、

aaa code/ru
-> [tab]
aaa code/ruby/ # 補完完了
( ここで自動的に一覧表示。)


zstyleを調べていたのですが、よくわからす、よろしくお願いします。
444 :名無しさん@お腹いっぱい。2009/11/18(水) 21:48:21
zshの補完にmigemo使えるようにならない?
446 :名無しさん@お腹いっぱい。2009/11/19(木) 07:40:07
C-wで削除するときに直前の文字が日本語だと空白区切りまでじゃなく
その一つ前の単語も一緒に削除されちゃうんだけど、これってどうなのよ。
なんか設定で変更できない?

echo だよもん[C-w] → 行頭まで削除されちゃう
echo hoge だよもん[C-w] → echo になる(hogeも削除される)
447 :名無しさん@お腹いっぱい。2009/11/29(日) 00:09:09
俺が >>444 書いたんじゃないよな…
migemo補完しようとは思ったけど…

これ[ ttp://ja.pastebin.ca/1691159 ]を fpath に入れて

zstyle ':completion:*::::' completer _complete _migemo

とかするとなんとなく migemo補完するかも。
migemo展開パターンに記号が入ってたり、なんかすると
動かなかったりして、補完しようとするケースの半分くらいで
使えないという残念仕様だけど。
# 補完に利用している globcomplete が上記ケースで何故か動かない。

一応、PWD直下のファイル名補完なら、migemo入力を3文字程度以上
打ち込んどけば補完したはず。
後、completer 指定から分かる通り、通常補完が優先なので
それにヒットするとmigemoは動かない。
# _complete は外せるけど。

ちなみに俺は使ってない。使えないので。

もっと汚くて使えるものを今書いてるので、
また上げるかもしれない。

# 使えるといっても、対象をファイル名補完に絞った
# 個人的には使用に耐える程度のものだけど。

そういえば、_migemo って名前は compdef migemo で使いそうな名前なので、
_migemo_complete とかにした方がいいかも。
448 :名無しさん@お腹いっぱい。2009/11/29(日) 00:13:00
>>441
よくわかってないけど、こんなん?

complete-and-list () { zle complete-word ; (( _lastcomp[nmatches] == 1 )) && zle list-choices }
zle -N complete-and-list
bindkey "^I" complete-and-list

>>446
ならないよ
449 :名無しさん@お腹いっぱい。2009/11/29(日) 00:28:11
>>448
ならない人もいるのか。
バージョン・環境・ロケールなど教えてもらえる?
450 :名無しさん@お腹いっぱい。2009/11/29(日) 03:06:05
わり、 ~/.zfunc/ の widget を bind してたわ
でも ↓ でも同じだった

bindkey "^W" backward-kill-word
bindkey "^W" .backward-kill-word

% echo $ZSH_VERSION
4.3.9
% uname -rs
Linux 2.6.30-gentoo-r6
% printenv LANG LC_ALL
ja_JP.UTF-8
ja_JP.UTF-8

ちなみに、消した後、"^[r" (redisplay) するとどうなる?
451 :名無しさん@お腹いっぱい。2009/11/29(日) 12:06:11
変化なし。表示だけおかしいというわけでもない。
バージョン等は4.3.10、FreeBSD 8.0/amd64、ja_JP.UTF-8。
ebuildを見たけど、別段portsと変わっているようにも見えないしなあ。
452 :名無しさん@お腹いっぱい。2009/11/30(月) 01:16:48
この件、450と451の違い通り、原因はOSのロケール情報だった。450さんありがとう。
ざっくり言うとzshではiswalnum(3)で単語文字を識別していてLinuxでは
これが漢字かなに対して真になるけどFreeBSDではならないことによる。
glibcのロケール定義をみると、Linuxではctypeのalphaクラスに各言語の文字がずらずら入っている。
これに比べてFreeBSDのshare/mklocale/UTF-8.srcの方はヨーロッパ文字以外はお寒い。
ロケール周りはそのほか比べてみると全体的にFreeBSDは見劣りするね。
454 :名無しさん@お腹いっぱい。2009/11/30(月) 04:19:22
svn a[TAB] b
すると
unknown svn command: a
ってなる。どうにかならんかな?

svn a[TAB]
だとちゃんと補完するけど。
456 :名無しさん@お腹いっぱい。2009/11/30(月) 23:18:33
452だけど、glibcのロケールデータを借用してLC_CTYPEを増強した。
これでFreeBSDでもzshで日本語の文字が単語文字になって満足。

FreeBSDでも http://wiki.freebsd.org/LocaleNewApproach という
動きがあるらしいのでそのうちよくなるのかな。
457 :名無しさん@お腹いっぱい。2009/12/05(土) 02:00:34
TABで補完したときに、ファイル名が一意に定まらない時は
必ずリスト表示してほしいんだけど、いい設定とかないかな?

ls .zs[TAB] → ls .zsh

ここで[^d]すると

.zshenv .zshrc

と出てくるけれど、それなら最初から出してほしい。
458 :名無しさん@お腹いっぱい。2009/12/05(土) 15:24:29
autoload predict-on
predict-on
で、先方予測を有効にしているのですが、しばらくログインシェル
として使っていると、何かの拍子に先方予測が利かなくなっている
ことがあります。(source ~/.zshrc するとまた効き始める)
何か、ショートカットで有効になったり無効になったりするもの
なのでしょうか?
459 :名無しさん@お腹いっぱい。2009/12/05(土) 15:26:40
あと、先方予測を有効にしていると
apt-get install hoge
と入力したとして、あ、sudo しなきゃ…と思って戦闘に戻って
sudo と打ち込んだ瞬間、今までの apt-get... がそっくり消える
のですが、これは何か回避のしようがないものでしょうか?

zsh使い始めたばかりですが、余りの素晴らしさに感動しきりです
この点のみ未熟なばかりに不便に感じているのでご教示いただければ
460 :名無しさん@お腹いっぱい。2009/12/05(土) 16:12:41
>>457
setopt autolist ?
デフォルトで利いてるはずだけど。


461 :名無しさん@お腹いっぱい。2009/12/05(土) 17:22:54
>>460
レスありがとう。
autolistがデフォで利いてること、
noautolistでリスト表示は^Dで明示的に指示した時のみとなることを確認しました。

457 に示した用に、autolistが設定されている場合でも、
一意に定まらない場合にリスト表示がされないことがある、のが個人的な不満というか…。
それとも、上記の例の場合でも、常にリスト表示されているということでしょうか?
462 :名無しさん@お腹いっぱい。2009/12/05(土) 22:08:48
>>461
unsetopt listambiguous
463 :名無しさん@お腹いっぱい。2009/12/05(土) 22:37:38
これは良いことを聞いた
464 :名無しさん@お腹いっぱい。2009/12/05(土) 22:51:53
>>462
ありがとう。本当にありがたい。
465 :名無しさん@お腹いっぱい。2009/12/06(日) 00:09:09
>>458
predict-off とか bindkey してない?
じゃなきゃ zstyle :predict toggle yes してるとか。
それか BUFFER 末尾以外で ^D すると predict-off するかも。
# predict-on 使ってないからよく判らんけど。
# なんか重そう(でもないかな?)なのと、
# 動きを把握できない(仕様がよく解っていない)ので避けてたんだよね。

あと、source ~/.zshrc するより

zle -N predict-on
bindkey '^X^Z' predict-on

とかしといた方がいいような。まあ個人のスタイルかも知れないけど。
いや、predict-off はしないはずという前提で不要な bindkey をしてないだけか。

あと >>459 は predict-on が LBUFFER(カーソルより左の部分)しか見てない気がするので
多分、そういうもんじゃないかな。(んなこた解ってるって?)
多少面倒でもいいなら predict-off → type sudo → predict-on って感じかな。
無論 predict-off/predict-on は bindkey した上で。
466 :名無しさん@お腹いっぱい。2009/12/06(日) 12:15:22
>>463
俺もw

このスレって常駐してるだけで色々勉強になるから助かるわ
467 :名無しさん@お腹いっぱい。2009/12/08(火) 00:16:06
深いパスで、ないファイルを補完しようとすると _approximate あたりで
暴走してたんだけど、サンプル zshrc の

zstyle -e ':completion:*:approximate:*' max-errors \
'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )'

の指定が重かったんだ。結構、サンプルから取り込んで未検討のままに
なっているものがあるけど、これもその一部。
_approximate 自体、不要という気もするけど。
468 :名無しさん@お腹いっぱい。2009/12/10(木) 00:01:36
zsh/regex
zsh/pcre
って multibyte 対応してないのかな。そんな感じだけど。
zsh/regex は setopt multibyte しても日本語文字が singlebyte として扱われてるような感じ。
zsh/pcre は setopt multibyte すると LANG=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8 で

% [[ い -pcre-match い ]]
zsh: failed to compile regexp /い/: invalid UTF-8 string
% pcre_compile い
pcre_compile: error in regex: invalid UTF-8 string

みたいに怒られる。 [[ あ -pcre-match あ ]] は何故か成功するけど。
# ja_JP.UTF-8 以外の場合は singlebyte として扱われてる気がする。
# これは pcre が UTF-8 のみ対応してるってことかな?

「使えてるよ」って方いらっしゃいます?
469 :名無しさん@お腹いっぱい。2009/12/10(木) 01:32:38
正規表現に関してはzshは他のライブラリ(OS標準のregexなりPCREなり)を呼んで
るだけだから、そちら側の都合。
470 :名無しさん@お腹いっぱい。2009/12/11(金) 18:00:18
egrep は multibyte 認識してるっぽいけど…自前ってことか。
pcretest は UTF-8 で一応動いてるっぽいけど…pcre の UTF-8 support が実験レベルってことで、色々あるんだろうなあ。
まあとにかく動かないってことでいいか。
471 :名無しさん@お腹いっぱい。2009/12/12(土) 06:02:44
>>444
もう居ないか知らんけど…
>>447 の代わりのmigemo補完。
これ[ ttp://ja.pastebin.ca/1711428 ]を fpath に入れて

zstyle ':completion:*::::' completer _complete _migemo_complete

とかすると動く。あー、* 要らんかな?いつ * の位置が空じゃなくなるのか分からん。
対象はファイル名補完。他も動く可能性はある。
migemo と関係ない動作としては、入力文字列中の : が regex 的に .* になるってとこかな。

まずい点とかはコメントに色々書いてあるけど…
まあとりあえずいいか、というところ。個人的には特に問題ない。
人によっては ↓ あたりが問題かも。

- 入力中のメタ文字は多分うまく扱えない。
- coproc 使う人は直さないと coproc がまともに使えない。
- menucomplete でしか動かしてない。他はまともに動くか判らない。
- LANG=ja_JP.UTF-8 用なので、nkf のとこ直さないと他は無論動かない。

候補が大量にあると遅いんだけど、日本語文字がない
(というか asciiのみの)候補を対象外にすると
もうちと速くなるかも。と今思った。

てか、候補1つで補完前のカーソルの位置が補完後の全角文字の中にあると
カーソルより後の部分が補完後に表示されないなあ。redisplay で出るけど。
zsh が出力してないみたいだけど、なんでだ…

いやー、pastebin って CRLF noeol になるんだなー。
476 :名無しさん@お腹いっぱい。2010/01/05(火) 11:18:56
man すると multios では > word 2>&1 と &> word は違うよ、って書いてあるんだけど、
良く分かりません。ありがちな hoge > /dev/null 2>&1 と hoge &> /dev/null だと、
具体的にどう違うのでしょうか?
478 :名無しさん@お腹いっぱい。2010/01/09(土) 22:49:00
$ a=`jobs`
$ echo $a
で jobs の結果が a に入らないのはどうしてですか? jobsの結果を直接 tty?に流してる?
480 :名無しさん@お腹いっぱい。2010/01/10(日) 06:06:17
>>478
jobs の結果が空なだけでは
481 :名無しさん@お腹いっぱい。2010/01/10(日) 13:40:00
$ jobs で結果が見れるので、空ってことはないのですが、
>> 479 本当ですか?

結局僕はこれで取れました。
$ jobs | read a
$ echo $a
482 :名無しさん@お腹いっぱい。2010/01/10(日) 13:55:01
>>481
zsh 4.3.10で試したけど
普通に入ってる
487 :名無しさん@お腹いっぱい。2010/01/18(月) 08:02:43
Ctrl+Rコマンドヒストリ検索で日本語入力が出来なくなってるよ
488 :名無しさん@お腹いっぱい。2010/01/18(月) 08:09:03
zsh 4.3.10ではCtrl+Rコマンドヒストリ検索で日本語入力が出来ないよ
ヒストリ検索がちゃんと出来ないzsh使うなんてありえないよな
ここの連中は一体どんな環境でzsh使ってんの?
489 :名無しさん@お腹いっぱい。2010/01/18(月) 08:53:08
そもそも、インクリメンタルサーチで日本語を入力したことが無い。
491 :名無しさん@お腹いっぱい。2010/01/18(月) 20:53:25
そもそも、インクリメンタル検索で日本語入力という発想が無い。
493 :名無しさん@お腹いっぱい。2010/01/19(火) 10:05:28
setopt hist_ignore_space
していると、確かに履歴ファイルには記録されないのですが、
<C-p>で履歴を戻ったとき、出てきてしまいます。
ここでも出てこないようにするにはどうすればいいでしょうか?
494 :名無しさん@お腹いっぱい。2010/01/19(火) 12:15:23
vi [tab] とかってやったときにドットファイルも補完候補に表示してほしいんですが、
どうやったらいいですか?
498 :名無しさん@お腹いっぱい。2010/01/22(金) 10:16:09
結局 kikaku.doc とかは日本語ファイル名ってことでいいんだよね?
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 :名無しさん@お腹いっぱい。2010/02/15(月) 07:38:48
Ctrl-.なんて文字は存在しないから受け取りようがないのです。
507 :名無しさん@お腹いっぱい。2010/02/15(月) 12:53:11
ターミナルのなかで文字として受け取るか
X-client がイベントとして受け取るかの
違いが理解できていないのか?
508 :名無しさん@お腹いっぱい。2010/02/15(月) 13:26:35
emacsのxterm.elでは(define-key map "\e[27;5;46~" [?\C-.])と定義してある。
ターミナルソフト側でC-.を押したら\e[27;5;46~を送出するよう設定すればおk
509 :5042010/02/15(月) 23:37:58
ありがとうございます。
設定してxterm上ではC-.キーつかえました
でも、いつも使ってるgnome-terminal上では送出設定できなさげでorz
512 :名無しさん@お腹いっぱい。2010/02/16(火) 13:48:12
.Xdefaults(.Xresources etc.)については
xrdb の仕組み・罠とかいろいろ知らないといけない
513 :名無しさん@お腹いっぱい。2010/02/18(木) 01:37:34
cygwin上ででzshを触り始めたんですが、
.zshrc に
「windows上で動いてるなら "c:\Program files\" の
配下のファルダ全て(もしくは一つ下のサブフォルダまで)をPATHに追加」
(新しくアプリが追加されたら、次回のzsh起動時に自動的に読み込みたい)

このような処理は出来ますか?
もしできるなら、何をどう使って書けば良いでしょうか?
514 :名無しさん@お腹いっぱい。2010/02/18(木) 02:38:33
そう書けばいいんじゃないの?
515 :名無しさん@お腹いっぱい。2010/02/18(木) 02:43:26
>>514
書く方法がまったくわからないので、何かキーワードを頂けませんか?
516 :名無しさん@お腹いっぱい。2010/02/18(木) 03:16:03
>>514

ヒント:
path=($path(N-/) /*/bin(N-/) $HOME/bin(N-/))
typeset -U path
517 :名無しさん@お腹いっぱい。2010/02/18(木) 03:18:08
すまん
ミスった
>>515に
518 :名無しさん@お腹いっぱい。2010/02/18(木) 05:25:02
>>516
回答ありがとうございます。
typeset をキーワードに検索したら、それらしいページがみつかったのですが
http://en.allexperts.com/q/Unix-Linux-OS-1064/typeset-Unix-1.htm

これをやりたい事に書き直すのは自分には無理そうなので
毎回パスを手書きで追加することにします。
519 :名無しさん@お腹いっぱい。2010/02/18(木) 05:39:12
ここの説明で >>516 さんのヒントの意味がわかりましたので解決しました。
http://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 :名無しさん@お腹いっぱい。2010/02/18(木) 23:36:31
>>518
一瞬ジョークのように読めてちょっと笑った。
521 :名無しさん@お腹いっぱい。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 :名無しさん@お腹いっぱい。2010/02/21(日) 01:14:10
打ち間違いで command not found になった場合は
ヒストリファイルに残してほしくないんだけど
何かいい設定とかないでしょうか?
524 :名無しさん@お腹いっぱい。2010/03/12(金) 00:31:50
$PWD の長さを取得したいんですが、ホームにいるときは ~/ の2文字ではなく /home/username が返ってきます。ホームのときも考慮した$PWDの長さはどうやって取得できますか?
526 :名無しさん@お腹いっぱい。2010/03/12(金) 13:06:45
>>524
${#PWD/${HOME}/\~}

何がしたいのかさっぱり分からないが…
528 :名無しさん@お腹いっぱい。2010/03/14(日) 12:51:25
zsh -c "do something"
で呼び出したときに .zshenv だけじゃなく
.zshrc も実行前に呼びたいのですが、どうすればできるでしょうか?

オプションを下記サイトで探して
http://zsh.sourceforge.net/Doc/Release/zsh_15.html
RCS を使い .zshenvを読み込まない設定はできましたが
.zshrc を読み込む設定は見つかりませんでした。
529 :名無しさん@お腹いっぱい。2010/03/14(日) 13:02:11
rcは対話シェル用の設定を書くところだから、
正しいアプローチは.zshenvに該当の設定を移すことではないの?
530 :名無しさん@お腹いっぱい。2010/03/14(日) 13:15:27
>>528
一応 zsh -i +f -c 'do sth' で、無理矢理インタラクティブにしてしまえば .zshrc を読んでくれる
何のための .zshenv だよって言いたくなるが
531 :名無しさん@お腹いっぱい。2010/03/14(日) 20:56:06
>>529-530
返信ありがとうございます。
そうですね。 .zshenvに設定を移すことにしました。
532 :名無しさん@お腹いっぱい。2010/03/17(水) 01:20:42
findしまくりのbashスクリプトと、zshだけで完結しているスクリプトだったら
どっちが早いんだろ?
533 :名無しさん@お腹いっぱい。2010/03/17(水) 01:42:54
zsh で ** だとリストが長すぎてダメってことは稀によくある。
534 :名無しさん@お腹いっぱい。2010/03/17(水) 03:08:30
俺もよく稀にある。**/** 便利だから取り敢えず使っちゃう。
535 :名無しさん@お腹いっぱい。2010/03/17(水) 05:33:53
>>532
zshのほうが速いので比較するまでもない
540 :名無しさん@お腹いっぱい。2010/04/04(日) 15:54:16
>>533
いくつまでなんだっけ?いちいちfind使うのが面倒なんだよなぁ。
自分でソースからコンパイルすれば上限変えれるのかもしれんが・・・
541 :名無しさん@お腹いっぱい。2010/04/08(木) 16:31:18
>>540
きょうび自分でカーネルリコンパイルなんてFreeBSDくらいじゃないかね。
542 :名無しさん@お腹いっぱい。2010/04/08(木) 16:32:42
そういう話じゃなくて。
545 :名無しさん@お腹いっぱい。2010/04/09(金) 08:46:43
>>542
いやでも、自分でソースからコンパイルすれば上限は変えられるけど
カーネルリコンパイルってなかなか手を出さないと思うけどな。

カーネルアップデートがある度にやり直しなわけだし。
550 :名無しさん@お腹いっぱい。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とやっても同じで不便ですね。
552 :名無しさん@お腹いっぱい。2010/04/15(木) 22:18:45
seqはGNU coreutils以外にもあるの?
553 :名無しさん@お腹いっぱい。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} で大丈夫
557 :名無しさん@お腹いっぱい。2010/04/16(金) 11:43:29
自分だったらこんな感じかな
for i in {1..10}
echo $(printf "%02d" $[i*2] )

>556 辺りが一番すっきりなんだろうけど
たぶん必要なときにこれを思い出さない気がする…
558 :5502010/04/16(金) 15:00:37
皆さんありがとうございます。色々ありますね。
自分は今のところprintfで桁数を整えています。

>>553
>bash なら {01..99..2} で大丈夫
こちらのbash 3.2では解釈してくれず、{01..99..2}がそのまま i に入ってしまいました。
4.xでの機能でしょうか?
559 :名無しさん@お腹いっぱい。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 :名無しさん@お腹いっぱい。2010/04/19(月) 21:53:25
上はバグかな。
下はそういうもん。
561 :名無しさん@お腹いっぱい。2010/04/20(火) 18:21:48
>>560
>上はバグかな。
まじすか・・・4.2.6なんですが、新しいのだと直ってるんですかね?

>下はそういうもん。
まじすか・・・ファイルシステムが異なる場合はrename関数でinodeを書き換えるのではなく、
新規に作って元のを消すという仕様だったと思いますが、それがきちんと実装されていない
ということですかね?だとするとこれもバグのような気が・・・
563 :5592010/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 :名無しさん@お腹いっぱい。2010/04/25(日) 18:47:04
どういう機能か書いてくれないからbashのマニュアルを調べてしまった。
hash_cmds かな?
566 :名無しさん@お腹いっぱい。2010/04/29(木) 00:33:11
>565
ごめん, Z な漢たちに bash の説明なんて余計なお世話だったらどうしようかと,

そして, ありがとう. man zshoptions ですね.
567 :名無しさん@お腹いっぱい。2010/04/29(木) 20:57:24
hash_cmdsってハッシュテーブル使うって意味だよね
利点がいまいち分からないんだが・・・
体感するほど速くなる?
569 :名無しさん@お腹いっぱい。2010/04/29(木) 21:11:58
>>564 は (bashの) set +h (ハッシングをしない)相当をやりたいの
だから、zshで実際に設定するのは nohashcmds のほうになるはず。
570 :名無しさん@お腹いっぱい。2010/04/29(木) 21:14:21
>>569
それでもいいけど、set +o hash_cmds で無効に設定できるよ
571 :名無しさん@お腹いっぱい。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 :名無しさん@お腹いっぱい。2010/04/29(木) 23:01:50
実行可能なファイルをパスの通ったところに放り込むと直後にそのファイルがタブ補完で呼べる、
という挙動が hash_cmds と no_hash_cmds の両方で同じだった。

もしかして、コマンド補完が効くというのはハッシュとは関係ないの?
573 :5722010/04/29(木) 23:03:38
お、>>571と似た話かな?
この辺誰か解説してくだしあ。
574 :名無しさん@お腹いっぱい。2010/04/29(木) 23:23:21
>>572
一度補完させた後に新規に作成したファイルは補完されない
575 :名無しさん@お腹いっぱい。2010/04/30(金) 18:17:41
bindkey -v使いたいんだが...
どっかにvimのヴィジュアルモード再現してくれる猛者いねーかな。
アレが無いと、削除もヤンクも使えたもんじゃない。
おかげでbindkey -e使うハメに。くつじょく
チラウラスマソ
576 :5722010/05/01(土) 00:59:09
いまいち分からなくて色々調べてたんだけど、no_hash_cmds だとハッシュが
一切関係なくなるかと思ったら、タブ押した瞬間にハッシュに登録されるようで、
以降PATHのより上位に同じのをコピーしても最初のやつが参照される。

PATHを探索するタイミングとハッシュが登録されるタイミングというのは
どうやら同じではないらしい・・・。

うーん、なんか腑に落ちないけどまぁいいや。いずれにしろ、名前がカブってるのを
異なるパスに置くなんてことをしない限り(普通しないよね?)関係ない話だし。
577 :名無しさん@お腹いっぱい。2010/05/06(木) 15:58:29
bashのhistory -d offset みたいに指定した履歴行を削除する方法はありますか?
579 :名無しさん@お腹いっぱい。2010/05/08(土) 00:04:43
>>575
bindkey -M vicmd v set-mark-command
とかなんかして適当に
foo-delete/foo-yank 作ればいけるんじゃない?
580 :名無しさん@お腹いっぱい。2010/05/08(土) 04:00:03
>>579
ありがとう。感謝感謝

zshall 読む気にならないのは俺だけではないはず。
いや、このスレ的には読んでないと駄目なのか
582 :名無しさん@お腹いっぱい。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=5812010/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 :名無しさん@お腹いっぱい。2010/05/09(日) 23:45:54
うーん。だめじゃない?
表示内容を取るエスケープシーケンス(じゃなくて制御シーケンスか?)
とかあれば、それ使うか、screen と同じことをするか。
あんまり zsh でやることでもないような。

>>583
bindkey してるんを直接実行するんじゃだめなん?
586 :5752010/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
}
588 :5752010/05/10(月) 08:19:40
連投すまぬ
当たり前だけど、使う時はbindkey -vしてちょ
このスレの人なら、こんなこと言う必要ないな…
589 :5752010/05/11(火) 08:22:00
マジで連投申し訳ない。今回以降は書き込まない。
http://zshscreenvimvimpwget.blog27.fc2.com/作ったので、こっちでやる。
スレ汚しごぬんなさい…

とりあえず、Vモードを追加して、無駄に昨日を増やしてみた。oとか。
大体vimのビジュアルモードに準拠してるけど、vで設定した位置より右にいくと、
感覚からちょっとズレる。ここを改良するのが今後の課題だが難しいな。
590 :名無しさん@お腹いっぱい。2010/05/13(木) 18:45:07
$PREFIX/share/zsh/4.3.*/functions/ にある特定のファイルだけ読み込まないようにする方法ってありますか?
591 :名無しさん@お腹いっぱい。2010/05/16(日) 00:16:26
functions/Completion の話?

>>575
いいんじゃないっすか?過疎ってるし。
過疎ってなくてもいいと思うけど。
592 :名無しさん@お腹いっぱい。2010/05/16(日) 00:26:50
svn [TAB]で補完が効く状態(=関数 _svn が実行できる)で
unfunction _svn
としたら
svn [TAB]で command not found: _svn が出るようになったから、
unfunctionでいいんじゃないだろうか。
593 :5752010/05/18(火) 20:19:19
vim-ビジュアルモードが、ほぼ再現できたのでスクリプトを貼っておく。
意見をくれた人サンクス
詳しくはhttp://zshscreenvimvimpwget.blog27.fc2.com/blog-entry-3.html
ヘルプhttp://zshscreenvimvimpwget.blog27.fc2.com/blog-entry-4.html

以下のファイルの拡張子txtを省いて、~/hoge/ファイル名
みたいに保存して、
~/.zshrcにsource ~/hoge/ファイル名
と書き込むべし。

linux_fedora12のzsh4.3.10で動作確認済
http://blog-imgs-44.fc2.com/z/s/h/zshscreenvimvimpwget/zsh_vim_visualmode_linuxver.txt

MAC-OSXのzsh4.3.9で動作確認済
http://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 :名無しさん@お腹いっぱい。2010/05/20(木) 23:02:47
ls --color=autoでTABの補完候補を表示させると、
hoge.bmpなどのディレクトリが.bmpファイルの色になります。
補完候補ではなく、普通にlsで見たときはディレクトリ色なんですが。

どなたか分かる方いますか?もしzshのせいでなかったらすいません。
595 :名無しさん@お腹いっぱい。2010/05/20(木) 23:27:41
手元の環境ではhoge.bmpでもディレクトリとして色付けされる
関係する設定といったら
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
ぐらいしか無いような気がするけど
596 :5942010/05/21(金) 12:19:50
>>595
そうですよね。

completionもlsも、どちらもzsh内の機能だから色付けも統一されるはずと思ったけど、そうじゃないってことかな。
ディレクトリ名に.bmpって付ける癖を直すしかないか・・・
599 :名無しさん@お腹いっぱい。2010/05/29(土) 20:09:15
1行目を #!/bin/zsh としたzshスクリプトの、syntaxの色が
bashのときより素っ気ないのでカスタマイズしたいのですが、
どこの辺をいじればいいでしょうか?
/usr/share/vim/ 以下のファイルでしょうか?
601 :名無しさん@お腹いっぱい。2010/06/01(火) 07:22:37
>>594
同じような状況になった事があった気がするんだけど、
ディストリビューションは何使ってるの?
その ls はBSD系じゃなくてGNU fileutilsのコマンドになってる?
604 :5942010/06/02(水) 11:48:46
>>601
CentOS 5.2、zshのバージョンは4.2.6です。
605 :名無しさん@お腹いっぱい。2010/06/13(日) 03:41:31
>>594
print -l $LS_COLORS $ZLS_COLORS
zstyle -L |grep list-colors

をはった方が話が早いのではなかろうか
606 :5942010/06/15(火) 18:07:45
>>605
見苦しくて恐縮ですが貼らせて頂きます。(適宜改行してます)

$ echo $LS_COLORS
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:
mi=01;05;37;41:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:
*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:
*.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:
*.png=01;35:*.tif=01;35:*.avi=01;33:*.mpg=01;33:*.mpeg=01;33:*.wmv=01;33:*.o=00;38;05;216:

$ echo $ZLS_COLORS
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:
mi=01;05;37;41:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:
*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:
*.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:
*.png=01;35:*.tif=01;35:*.avi=01;33:*.mpg=01;33:*.mpeg=01;33:*.wmv=01;33:*.o=00;38;05;216:
(-default-)no=00:(-default-)fi=00:(-default-)di=01;34:(-default-)ln=01;36:(-default-)pi=40;33:
(-default-)so=01;35:(-default-)bd=40;33;01:(-default-)cd=40;33;01:(-default-)or=01;05;37;41:
(-default-)mi=01;05;37;41:(-default-)ex=01;32:(-default-)*.tar=01;31:(-default-)*.tgz=01;31:
(-default-)*.arj=01;31:(-default-)*.taz=01;31:(-default-)*.lzh=01;31:(-default-)*.zip=01;31:
(-default-)*.z=01;31:(-default-)*.Z=01;31:(-default-)*.gz=01;31:(-default-)*.bz2=01;31:
(-default-)*.bz=01;31:(-default-)*.tz=01;31:(-default-)*.rpm=01;31:(-default-)*.cpio=01;31:
(-default-)*.jpg=01;35:(-default-)*.jpeg=01;35:(-default-)*.gif=01;35:(-default-)*.bmp=01;35:
(-default-)*.xbm=01;35:(-default-)*.xpm=01;35:(-default-)*.png=01;35:(-default-)*.tif=01;35:
(-default-)*.avi=01;33:(-default-)*.mpg=01;33:(-default-)*.mpeg=01;33:(-default-)*.wmv=01;33:
(-default-)*.o=00;38;05;216




608 :名無しさん@お腹いっぱい。2010/06/16(水) 08:10:12
グローバルエイリアスって
% alias -g hoge="|ls"
% touch hoge
touch: missing file operand
詳しくは `touch --help' を実行して下さい.
zsh: exit 1 touch |
zsh: done ls -F --color=auto
%

ありがちなのをつけるとマズいんだな・・・
610 :名無しさん@お腹いっぱい。2010/06/16(水) 14:48:21
グローバルエイリアスにした文字を普通の文字にエスケープするのって不可能?
613 :名無しさん@お腹いっぱい。2010/06/24(木) 16:26:39
$ cp /foo /bar  まで打ってからCtrl+wを押すと、1ワード消えて
$ cp /foo /  になりますが、もう1回押すと
$ cp /  になります。これを
$ cp /foo  で止める方法はありませんか?
614 :名無しさん@お腹いっぱい。2010/06/24(木) 23:13:19
ある。
616 :6132010/06/25(金) 11:43:43
>>614


かなりググりましたが、分かりませんでした。すいません教えてください。
ちなみに WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' にしています。
空白も単語の区切りに設定できれば出来そうな気がしますが・・・
617 :名無しさん@お腹いっぱい。2010/07/04(日) 04:34:19
>>606
その設定だと aaaaa.bmp/ が青boldで出るけど。
baaaa.bmp はマゼンダboldで出る。

% echo $ZSH_VERSION
4.3.9
618 :名無しさん@お腹いっぱい。2010/07/10(土) 01:44:41
>>616
backward-kill-word-match とか使えばなるんじゃない?
とか適当いってみる。
619 :名無しさん@お腹いっぱい。2010/07/25(日) 00:07:51
二段プロンプトなんてログ見づらくなるだけじゃね、と思ってたけど、
PROMPT="┌[${USER}@${HOST}][%~]
└ "
こんな設定を見て目から鱗が落ちた。かなり良い。
621 :名無しさん@お腹いっぱい。2010/07/25(日) 01:11:01
俺はプロンプトと入力行が別だとすげー落ち着かない
余所の家のトイレぐらい落ち着かない
623 :名無しさん@お腹いっぱい。2010/07/25(日) 15:32:27
一行に色々つめ込むと見にくいんで
多段プロンプトにしてPROMPT=$派かな
625 :名無しさん@お腹いっぱい。2010/07/28(水) 20:53:00
1行目にユーザ、ホスト、PWD、現在時刻表示させて、
2行目に$ だけ
627 :名無しさん@お腹いっぱい。2010/07/29(木) 13:11:09
時間は何気に役に立つんだよね。
そういえば、スクリプトの完了通知が欲しい時ってどうしてる?
終わったらgnomeのnotifier呼ぶとかかな
628 :名無しさん@お腹いっぱい。2010/07/30(金) 02:53:46
時刻は、端末の右下にscreenの機能で表示させる

そうか。プロンプトに時刻出しておくと、コマンドの実行時刻が分かるのか。
たしかに便利そうだ。
630 :名無しさん@お腹いっぱい。2010/08/03(火) 20:27:33
i-searchでCtrl-rで遡っているときにバックスペースを押すと
逆方向に降りる(つまりCtrl-s)動作になるのですが、
これを普通に検索ワードの後方削除にする方法を教えてください。
631 :名無しさん@お腹いっぱい。2010/08/12(木) 13:55:03
2つ下にcdする用に alias -g ....='../..' とやってるけど、なんか一抹の不安が・・・
同じことしてる人いますかね?大丈夫だよね?

昔どっかで rm -rf .* で全て消えたってスレがあったのを思い出した
632 :名無しさん@お腹いっぱい。2010/08/13(金) 02:43:27
rm .... したらって話? rm ../.. とそう変わらない気がするけど。
alias ....='cd ../..' じゃだめなの?
まあ俺は c () { cd ../${*:gs@.@../@} } で c . ってしてるけど。

>>630
こんなことは知っているかもしれないが、
backward-delete-char とかのkeyを押すとそうなる。
backward-delete-word とかのkeyを押すと削除される。
634 :名無しさん@お腹いっぱい。2010/08/30(月) 18:01:59
>=とかの算術演算子って使えるはずだよね?
[ 1 <= 2 ] && echo "true" ってやったらエラーになるんだけど
635 :名無しさん@お腹いっぱい。2010/08/30(月) 18:14:37
(( 1 <= 2 )) && echo true
636 :名無しさん@お腹いっぱい。2010/08/30(月) 20:14:24
>>635
どうもです。(( ))って条件文でも使えるんだ

てか、[[ と (( って機能が被ってないですかね?
<は両方とも使えるけど、<=は((だけ、-eなどの条件文は[[だけみたい
637 :名無しさん@お腹いっぱい。2010/08/31(火) 15:37:27
[ ] [[ ]] (( )) の使い分けはzshの難関の一つだねぇ
zshall読んでもなかなか覚えられん
638 :名無しさん@お腹いっぱい。2010/08/31(火) 19:19:58
compdef書けるようになるとかなり幅が広がるな
つーかラッパーにもってこいだな
639 :名無しさん@お腹いっぱい。2010/08/31(火) 19:29:36
>>636
[[ の中の < と、
(( の中の < は意味が違うんだよ。

[[ 12 < 3 ]] && echo TRUE
と、
(( 12 < 3 )) && echo TRUE

を試せばわかる。
640 :6362010/08/31(火) 22:15:17
>>639
[[ の<は文字列比較でしたか・・・Σ(゚д゚;;)
やばいミスをしでかす前に気づいてよかった

つまり[[と((はちゃんと使い分けろってことね
641 :名無しさん@お腹いっぱい。2010/09/01(水) 18:34:41
zkbdをautoloadしてから実行したら zkbd: must be run as a function or shell script, not sourced ってなった。
直接 zsh -f /usr/local/share/zsh/4.3.10/functions/zkbd ってすれば動くけど。なんだこれ
644 :名無しさん@お腹いっぱい。2010/09/02(木) 04:39:19
diffの引数逆にするだろ普通。
645 :名無しさん@お腹いっぱい。2010/09/02(木) 23:02:14
>>644
普通?ってwwww
いいだろ、どうだろうと、カチカチあたまくん
646 :名無しさん@お腹いっぱい。2010/09/03(金) 00:17:10
>>645
diff使い慣れないから普通が分からないだけだろ。
647 :名無しさん@お腹いっぱい。2010/09/03(金) 08:48:01
古い方を前にするのが普通だよ。
でないと -u の -,+ とあわない。
648 :名無しさん@お腹いっぱい。2010/09/03(金) 11:22:46
lnだって ln -s 古くからあるファイル 新しい名前 みたいな順だしなあ
649 :名無しさん@お腹いっぱい。2010/09/03(金) 11:25:34
>645 みたいなのは徹底して叩いておかないと、
いずれ凡ミスが原因で他人の足を引っ張った挙げ句逆ギレするタイプ。
650 :6412010/09/03(金) 12:08:57
なんか変な流れになってるが俺のせいなのか・・・
>>641は新・旧という意識でdiffしたわけじゃなかったのでこうしただけだが。
別にいいじゃないすかパッチ作るわけじゃないし(駄目?

ググったら極わずかだけど同じこと言ってる人いた。だいぶ前だが
651 :名無しさん@お腹いっぱい。2010/09/03(金) 13:36:07
>>649
その通り。
無能な働き者はあらかじめ粛清しておくに限る。
652 :名無しさん@お腹いっぱい。2010/09/03(金) 13:41:23
>>650
駄目ではないけど、普通ではない。
653 :名無しさん@お腹いっぱい。2010/09/03(金) 14:33:30
>>648
ln の仕様は確かに糞だな
654 :名無しさん@お腹いっぱい。2010/09/03(金) 14:56:41
それはlsとかで 古い -> 新しい みたいな表示をするせいだろ。
656 :名無しさん@お腹いっぱい。2010/09/04(土) 22:56:55
関数のexportってexport -fですよね?以下が駄目なのは何故ですか?

$ zsh --version
zsh 4.3.10 (x86_64-redhat-linux-gnu)
$ a () {
echo "calling a"
}
$ export -f a
a () {
echo "calling a"
}
$ a
calling a
$ zsh
$ a
zsh: command not found: a
657 :名無しさん@お腹いっぱい。2010/09/05(日) 07:13:06
>>656
> 関数のexportってexport -fですよね?
は?
658 :6562010/09/05(日) 21:03:37
>関数のexportってexport -fですよね?
bashだとそうですが、zshだと違うみたいですね
というか単に出力するだけ?
659 :名無しさん@お腹いっぱい。2010/09/17(金) 17:59:14
Windows7上のCygwin on rxvt SJIS環境 zsh 4.3.9で
printf()による出力がある自作CUIプログラムを実行すると
出力の末尾に%記号が反転されて表示されるのですが、原因としては何が考えられるでしょうか?

同様にbashでもプログラムを実行しましたがこちらでは問題ありませんでした
通常のCygwin上で実行したzshだとコマンドラインを空の状態で
Enterキーを押しても反転された%が表示されます
コマンドを実行した際は末尾に表示されます

プログラムは以下でgccとVSのclコマンドでコンパイルして試しました
---------------
#include <stdio.h>
int main(void) {
printf("hoge");
}
---------------
出力
$ gcc -o main.exe main.c
$ ./main.exe
hoge%
---------------
.zshrcの設定
export TERM=vt100
export TERM=xterm
export LANG=ja_JP.SJIS
export LESSCHARSET=japanese-sjis
660 :名無しさん@お腹いっぱい。2010/09/17(金) 18:38:37
>>659
printf()の文字列に改行を入れてないのが間違い。
bashではたまたま設定で頭に改行コードが付いたプロンプトを使っていたので
うまくいってるように見えただけ。
zshでは、設定で反転文字の%のプロンプトが設定されていたというだけ。

で、zshの話題とは全然関係ない。
661 :名無しさん@お腹いっぱい。2010/09/17(金) 18:41:24
>>660
どうどうと、嘘つくな
662 :6592010/09/17(金) 18:56:35
PROMPT変数にWindowsが$P$Gを入れてたので
prompt elite2 greenなどでプロンプトを設定していましたが
PROMPT=''で表示を変えても%が表示されるのは確認しました
Windows標準のコマンドプロンプト上でzshを起動しても同様です
664 :名無しさん@お腹いっぱい。2010/09/17(金) 19:10:06
zshもCも関係なくUNIXのお約束として特別な事情がないかぎり入出力とかファイルの末尾は改行じゃなきゃいけないの
本来末尾にあるべき改行がねえぞって注意してくれてんの

% echo "hoge"
hoge
% echo -n "hoge"
hoge%
% echo -n "hoge\n"
hoge
665 :名無しさん@お腹いっぱい。2010/09/17(金) 19:59:09
>>664
偉そうに、デタラメ言うな
666 :6592010/09/17(金) 23:00:07
>>664
お約束事でしたか。詳しく書いてくださってありがとうございます。
CUIプログラムに改行を付け加えたら無事に動作しました。
667 :名無しさん@お腹いっぱい。2010/09/17(金) 23:20:39
>>661 = >>665 の立場がなくなったなww
669 :名無しさん@お腹いっぱい。2010/10/08(金) 15:12:52
historyって宝ですよねー
何度か消えてしまって泣いたことがある
setopt share_historyしてるからかな
671 :名無しさん@お腹いっぱい。2010/10/15(金) 13:15:10
$ echo $HISTSIZE
10000000
672 :名無しさん@お腹いっぱい。2010/10/15(金) 15:06:42
俺も HISTSIZE=10000 だった

ついでに、何故か LISTMAX=10000000000 とかしてた
あまり考えずに大きい値にしたから 32ビット超えてるけど動いてるからいいか
673 :名無しさん@お腹いっぱい。2010/10/15(金) 19:58:14
>>671
すげえなw
でもある意味プライバシーの塊だな
674 :名無しさん@お腹いっぱい。2010/10/15(金) 20:57:00
>>669
ディスクが100%になって端末がおかしくなってログアウトしたら
historyの書き込み失敗したのかhistoryファイル自体があぼーんしたわ
それ以来historyもバックアップとるようになった
675 :名無しさん@お腹いっぱい。2010/10/16(土) 00:14:59
>>673
今見たら.zsh_historyが1.2MBもあったw
679 :名無しさん@お腹いっぱい。2010/10/17(日) 00:27:21
>678
敢えて zsh スレでそんなこと書くって釣り宣言?
682 :名無しさん@お腹いっぱい。2010/10/30(土) 19:43:55
cygwinのzshでHISTFILE=$HOME/.zsh-history と設定してヒストリーを使おうとすると、
zsh: failed to create hard link as lock file .zsh-history.LOCK: permission denied
とエラーが出るのですが、回避方法はないでしょうか?
よろしくお願いします。
684 :名無しさん@お腹いっぱい。2010/11/03(水) 10:49:01
>>682
そんぐらいググってくれ
ntfsにすれば解決
686 :名無しさん@お腹いっぱい。2010/11/12(金) 17:28:50
>>82
僕もなぜか新しいscreen立ち上げたときは反映されなくてsourceしたらようやく反映される設定があったけど
.zshenvに書いたら大丈夫だったよ.
687 :名無しさん@お腹いっぱい。2010/11/13(土) 18:09:16
>>686
インタラクティブシェルのときは.zshrcは読まれるはずなんだけどな
688 :名無しさん@お腹いっぱい。2010/11/14(日) 02:34:18
.zshrcの該当箇所より前にエラーがあったとか
689 : [―{}@{}@{}-] 名無しさん@お腹いっぱい。2010/11/14(日) 03:00:43
>>687
そうだよね.そう思ってたんだけどなぜか読まれない設定もあるみたい
690 : [―{}@{}@{}-] 名無しさん@お腹いっぱい。2010/11/14(日) 03:10:44
>>688
エラーがあったらzshはそのエラーの箇所を教えてくれるじゃん
692 :名無しさん@お腹いっぱい。2010/11/18(木) 15:38:06
sshのログイン先で実行したzshスクリプトをdisownしてからログアウトすると、
何故かプロセス終了まで待たされてしまいます。
$ cat hoge.sh
#!/bin/zsh
sleep 3
$ ./hoge.sh &>/dev/null </dev/null &!
$ exit <---待たされる

スクリプトをzsh以外にしたり直接プロセスを実行したりすると、ちゃんとログアウトできます。
$ cat hoge.sh
#!/bin/sh
sleep 3
$ sleep 3 &>/dev/null </dev/null &!

入出力は全部閉じてるはずなんですが、zshだと何故こうなるんでしょうか?
693 :名無しさん@お腹いっぱい。2010/11/18(木) 19:50:47
試したけど待たされなかったよ。なんか他に条件があるのかも。
694 :6922010/11/18(木) 21:20:48
>>693
そうですか。
check_jobs が関係するかなと思いましたが、有りと無しともに同じでした。
他の設定が悪いのかと思い、rm -r .z* して試しましたが、やはり同じでした。

↓バージョンです
$ zsh --version
zsh 4.3.10 (x86_64-redhat-linux-gnu)
695 :名無しさん@お腹いっぱい。2010/11/22(月) 20:15:39
たまに「.zhistory.84VoUD」みたいなテンポラリ的な履歴が作られるんだけど何でだろう?
ログアウトはちゃんとしてるのに
697 :名無しさん@お腹いっぱい。2010/12/02(木) 13:16:49
別のファイルで先にHISTFILEが設定されていてそっちから読まれちゃったとか?
698 :6962010/12/06(月) 13:00:10
すいません、超勘違いで無事に書き込みされていました!
699 :名無しさん@お腹いっぱい。2010/12/06(月) 20:39:58
SuSEとかだと/etc/zsh*で結構設定してるんだよな
HISTFILEを.zshenvに書いてたせいでハマった覚えが
700 :名無しさん@お腹いっぱい。2010/12/19(日) 19:12:31
bashの「変数のn文字目からm文字目を取り出す」という機能はzshにはないんですか?
こんな感じのやつです
$ str=hoge
$ echo ${str:1:2}   ←先頭は0から
og
$ echo ${str:1}   ←2つ目を指定しないと末尾まで
oge

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006