zsh その6at UNIX
zsh その6 - 暇つぶし2ch291:名無しさん@お腹いっぱい。
09/07/14 22:19:08
unsetopt hist_reduce_blanks

292:名無しさん@お腹いっぱい。
09/07/14 22:25:35
>>291
それは「末尾の空白削らずに」にはならない。
というか、最初から unsetopt hist_reduce_blanks 状態だし。

293:288
09/07/15 23:25:10
少し勘違いしてました。仰る通り、最初からunsetopt hist_reduce_blanksでした。
何がしたかったかというと、例えば、(■はカーソルです)

ls /etch/zshr■ ・・・①

まで打ってからTAB押すと

ls /etc/zshrc ■ ・・・②

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

デフォルトではこういう設定なのだと思いますが、見た目通りにヒストリに
記録できたほうが使いやすいなと個人的に思った次第です。

294:名無しさん@お腹いっぱい。
09/07/17 22:02:45
zshrcで、PROMPTの中に改行を含めて2行で表示しています。
この状態でRPROMPTを設定すると、2行目の右端に表示されます。
1行目の右端にも文字を表示したいのですが、どうしたらいいですか?

295:名無しさん@お腹いっぱい。
09/07/25 14:43:54
「zshの本」って買いですか?
当方 zsh 歴1ヶ月の noob です。

296:名無しさん@お腹いっぱい。
09/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 後に文字列を足す方法って、ありませんでしたっけ?

# 前に、どっかで見た気がするんだよな~。


297:名無しさん@お腹いっぱい。
09/07/25 17:04:43
% setopt histsubstpattern
% echo a*.txt(:s/#/--option=/)
--option=a1.txt --option=a2.txt --option=a3.txt

298:名無しさん@お腹いっぱい。
09/07/25 17:52:22
zshのインストールの時点でつまりました><

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

ここで質問なんですけど
スーパーユーザーじゃなくてもzsh-4.3.9はインストール出来ますか?

299:名無しさん@お腹いっぱい。
09/07/25 17:53:26
出来る。回答終了。

300:名無しさん@お腹いっぱい。
09/07/25 18:56:11
>>298
             +-----------------------+ +------+
G o o g l e  | configure --prefix    | | 検索 |
             +-----------------------+ +------+

301:名無しさん@お腹いっぱい。
09/07/25 19:39:59
zsh以前の問題だな

302:名無しさん@お腹いっぱい。
09/07/26 01:00:04
/etc/shellsに書かないとログインシェルに使えない環境なら
ログインシェルからzshをexecすれ。


303:名無しさん@お腹いっぱい。
09/07/26 06:45:53
素人がそれをやると無限ループしたりするけどな

304:名無しさん@お腹いっぱい。
09/07/26 20:23:06
昔はよくやらかして死す缶に怒られたもんだ><

305:名無しさん@お腹いっぱい。
09/07/28 06:32:37
>>298だが…
返信ありがとう!
configure --prefix したんだが
「checking if tcsetpgrp() actually works... error
configure: error: unexpected return status」と最後の2行に出て
インストールできなかったorz

Solalis 10 のバージョンが低いのが原因か…?

306:名無しさん@お腹いっぱい。
09/07/28 08:31:56
ncursesとかいれている?

307:名無しさん@お腹いっぱい。
09/07/28 17:39:47
「zshの本」に「うんこ」の単語発見

308:名無しさん@お腹いっぱい。
09/07/28 17:54:52
>>307
ありがと。あやうく買うところだったよ。やっぱくそ本なんだな。

309:307
09/07/28 18:23:41
>>308
いや、買うなとは言ってないんだけど。
一見「tcshはうんこ」みたいな表現を抑えたのかなと思ったら消し忘れがあってちょっと笑った、て程度の話。

310:名無しさん@お腹いっぱい。
09/07/31 04:19:25
>>309
え,あれ,消し忘れだったのかw
なんでいきなりtcshの仕様をうんこで修飾してるんだろうとは思ったがw

311:名無しさん@お腹いっぱい。
09/07/31 19:00:10
ls
Desktop/ aa.file bb.file cc.file

ってあって,D入力してタブでDesktopって補完してほしいけど
他にDBUS_SESSION_BUS_ADDRESS DESKTOP_SESSION DISPLAY
やらがでて来てうっとうしいんですけども,どうすればいいですか?

312:名無しさん@お腹いっぱい。
09/08/02 17:14:20
>>309
ワロタ
わざとなんじゃないのかそれw

313:名無しさん@お腹いっぱい。
09/08/04 19:11:12
cp でフォルダ渡したときに 頭よく再起でフォルダごとコピーしてくれないかね?
フォルダかファイルで判別するとか

314:名無しさん@お腹いっぱい。
09/08/04 19:25:14
>>313
alias cp='cp -r'

315:名無しさん@お腹いっぱい。
09/08/04 20:00:08
>>314
あっ ほんとだ・・・・・ 恥ずかしいっす

316:名無しさん@お腹いっぱい。
09/08/04 22:01:38
ESC-h で$#0を引数にrun-helpしてくれますが
これを $#0がniceだとかsudoだとかのときに$#1を引数にrun-helpしてくれる
ようにできませんかね。ESC-H とかで。

317:名無しさん@お腹いっぱい。
09/08/05 16:23:26
zshって、ゼットシェルって発音でおk?
で、英語発音だとズィーシェルになるんかね?

318:名無しさん@お腹いっぱい。
09/08/05 16:37:25
>>317
Cシェルのもじりでもあるので、Cに濁点を付けたイメージで。


319:名無しさん@お腹いっぱい。
09/08/05 20:52:19
俺の職場の人は雑種って呼んでたけど少数派かな

320:名無しさん@お腹いっぱい。
09/08/05 20:55:17
ズィーシュ

321:名無しさん@お腹いっぱい。
09/08/05 21:06:43
ズシュ(刀で切られた感じで)

322:名無しさん@お腹いっぱい。
09/08/05 22:40:20
デジャヴです

323:名無しさん@お腹いっぱい。
09/08/07 00:44:20
zsh使いは「ゼッシャー」でおk?

324:名無しさん@お腹いっぱい。
09/08/07 00:48:57
Z武

325:名無しさん@お腹いっぱい。
09/08/07 09:10:08
>>324
やめろ

326:名無しさん@お腹いっぱい。
09/08/07 19:48:58
>>324
笑いどころはどこでしょうか

327:名無しさん@お腹いっぱい。
09/08/07 21:13:02
$SHELLがbashの環境で、screen起動時に、rcを指定したzshを起動しようとしています。
ただのzshならscreenrcに shell zsh と書けばいいのですが、自分のzshrcを指定する方法が分かりません。
今はscreenの各ウィンドウでいちいち source /path/to/myzshrc としてます。
どうしたらrcを指定してzshを起動できますか?

328:名無しさん@お腹いっぱい。
09/08/07 21:19:17
環境変数でも使えば。

329:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/10 22:33:12
質問させてください。

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

/とか、デリミタっぽいところまで一気にbackspaceさせたいのです。
教えていただけると幸いです。

331:名無しさん@お腹いっぱい。
09/08/10 23:06:29
>>330 WORDCHARS=`echo "$WORDCHARS" | sed 's!/!!'` とでもしてWORDCHARSから / を抜いてしまうのはグローバルに影響するから 宜しくないかな?

332:名無しさん@お腹いっぱい。
09/08/11 01:37:58
最近tcshから乗り換えたんだが…
tcshでは「/!* &」をaliasで設定するとbgで常に実行されて便利だったので
zshでも設定したんだがうまくbgで実行されなかったorz

333:名無しさん@お腹いっぱい。
09/08/11 03:33:26
>>332
関数を使って、
xv() { command xv "$@" & }
とかすればOK。
ただ、全部これを定義するのは厄介だと前から
思ってるんだけど、何かいい方法はないだろうか。

334:名無しさん@お腹いっぱい。
09/08/11 05:37:22
地震をzshでなんとかするには?

335:名無しさん@お腹いっぱい。
09/08/11 09:43:20
地震後一定時間キー入力がなかったら
生存していないとみなして
rm -rf /erodata を実行するようにしておくとか



…なんていうタイムアウトがないかと
info 見てみたけどなさそうだぬ

336:名無しさん@お腹いっぱい。
09/08/11 12:47:50
>>330
一発ではないけどvi-backward-kill-wordを使えば多少は楽になる。

337:名無しさん@お腹いっぱい。
09/08/11 17:55:42
>>336
bindkey "^W" vi-backward-kill-word

でいい感じになった。>>330 じゃないけどthx

338:名無しさん@お腹いっぱい。
09/08/12 09:24:09
>333
emacsで設定したらエラーが出てしまうなぁ…

339:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/16 01:35:08
csh由来のmodifierは
head ⇔ tail
root ⇔ ext
extの意味は勘違いしないだろうから、そこからはじめれば他もわかるでしょ。


343:名無しさん@お腹いっぱい。
09/08/16 04:52:49
そういやなんで a/b.ext の a/b が root name なんだろう

344:名無しさん@お腹いっぱい。
09/08/18 01:27:41
なに root name って。

$dirname/$(basename file ext) ?キモ

345:名無しさん@お腹いっぱい。
09/08/18 05:29:48
質問
補完候補からディレクトリを除外するにはどうしたらいいですか?
% vi でタブを押したときにディレクトリがマッチして使い辛いです。
間違ってディレクトリを開くこともしばしば……

346:名無しさん@お腹いっぱい。
09/08/18 05:51:55
その動作で構わんだろ。サブディレクトリ中のファイルを指定することも考えろよ。



347:345
09/08/18 15:33:00
詳しい方のみ回答をお願いします。
また回答者の主義・主観の主張はご遠慮ください。

348:名無しさん@お腹いっぱい。
09/08/18 16:20:42
次の方どうぞ

349:345
09/08/18 18:39:18
自己解決しました。

350:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/20 06:16:14
>>350
>>187

352:350
09/08/20 06:40:46
>>351
うは、同じスレに答えが、しかもFAQネタorz

ありがとうございました。
${=PAGER} でいけましたっす。

353:名無しさん@お腹いっぱい。
09/08/21 17:53:16
実際使っててどっちが使いやすいんだろうな?
zshのデフォがno_sh_word_splitということは、それはそれでメリットがあるからやってるんだろうけど
大してzsh使い込んでないんでよう分からん

354:名無しさん@お腹いっぱい。
09/08/22 01:53:19
個人的には no_sh_word_split だけど migemo 補完って誰かやってる? (前半と後半に関係は特にありません。)

355:名無しさん@お腹いっぱい。
09/08/25 23:40:52
いつのバージョンからかわからないんだけど
ファイルa aaがカレントディレクトリにあるときに
% rm a
の状態でTABを押したときの補完が

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

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

どなたか治し方しらないですか
ファイル消えまくりorz

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

357:名無しさん@お腹いっぱい。
09/08/26 01:26:27
違うっす

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

Gentooで4.3.x(失念)です


358:名無しさん@お腹いっぱい。
09/08/26 10:17:02
おいらは
% touch a aa
% rm a[tab]
すると
rm a [かーそる]
になるけど。

aで(他の候補はあれど)完結しているときに
tab 打つとそこで確定、ってことかな?
(tab でなく ^D だと a aa が表示されます)


359:名無しさん@お腹いっぱい。
09/08/26 20:06:16
compdef -d rm
で対処しました。お手数掛けました

360:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/08/27 04:58:20
zshaddhistoryを使えばどうにでもなるはず 参考 URLリンク(d.hatena.ne.jp) zshは実はファイルマッチで使うようなパターンだけじゃなくて 正規表現も使えたりするのでそういう感じでがんばれ

362:名無しさん@お腹いっぱい。
09/08/29 02:42:07
completion の matcher-list にも正規表現が使えるといいんだけど。
というか、 PATTERN MATCHING でも (a|b) は使えるのにこれも
matcher-list じゃ使えないからなあ。残念な話だ

363:名無しさん@お腹いっぱい。
09/08/29 04:39:08
>>355
_rm が編集行の指定済ファイルを補完対象外にしていて、
入力中の語もその中に入っちゃってるみたいね。
多分期待動作じゃないんだろうな。

_rm 内の↓がそれっぽい。ここらへんの記法が何するものかは忘れたけど
ignored=(${line//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})

364:名無しさん@お腹いっぱい。
09/08/29 12:59:17
>>363
細かい解説どうも。いつからか_rmが追加されて、それ以降の挙動のようですね

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

cd でディレクトリのみを補完対象にするのとはワケが違うと思うんですけどね


365:名無しさん@お腹いっぱい。
09/08/29 15:42:25
自分でいじったんじゃなくて?

366:名無しさん@お腹いっぱい。
09/08/29 16:16:40
もちろん。自分ではいじってないですよGentooがいじってる可能性はあるかもしれませんが
バージョンは4.3.9でした

367:名無しさん@お腹いっぱい。
09/08/29 23:38:49
>>364
lsとかの単なるファイル補完と違うのは
rm a a
みたいに同じファイルを2回指定することはないから
補完対象から外しているんだと思う。
(lsも2回指定することはない気はするけど、外すようにはしてない。
必要はないしね)

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

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

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

_rm が入力中の語も補完対象外にしているのは
バグっぽいなあと思うけど。
その語は入力が完了しているから補完する必要がないとも
強引には考えられるけど。いや無理があるか。他の補完動作とも合ってないしね。

368:名無しさん@お腹いっぱい。
09/08/29 23:41:56
ていうか、
[[ -e file* ]]
みたいなことって、できないんだっけ?(file* にマッチするファイルがあるか判定)
[[ でできないってだけだけど。
これ普通どうやるんだっけな。

369:名無しさん@お腹いっぱい。
09/08/29 23:46:10
>>368
ls file*の戻り値で代用

370:名無しさん@お腹いっぱい。
09/08/30 00:00:59
そうか。そうだね。

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

それなら
: file*
でよさそうだね。
thx.

371:名無しさん@お腹いっぱい。
09/08/30 00:11:05
( : file* ) 2>/dev/null
としないと errmsg とともに終わる(forが)
そんだけ

372:名無しさん@お腹いっぱい。
09/09/05 02:51:12
補完の設定でフィルタ関数みたいなのはないのかな。
入力語と補完候補をとってマッチするか否かを判定するようなやつ。

373:名無しさん@お腹いっぱい。
09/09/05 10:35:35
内部コマンドの getopts で POSIXLY_CORRECT=0 に相当する
動作にできないものだろうか。履歴を使い回して末尾にオプションを
付け足したいときがままあるので。

374:名無しさん@お腹いっぱい。
09/09/06 12:33:57
bashのスレはどこですか?

375:名無しさん@お腹いっぱい。
09/09/09 13:10:46
zshでプロンプトに
URLリンク(journal.mycom.co.jp)
みたいにpts/xを表示させたいんだが環境変数わからないので教えてください

376:名無しさん@お腹いっぱい。
09/09/09 15:16:38
環境変数でなくてプロンプト記法における %l だね

377:名無しさん@お腹いっぱい。
09/09/11 12:45:00
.zshenvっていつでも読まれるはずだよね?
ログインシェルだと.zshenv読んでくれないんだけど,なんでかな

.zprofileはマニュアル通り(ログインシェル時のみ読み込む)なんだけど,
.zshenvがその反対(ログインシェル以外のとき読み込む)になってるみたい

378:名無しさん@お腹いっぱい。
09/09/11 22:54:50
なんでかなって、1行目の思い込みが間違っているからに決まってる。man読め。

379:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/11 23:20:43
>>379
ログインシェルでも .zshenvを読む。

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

ログインシェルの時だけ /bin/sh -> zsh の symlink 経由で起動してるんじゃない?

381:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/12 00:55:23
>>379
もしかしなくても違ってる。
そのセクションを全文読んでから、ありえる解釈を列挙して
一つ一つ検討してもっとも妥当なものを選べ。
それができなきゃソース読め。

383:名無しさん@お腹いっぱい。
09/09/12 06:39:45
>>382
違ってはいないだろ。
オレの環境では login shellでも .zshenv をちゃんと読み込んでるから。

384:名無しさん@お腹いっぱい。
09/09/13 01:37:04
setopt globcomplete
man (\\|e)[Tab]

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

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

も同じ。

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

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

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

まるでバグのようだ。

385:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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一

↑ みたいに、「あ」、「ア」、「一」は動くけど、「名」、「二」、「椎」はうまく動かない。
もう書けない。

387:名無しさん@お腹いっぱい。
09/09/14 14:38:34
アッー!



スンマセン言ってみたかっただけです

388:330
09/09/15 19:12:50
すいませんお礼忘れてました。
レス下さった方々ありがとうございましたm(_ _)m 参考になりました。

389:名無しさん@お腹いっぱい。
09/09/17 16:20:26
実行したプロセスすぐに終了しなかった場合にそのプロセスをkillする
方法ってありますか?
rshなどでタイムアウトのときに使いたいと思っています。

390:名無しさん@お腹いっぱい。
09/09/17 16:23:59
zshって最強なの?

391:名無しさん@お腹いっぱい。
09/09/17 16:32:35
最低です

392:名無しさん@お腹いっぱい。
09/09/18 04:49:12
最強は Version 7 の Bourne Shell

393:名無しさん@お腹いっぱい。
09/09/18 07:50:11
ソースは最狂だが。


394:名無しさん@お腹いっぱい。
09/09/20 03:21:49
残念ながら buggy な zsh

395:名無しさん@お腹いっぱい。
09/09/20 17:59:16
誰か pulseaudio 0.9.15 向けの _pactl 持ってない?
欲しい。

396:名無しさん@お腹いっぱい。
09/09/21 22:09:00
やっぱり反応ないなあ。
自分で使う pactl move-sink-input だけ実装した。
と一応の自己レス。

397:名無しさん@お腹いっぱい。
09/09/25 02:01:31
zshユーザって日本にどんくらいいるんだろ

398:名無しさん@お腹いっぱい。
09/09/25 13:35:01
たしか5人くらいって効いたよ

399:名無しさん@お腹いっぱい。
09/09/25 14:04:58
じゃあおれアシュラマン役な

400:名無しさん@お腹いっぱい。
09/09/25 14:15:47
じゃあ僕はサンシャイン

401:名無しさん@お腹いっぱい。
09/09/26 19:54:54
アシュラマンと組んだ時のサンシャインって
なんで砂にならなかったの?



402:名無しさん@お腹いっぱい。
09/09/26 20:09:46
ログインシェルがデフォでzshなディストリが出てこないと増えないよなやっぱ

403:名無しさん@お腹いっぱい。
09/09/26 20:31:41
SH_WORD_SPLITがデフォじゃないと増えないよなやっぱ

404:名無しさん@お腹いっぱい。
09/09/27 21:12:40
自分のzshスクリプトをbash野郎に説明すんのにすごいストレス溜まる

405:名無しさん@お腹いっぱい。
09/09/27 21:38:00
zshでスクリプトなんて書かねーよ

406:名無しさん@お腹いっぱい。
09/09/27 21:55:21
>>405
普通に書くぞ。
人に説明しないけど。

407:名無しさん@お腹いっぱい。
09/09/27 22:52:33
01,02,・・・,99が{01..99}でできるってだけで有り難いわ

408:名無しさん@お腹いっぱい。
09/09/27 23:54:05
bashでもできるよ

409:名無しさん@お腹いっぱい。
09/09/28 00:39:33
>>408
マジで?うちの環境ではbashは3.2だが古すぎるのか
bash使ってた頃はいちいちprint文とか使って桁を整えてたわ

410:名無しさん@お腹いっぱい。
09/09/28 01:30:12
ぶっちゃけbashは4でzshに近づくことができたのか?

411:名無しさん@お腹いっぱい。
09/09/28 09:10:22
>407
エロ画像連番スレの基本技5ヶ条の1だね

412:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/28 12:08:23
>>413
bash-4.0-alpha からそうなったみたいね。TNX

415:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/09/28 19:09:57
>>413
すげー、bashも進化してんだなw
他シェルの便利機能を取り込む姿勢はたいへん宜しい
ただ、3→4へのメジャーバージョンアップはgccのそれを思い出して
ついまともな出来なのかと疑ってしまうw

>>415
そんなことできるのかksh

417:名無しさん@お腹いっぱい。
09/09/30 00:02:28
bashもtcshもいつの間にか機能増えてたりするんで
なかなか機能差異を説明するのも難しい
まだ鍛錬が足らぬだけか

418:名無しさん@お腹いっぱい。
09/09/30 20:59:00
でもよく調べると、やっぱzshに及ばないジャンwって結論に至る

419:名無しさん@お腹いっぱい。
09/10/02 21:42:40
URLリンク(acapulco.dyndns.org)

420:名無しさん@お腹いっぱい。
09/10/03 00:41:39
fish!!

421:名無しさん@お腹いっぱい。
09/10/03 00:46:11
x68000にfishというシェルがありました。
Cシェル系だったけどナー。


422:名無しさん@お腹いっぱい。
09/10/03 00:57:07
いや fishshell.org のことでしょ。

423:名無しさん@お腹いっぱい。
09/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

424:名無しさん@お腹いっぱい。
09/10/11 20:56:55
zsh金玉

425:名無しさん@お腹いっぱい。
09/10/11 20:58:17
ズィーエスエイチ袋

426:名無しさん@お腹いっぱい。
09/10/18 20:56:20
_7z _convmv 誰か持ってる?くれ。

427:名無しさん@お腹いっぱい。
09/10/27 14:04:29
zftpの使い方がいまいち分からない
これ便利なの?

428:名無しさん@お腹いっぱい。
09/10/27 20:49:02
これ見て便利だと思たら便利なんじゃね?
URLリンク(ttyshare.com)

429:名無しさん@お腹いっぱい。
09/10/29 21:39:15
>>428
感動した
よく作るなこんなの・・・

430:名無しさん@お腹いっぱい。
09/10/30 14:05:44
cd - [TAB]で表示されるディレクトリ一覧の、降順・昇順を切り替えるオプションってありますか?

431:名無しさん@お腹いっぱい。
09/11/06 04:42:36
やっと規制解除きた
>>430
cd +[TAB]
とすれば良いのでは?
+ と - の意味を切り替えるのは
setopt pushd_minus


432:名無しさん@お腹いっぱい。
09/11/06 04:48:20
コマンドを実行せずにヒストリに登録する方法は無いのかな?
zle accept-line のコマンドを実行しない版が欲しいんだが。
# HISTFILE を編集するのは無しの方向で。

433:名無しさん@お腹いっぱい。
09/11/06 07:06:51
過去の話題から。適当なキーに割り当てる。
history-register-line () { fc -R <(<<<$BUFFER); zle send-break }
zle -N history-register-line

434:432
09/11/07 09:44:36
>>433
thx, うまくいきました。

# history-register-line でググったら >>20 がヒットした orz
# FAQ だったか。スマソ


435:名無しさん@お腹いっぱい。
09/11/10 12:14:44
ディレクトリの移動履歴だけを対象にして C-r みたいなことがしたいのですが、
どうやったらいいですか?

436:430
09/11/10 14:39:29
>>431
ありがとうございました!

437:名無しさん@お腹いっぱい。
09/11/14 17:38:35
cd aaa/bbb/ccc
と入力した後に、backward-delete-word で aaa/bbb/ccc をすべて消すのではなく、
最後のスラッシュまで (cccのみ ) 消すことはできるでしょうか。

たしか何かのシェルではできていたのですが、調べてみましたが、zshでのやり方がわかりません。
よろしくお願いします。

438:名無しさん@お腹いっぱい。
09/11/14 17:46:00
全く同じ質問を2ちゃんねるのzshスレで見た記憶があるんだが

439:名無しさん@お腹いっぱい。
09/11/14 17:49:14

/'⌒`ヽ、この質問定期的に来るNE!
ヽ、┗ ノ
  `ーー'        γ⌒`ヽ           /'⌒⌒ヽ、
  ,-ーー-、      .|| ̄ ̄             (     ┃  ⌒ヽ
 /  ┃  )    ||    /⌒ヽ       \ ━┛    )
.(.   ┃   )   ||.   ( ^ω^ )
 ヽ、__,ノ     ||  _(つ¶¶と)__
           /||'''''|  三  |    |'(⌒)
        /    '―――`  ̄ \
        `============'

>>330

440:437
09/11/14 17:57:05
ありがとうございます。
それなりにzshのまとめブログを内外、見て回って使っていたんですが、ここを利用させていただくのは初で。。
これからは過去ログをチェックします。

これは需要があるとおもうんですが、意外と共有されていないのが不思議です。

441:sage
09/11/14 18:14:40
tab で補完完了時に, もう一度 tabを押すのがいやなのですが、自動的に補完内容を表示する事は可能でしょうか。

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

を、

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


zstyleを調べていたのですが、よくわからす、よろしくお願いします。

442:名無しさん@お腹いっぱい。
09/11/14 18:25:08
>>437
echo $WORDCHARS


443:441
09/11/15 13:46:37
補完完了時に何かトリガーするってできないのかな、、、

444:名無しさん@お腹いっぱい。
09/11/18 21:48:21
zshの補完にmigemo使えるようにならない?

445:名無しさん@お腹いっぱい。
09/11/18 23:33:46
そりゃmuripo

446:名無しさん@お腹いっぱい。
09/11/19 07:40:07
C-wで削除するときに直前の文字が日本語だと空白区切りまでじゃなく
その一つ前の単語も一緒に削除されちゃうんだけど、これってどうなのよ。
なんか設定で変更できない?

echo だよもん[C-w] → 行頭まで削除されちゃう
echo hoge だよもん[C-w] → echo になる(hogeも削除される)

447:名無しさん@お腹いっぱい。
09/11/29 00:09:09
俺が >>444 書いたんじゃないよな…
migemo補完しようとは思ったけど…

これ[ URLリンク(ja.pastebin.ca) ]を fpath に入れて

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

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

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

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

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

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

そういえば、_migemo って名前は compdef migemo で使いそうな名前なので、
_migemo_complete とかにした方がいいかも。

448:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/29 00:28:11
>>448
ならない人もいるのか。
バージョン・環境・ロケールなど教えてもらえる?

450:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/11/29 12:06:11
変化なし。表示だけおかしいというわけでもない。
バージョン等は4.3.10、FreeBSD 8.0/amd64、ja_JP.UTF-8。
ebuildを見たけど、別段portsと変わっているようにも見えないしなあ。

452:名無しさん@お腹いっぱい。
09/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は見劣りするね。

453:名無しさん@お腹いっぱい。
09/11/30 03:55:40
おつかれ

454:名無しさん@お腹いっぱい。
09/11/30 04:19:22
svn a[TAB] b
すると
unknown svn command: a
ってなる。どうにかならんかな?

svn a[TAB]
だとちゃんと補完するけど。

455:名無しさん@お腹いっぱい。
09/11/30 05:28:30
_subversion の _svn() 内の最初の

_arguments -C \
'(-)--help[print help information]' \
'(- *)--version[print client version information]' \
'1: :->cmds' \
'*:: :->args' && ret=0

で '1: :->cmds' に当たらず '*:: :->args' が効いてるみたい。
_arguments って 1: と *:: を同時に使っちゃいけないんかな?
よくわからん。

456:名無しさん@お腹いっぱい。
09/11/30 23:18:33
452だけど、glibcのロケールデータを借用してLC_CTYPEを増強した。
これでFreeBSDでもzshで日本語の文字が単語文字になって満足。

FreeBSDでも URLリンク(wiki.freebsd.org) という
動きがあるらしいのでそのうちよくなるのかな。

457:名無しさん@お腹いっぱい。
09/12/05 02:00:34
TABで補完したときに、ファイル名が一意に定まらない時は
必ずリスト表示してほしいんだけど、いい設定とかないかな?

ls .zs[TAB] → ls .zsh

ここで[^d]すると

.zshenv .zshrc

と出てくるけれど、それなら最初から出してほしい。

458:名無しさん@お腹いっぱい。
09/12/05 15:24:29
autoload predict-on
predict-on
で、先方予測を有効にしているのですが、しばらくログインシェル
として使っていると、何かの拍子に先方予測が利かなくなっている
ことがあります。(source ~/.zshrc するとまた効き始める)
何か、ショートカットで有効になったり無効になったりするもの
なのでしょうか?

459:名無しさん@お腹いっぱい。
09/12/05 15:26:40
あと、先方予測を有効にしていると
apt-get install hoge
と入力したとして、あ、sudo しなきゃ…と思って戦闘に戻って
sudo と打ち込んだ瞬間、今までの apt-get... がそっくり消える
のですが、これは何か回避のしようがないものでしょうか?

zsh使い始めたばかりですが、余りの素晴らしさに感動しきりです
この点のみ未熟なばかりに不便に感じているのでご教示いただければ

460:名無しさん@お腹いっぱい。
09/12/05 16:12:41
>>457
setopt autolist ?
デフォルトで利いてるはずだけど。




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

457 に示した用に、autolistが設定されている場合でも、
一意に定まらない場合にリスト表示がされないことがある、のが個人的な不満というか…。
それとも、上記の例の場合でも、常にリスト表示されているということでしょうか?

462:名無しさん@お腹いっぱい。
09/12/05 22:08:48
>>461
unsetopt listambiguous

463:名無しさん@お腹いっぱい。
09/12/05 22:37:38
これは良いことを聞いた

464:名無しさん@お腹いっぱい。
09/12/05 22:51:53
>>462
ありがとう。本当にありがたい。

465:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/12/06 12:15:22
>>463
俺もw

このスレって常駐してるだけで色々勉強になるから助かるわ

467:名無しさん@お腹いっぱい。
09/12/08 00:16:06
深いパスで、ないファイルを補完しようとすると _approximate あたりで
暴走してたんだけど、サンプル zshrc の

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

の指定が重かったんだ。結構、サンプルから取り込んで未検討のままに
なっているものがあるけど、これもその一部。
_approximate 自体、不要という気もするけど。

468:名無しさん@お腹いっぱい。
09/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:名無しさん@お腹いっぱい。
09/12/10 01:32:38
正規表現に関してはzshは他のライブラリ(OS標準のregexなりPCREなり)を呼んで
るだけだから、そちら側の都合。

470:名無しさん@お腹いっぱい。
09/12/11 18:00:18
egrep は multibyte 認識してるっぽいけど…自前ってことか。
pcretest は UTF-8 で一応動いてるっぽいけど…pcre の UTF-8 support が実験レベルってことで、色々あるんだろうなあ。
まあとにかく動かないってことでいいか。

471:名無しさん@お腹いっぱい。
09/12/12 06:02:44
>>444
もう居ないか知らんけど…
>>447 の代わりのmigemo補完。
これ[ URLリンク(ja.pastebin.ca) ]を 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 になるんだなー。

472:名無しさん@お腹いっぱい。
10/01/01 10:19:12
あけおめ

473: 【大吉】 【1999円】
10/01/01 12:09:22
おめ

474:名無しさん@お腹いっぱい。
10/01/01 12:24:05
↑テラトイザラスwww

475: 【豚】 【1829円】
10/01/01 12:26:03
ハア?('A`)

476:名無しさん@お腹いっぱい。
10/01/05 11:18:56
man すると multios では > word 2>&1 と &> word は違うよ、って書いてあるんだけど、
良く分かりません。ありがちな hoge > /dev/null 2>&1 と hoge &> /dev/null だと、
具体的にどう違うのでしょうか?

477:名無しさん@お腹いっぱい。
10/01/05 12:19:50
例が悪すぎ。/dev/nullに捨てるんじゃ一緒だろ。

478:名無しさん@お腹いっぱい。
10/01/09 22:49:00
$ a=`jobs`
$ echo $a
で jobs の結果が a に入らないのはどうしてですか? jobsの結果を直接 tty?に流してる?

479:名無しさん@お腹いっぱい。
10/01/09 23:15:19
入るけど

480:名無しさん@お腹いっぱい。
10/01/10 06:06:17
>>478
jobs の結果が空なだけでは

481:名無しさん@お腹いっぱい。
10/01/10 13:40:00
$ jobs で結果が見れるので、空ってことはないのですが、
>> 479 本当ですか?

結局僕はこれで取れました。
$ jobs | read a
$ echo $a

482:名無しさん@お腹いっぱい。
10/01/10 13:55:01
>>481
zsh 4.3.10で試したけど
普通に入ってる

483:名無しさん@お腹いっぱい。
10/01/10 14:18:37
zsh-4.2.x のバグだ。

484:名無しさん@お腹いっぱい。
10/01/10 16:08:26
$ zsh --version
zsh 4.3.4 (powerpc-apple-darwin9.0)
でした。macだからかなぁ。

485:名無しさん@お腹いっぱい。
10/01/10 16:38:01
MacOS X Snow Leopard

$ echo $SHELL
/bin/zsh
$ which zsh
/bin/zsh
$ zsh --version
zsh 4.3.9 (i386-apple-darwin10.0)
$ sleep 10000 &
$ x=`jobs`
$ echo @$x@
@[1] + running sleep 10000@


486:名無しさん@お腹いっぱい。
10/01/10 17:13:08
MacOS X Leopard 10.5.8

$ uname -a
Darwin MacBook.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
$ echo $SHELL
/bin/zsh
$ which zsh
/bin/zsh
$ zsh --version
zsh 4.3.4 (powerpc-apple-darwin9.0)
$ sleep 10000 &
[2] 4081
$ a=`jobs`
$ echo @$a@
@@
$ jobs
[2] + running sleep 10000

487:名無しさん@お腹いっぱい。
10/01/18 08:02:43
Ctrl+Rコマンドヒストリ検索で日本語入力が出来なくなってるよ

488:名無しさん@お腹いっぱい。
10/01/18 08:09:03
zsh 4.3.10ではCtrl+Rコマンドヒストリ検索で日本語入力が出来ないよ
ヒストリ検索がちゃんと出来ないzsh使うなんてありえないよな
ここの連中は一体どんな環境でzsh使ってんの?

489:名無しさん@お腹いっぱい。
10/01/18 08:53:08
そもそも、インクリメンタルサーチで日本語を入力したことが無い。

490:名無しさん@お腹いっぱい。
10/01/18 09:54:36
そもそも、日本語名のファイルが無い。

491:名無しさん@お腹いっぱい。
10/01/18 20:53:25
そもそも、インクリメンタル検索で日本語入力という発想が無い。

492:名無しさん@お腹いっぱい。
10/01/18 21:00:12
In the first place, I don't use Japanese.

493:名無しさん@お腹いっぱい。
10/01/19 10:05:28
setopt hist_ignore_space
していると、確かに履歴ファイルには記録されないのですが、
<C-p>で履歴を戻ったとき、出てきてしまいます。
ここでも出てこないようにするにはどうすればいいでしょうか?

494:名無しさん@お腹いっぱい。
10/01/19 12:15:23
vi [tab] とかってやったときにドットファイルも補完候補に表示してほしいんですが、
どうやったらいいですか?

495:名無しさん@お腹いっぱい。
10/01/21 16:21:42
ハローは日本語?
kon'nichiwa は日本語?
ニーハオは?

496:名無しさん@お腹いっぱい。
10/01/21 16:43:42
中間言語

497:名無しさん@お腹いっぱい。
10/01/21 17:00:13
餃子屋

498:名無しさん@お腹いっぱい。
10/01/22 10:16:09
結局 kikaku.doc とかは日本語ファイル名ってことでいいんだよね?


499:名無しさん@お腹いっぱい。
10/01/22 11:54:36
あなたしだいです!

500:名無しさん@お腹いっぱい。
10/01/22 19:44:06
用字と言語は別。

501:名無しさん@お腹いっぱい。
10/01/25 05:39:08
あなただいなしです!に見えた

502:名無しさん@お腹いっぱい。
10/01/25 12:24:41
>>494
vi .[tab]

503:名無しさん@お腹いっぱい。
10/01/27 22:40:16
>>471
condition expected: $words[i]とかいうエラーがでるんだけど何が原因かわかりますか?

504:名無しさん@お腹いっぱい。
10/02/15 02:31:52
Ctrl-. (ピリオド)を
bindkey ”^.” redo
とかに割り当てたいんですけど、
Ctrl-.を入力しても、そのまま.がターミナルに表示されます。
sttyで何か設定すればC-.が有効になるのでしょうか?

505:名無しさん@お腹いっぱい。
10/02/15 07:38:48
Ctrl-.なんて文字は存在しないから受け取りようがないのです。

506:名無しさん@お腹いっぱい。
10/02/15 11:46:12
emacsだと以下で行けるけど、ターミナルだと無理なんかも
(define-key global-map [?\C-.] 'redo)

507:名無しさん@お腹いっぱい。
10/02/15 12:53:11
ターミナルのなかで文字として受け取るか
X-client がイベントとして受け取るかの
違いが理解できていないのか?

508:名無しさん@お腹いっぱい。
10/02/15 13:26:35
emacsのxterm.elでは(define-key map "\e[27;5;46~" [?\C-.])と定義してある。
ターミナルソフト側でC-.を押したら\e[27;5;46~を送出するよう設定すればおk

509:504
10/02/15 23:37:58
ありがとうございます。
設定してxterm上ではC-.キーつかえました
でも、いつも使ってるgnome-terminal上では送出設定できなさげでorz

510:名無しさん@お腹いっぱい。
10/02/15 23:50:34
gnome-terminalは.Xdefaultsが効かないんだっけ

511:名無しさん@お腹いっぱい。
10/02/15 23:53:37
.XdefaultsはAthenaWidgetのもんじゃねーの?


512:名無しさん@お腹いっぱい。
10/02/16 13:48:12
.Xdefaults(.Xresources etc.)については
xrdb の仕組み・罠とかいろいろ知らないといけない

513:名無しさん@お腹いっぱい。
10/02/18 01:37:34
cygwin上ででzshを触り始めたんですが、
.zshrc に
「windows上で動いてるなら "c:\Program files\" の
配下のファルダ全て(もしくは一つ下のサブフォルダまで)をPATHに追加」
(新しくアプリが追加されたら、次回のzsh起動時に自動的に読み込みたい)

このような処理は出来ますか?
もしできるなら、何をどう使って書けば良いでしょうか?

514:名無しさん@お腹いっぱい。
10/02/18 02:38:33
そう書けばいいんじゃないの?

515:名無しさん@お腹いっぱい。
10/02/18 02:43:26
>>514
書く方法がまったくわからないので、何かキーワードを頂けませんか?

516:名無しさん@お腹いっぱい。
10/02/18 03:16:03
>>514

ヒント:
path=($path(N-/) /*/bin(N-/) $HOME/bin(N-/))
typeset -U path

517:名無しさん@お腹いっぱい。
10/02/18 03:18:08
すまん
ミスった
>>515

518:名無しさん@お腹いっぱい。
10/02/18 05:25:02
>>516
回答ありがとうございます。
typeset をキーワードに検索したら、それらしいページがみつかったのですが
URLリンク(en.allexperts.com)

これをやりたい事に書き直すのは自分には無理そうなので
毎回パスを手書きで追加することにします。

519:名無しさん@お腹いっぱい。
10/02/18 05:39:12
ここの説明で >>516 さんのヒントの意味がわかりましたので解決しました。
URLリンク(technique.sonots.com)

520:名無しさん@お腹いっぱい。
10/02/18 23:36:31
>>518
一瞬ジョークのように読めてちょっと笑った。

521:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/02/21 01:14:10
打ち間違いで command not found になった場合は
ヒストリファイルに残してほしくないんだけど
何かいい設定とかないでしょうか?

523:名無しさん@お腹いっぱい。
10/02/21 09:38:43
preexecかzshaddhistoryでなんとかするのかな?

524:名無しさん@お腹いっぱい。
10/03/12 00:31:50
$PWD の長さを取得したいんですが、ホームにいるときは ~/ の2文字ではなく /home/username が返ってきます。ホームのときも考慮した$PWDの長さはどうやって取得できますか?

525:名無しさん@お腹いっぱい。
10/03/12 01:16:02
代わりに print -P '%~' の出力をみればいいと思う。


526:名無しさん@お腹いっぱい。
10/03/12 13:06:45
>>524
${#PWD/${HOME}/\~}

何がしたいのかさっぱり分からないが…

527:名無しさん@お腹いっぱい。
10/03/13 23:58:52
autoload run-help って結構微妙な動作すんだな

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

オプションを下記サイトで探して
URLリンク(zsh.sourceforge.net)
RCS を使い .zshenvを読み込まない設定はできましたが
.zshrc を読み込む設定は見つかりませんでした。

529:名無しさん@お腹いっぱい。
10/03/14 13:02:11
rcは対話シェル用の設定を書くところだから、
正しいアプローチは.zshenvに該当の設定を移すことではないの?


530:名無しさん@お腹いっぱい。
10/03/14 13:15:27
>>528
一応 zsh -i +f -c 'do sth' で、無理矢理インタラクティブにしてしまえば .zshrc を読んでくれる
何のための .zshenv だよって言いたくなるが


531:名無しさん@お腹いっぱい。
10/03/14 20:56:06
>>529-530
返信ありがとうございます。
そうですね。 .zshenvに設定を移すことにしました。

532:名無しさん@お腹いっぱい。
10/03/17 01:20:42
findしまくりのbashスクリプトと、zshだけで完結しているスクリプトだったら
どっちが早いんだろ?

533:名無しさん@お腹いっぱい。
10/03/17 01:42:54
zsh で ** だとリストが長すぎてダメってことは稀によくある。


534:名無しさん@お腹いっぱい。
10/03/17 03:08:30
俺もよく稀にある。**/** 便利だから取り敢えず使っちゃう。

535:名無しさん@お腹いっぱい。
10/03/17 05:33:53
>>532
zshのほうが速いので比較するまでもない

536:名無しさん@お腹いっぱい。
10/03/17 11:35:22
zsh 使いなら当然 zargs も使うだろう

537:名無しさん@お腹いっぱい。
10/03/26 12:55:03
>>2
それをその速さで貼れるってことは
お前それをコピってずっと待機してたんだろ?
リロードしまくって。誰かスレ立てるの待って。
まじきめーな。氏ねよハゲ。

538:537
10/03/26 12:55:45
ごめんなさい
誤爆しました

539:名無しさん@お腹いっぱい。
10/03/28 14:29:24
ワロタ

540:名無しさん@お腹いっぱい。
10/04/04 15:54:16
>>533
いくつまでなんだっけ?いちいちfind使うのが面倒なんだよなぁ。
自分でソースからコンパイルすれば上限変えれるのかもしれんが・・・

541:名無しさん@お腹いっぱい。
10/04/08 16:31:18
>>540
きょうび自分でカーネルリコンパイルなんてFreeBSDくらいじゃないかね。

542:名無しさん@お腹いっぱい。
10/04/08 16:32:42
そういう話じゃなくて。

543:名無しさん@お腹いっぱい。
10/04/08 16:50:59
exec(2)に渡せる長さの上限は、FreeBSDだと sysctl kern.argmax かな。


544:名無しさん@お腹いっぱい。
10/04/09 08:41:54
だからfind + xargs -> zargs でFA

545:名無しさん@お腹いっぱい。
10/04/09 08:46:43
>>542
いやでも、自分でソースからコンパイルすれば上限は変えられるけど
カーネルリコンパイルってなかなか手を出さないと思うけどな。

カーネルアップデートがある度にやり直しなわけだし。

546:名無しさん@お腹いっぱい。
10/04/10 14:40:25
zargsシランカッタ…こんな便利なものが

547:名無しさん@お腹いっぱい。
10/04/10 19:33:33
zsh% zargs
zsh: command not found: zargs
って言われちゃうけどどう使うの?

548:名無しさん@お腹いっぱい。
10/04/10 19:34:42
autoload zargs


549:名無しさん@お腹いっぱい。
10/04/11 09:21:00
zfags

550:名無しさん@お腹いっぱい。
10/04/15 22:05:43
for n in {01..99};do で01,02,…と桁数一定の連番にできるのが凄い便利なんですが、
これのインクリメンタルを1でなく任意にする方法はありませんか?

for ((n=1;n<100;n=n+m));do の形式だとbashと同様、1,2,…となってしまい
n=01とやっても同じで不便ですね。

551:名無しさん@お腹いっぱい。
10/04/15 22:09:12
for n in `seq -w 1 2 99`; do

552:名無しさん@お腹いっぱい。
10/04/15 22:18:45
seqはGNU coreutils以外にもあるの?


553:名無しさん@お腹いっぱい。
10/04/15 22:39:52
>>550
for ((i=1;i<100;i=i+2)); do echo ${(l:2::0:)i}; done で出来るけどなんか不細工
bash なら {01..99..2} で大丈夫


554:名無しさん@お腹いっぱい。
10/04/15 23:23:38
>>552
じゃあ、jotで

jot -w %02d - 1 100 2

555:名無しさん@お腹いっぱい。
10/04/16 02:30:10
内部コマンドだけだと
for ((i=1; i<100; i+=2)); do print -f "%02d\n" $i; done

スマートにはいかんな

556:名無しさん@お腹いっぱい。
10/04/16 05:40:33
typeset -Z2 i

557:名無しさん@お腹いっぱい。
10/04/16 11:43:29
自分だったらこんな感じかな
for i in {1..10}
echo $(printf "%02d" $[i*2] )

>556 辺りが一番すっきりなんだろうけど
たぶん必要なときにこれを思い出さない気がする…

558:550
10/04/16 15:00:37
皆さんありがとうございます。色々ありますね。
自分は今のところprintfで桁数を整えています。

>>553
>bash なら {01..99..2} で大丈夫
こちらのbash 3.2では解釈してくれず、{01..99..2}がそのまま i に入ってしまいました。
4.xでの機能でしょうか?

559:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/04/19 21:53:25
上はバグかな。
下はそういうもん。

561:名無しさん@お腹いっぱい。
10/04/20 18:21:48
>>560
>上はバグかな。
まじすか・・・4.2.6なんですが、新しいのだと直ってるんですかね?

>下はそういうもん。
まじすか・・・ファイルシステムが異なる場合はrename関数でinodeを書き換えるのではなく、
新規に作って元のを消すという仕様だったと思いますが、それがきちんと実装されていない
ということですかね?だとするとこれもバグのような気が・・・

562:名無しさん@お腹いっぱい。
10/04/20 19:07:40
バカかお前。manくらい読めよ。

563:559
10/04/20 19:50:05
>>560の「そういうもん」の意味を、変な風に捉えていました
manにThis may change in a future version.書いてありますね
ついでに本家サイトに行ってmanを見てきましたが同じでした

引数の最大値の制限を受けないのは魅力的だったけど、やっぱりやめとこう・・・

564:名無しさん@お腹いっぱい。
10/04/25 17:31:00
bash の set +h に相当するオプションありますか?

565:名無しさん@お腹いっぱい。
10/04/25 18:47:04
どういう機能か書いてくれないからbashのマニュアルを調べてしまった。
hash_cmds かな?


566:名無しさん@お腹いっぱい。
10/04/29 00:33:11
>565
ごめん, Z な漢たちに bash の説明なんて余計なお世話だったらどうしようかと,

そして, ありがとう. man zshoptions ですね.

567:名無しさん@お腹いっぱい。
10/04/29 20:57:24
hash_cmdsってハッシュテーブル使うって意味だよね
利点がいまいち分からないんだが・・・
体感するほど速くなる?

568:名無しさん@お腹いっぱい。
10/04/29 21:01:16
利点がないからこそ hash_cmdsを無効にしたい、って話だろ

569:名無しさん@お腹いっぱい。
10/04/29 21:11:58
>>564 は (bashの) set +h (ハッシングをしない)相当をやりたいの
だから、zshで実際に設定するのは nohashcmds のほうになるはず。


570:名無しさん@お腹いっぱい。
10/04/29 21:14:21
>>569
それでもいいけど、set +o hash_cmds で無効に設定できるよ

571:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/04/29 23:01:50
実行可能なファイルをパスの通ったところに放り込むと直後にそのファイルがタブ補完で呼べる、
という挙動が hash_cmds と no_hash_cmds の両方で同じだった。

もしかして、コマンド補完が効くというのはハッシュとは関係ないの?

573:572
10/04/29 23:03:38
お、>>571と似た話かな?
この辺誰か解説してくだしあ。

574:名無しさん@お腹いっぱい。
10/04/29 23:23:21
>>572
一度補完させた後に新規に作成したファイルは補完されない

575:名無しさん@お腹いっぱい。
10/04/30 18:17:41
bindkey -v使いたいんだが...
どっかにvimのヴィジュアルモード再現してくれる猛者いねーかな。
アレが無いと、削除もヤンクも使えたもんじゃない。
おかげでbindkey -e使うハメに。くつじょく
チラウラスマソ

576:572
10/05/01 00:59:09
いまいち分からなくて色々調べてたんだけど、no_hash_cmds だとハッシュが
一切関係なくなるかと思ったら、タブ押した瞬間にハッシュに登録されるようで、
以降PATHのより上位に同じのをコピーしても最初のやつが参照される。

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

うーん、なんか腑に落ちないけどまぁいいや。いずれにしろ、名前がカブってるのを
異なるパスに置くなんてことをしない限り(普通しないよね?)関係ない話だし。

577:名無しさん@お腹いっぱい。
10/05/06 15:58:29
bashのhistory -d offset みたいに指定した履歴行を削除する方法はありますか?

578:名無しさん@お腹いっぱい。
10/05/07 14:16:53
なさそう。fc -R/-Wで作業ファイル経由かなあ。

579:名無しさん@お腹いっぱい。
10/05/08 00:04:43
>>575
bindkey -M vicmd v set-mark-command
とかなんかして適当に
foo-delete/foo-yank 作ればいけるんじゃない?

580:名無しさん@お腹いっぱい。
10/05/08 04:00:03
>>579
ありがとう。感謝感謝

zshall 読む気にならないのは俺だけではないはず。
いや、このスレ的には読んでないと駄目なのか

581:名無しさん@お腹いっぱい。
10/05/08 05:18:46
#ビジュアルモードを実装
function _vi-visualmode-delete() {
zle set-mark-command
...
...
}
zle -N _vi-visualmode-delete
bindkey -M vicmd 'v' _vi-visualmode-delete

根本的に方針を変えるべきか

582:名無しさん@お腹いっぱい。
10/05/08 23:47:48
bindkey -a v set-mark-command
bindkey -a d foo-delete

foo-delete() {
zle vi-delete
if (( REGION_ACTIVE )); then
zle exchange-point-and-mark
fi
}

(これ動くんかな…)
な感じでいくか、あるいは

bindkey -N vivis vicmd

bindkey -a v vi-vis-mode
bindkey -a d vi-vis-delete

とか?
てか set-mark-command だと多分、範囲末尾が1文字分期待と違うな。
しかも characterwise でしか動かない気がするけど、
まあ linewise とか要らないよね。

583:575=581
10/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:名無しさん@お腹いっぱい。
10/05/09 12:39:45
screen みたいに画面をキーボードで移動して必要な範囲をコピーとかって出来る?
screen 入れないと駄目?


585:名無しさん@お腹いっぱい。
10/05/09 23:45:54
うーん。だめじゃない?
表示内容を取るエスケープシーケンス(じゃなくて制御シーケンスか?)
とかあれば、それ使うか、screen と同じことをするか。
あんまり zsh でやることでもないような。

>>583
bindkey してるんを直接実行するんじゃだめなん?

586:575
10/05/10 08:15:53
>>584にヒントを得た。多分完璧。lineとかしらん
cってchangeの略なんだな。初めて知った。
bindkey -a v vi-vis-mode
zle -N vi-vis-mode
function vi-vis-mode() {
MARK=CURSOR
zle exchange-point-and-mark
bindkey -a 'd' vi-vis-delete
bindkey -a 'y' vi-vis-yank
bindkey -a 'c' vi-vis-change
}
zle -N vi-vis-delete
function vi-vis-delete() {
bindkey -M vicmd 'd' vi-delete
bindkey -M vicmd 'y' vi-yank
bindkey -M vicmd 'c' vi-change
CURSOR=$((CURSOR + 1))
zle kill-region
}

587:575
10/05/10 08:17:03
>>586の続き
zle -N vi-vis-yank
function vi-vis-yank() {
bindkey -M vicmd 'd' vi-delete
bindkey -M vicmd 'y' vi-yank
bindkey -M vicmd 'c' vi-change
CURSOR=$((CURSOR + 1))
zle kill-region
zle vi-put-before
}
zle -N vi-vis-change
function vi-vis-change() {
bindkey -M vicmd 'd' vi-delete
bindkey -M vicmd 'y' vi-yank
bindkey -M vicmd 'c' vi-change
CURSOR=$((CURSOR + 1))
zle kill-region
zle vi-insert
}


588:575
10/05/10 08:19:40
連投すまぬ
当たり前だけど、使う時はbindkey -vしてちょ
このスレの人なら、こんなこと言う必要ないな…

589:575
10/05/11 08:22:00
マジで連投申し訳ない。今回以降は書き込まない。
URLリンク(zshscreenvimvimpwget.blog27.fc2.com)作ったので、こっちでやる。
スレ汚しごぬんなさい…

とりあえず、Vモードを追加して、無駄に昨日を増やしてみた。oとか。
大体vimのビジュアルモードに準拠してるけど、vで設定した位置より右にいくと、
感覚からちょっとズレる。ここを改良するのが今後の課題だが難しいな。

590:名無しさん@お腹いっぱい。
10/05/13 18:45:07
$PREFIX/share/zsh/4.3.*/functions/ にある特定のファイルだけ読み込まないようにする方法ってありますか?

591:名無しさん@お腹いっぱい。
10/05/16 00:16:26
functions/Completion の話?

>>575
いいんじゃないっすか?過疎ってるし。
過疎ってなくてもいいと思うけど。

592:名無しさん@お腹いっぱい。
10/05/16 00:26:50
svn [TAB]で補完が効く状態(=関数 _svn が実行できる)で
unfunction _svn
としたら
svn [TAB]で command not found: _svn が出るようになったから、
unfunctionでいいんじゃないだろうか。


593:575
10/05/18 20:19:19
vim-ビジュアルモードが、ほぼ再現できたのでスクリプトを貼っておく。
意見をくれた人サンクス
詳しくはURLリンク(zshscreenvimvimpwget.blog27.fc2.com)
ヘルプURLリンク(zshscreenvimvimpwget.blog27.fc2.com)

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

linux_fedora12のzsh4.3.10で動作確認済
URLリンク(blog-imgs-44.fc2.com)

MAC-OSXのzsh4.3.9で動作確認済
URLリンク(blog-imgs-44.fc2.com)


使い方:vかVか^vを押せ。さすれば道は開かれる

問題点:
カーソルが行頭の一歩手前までしかいけない
5hがhに。でも3foは3fo
Vで下行から上行に向かって行選択すると、挙動がちょっと変
vda'しても、テキストオブジェクト的には働いてくれない。vaの時点でインサートモードに入る。

↑のバグは、まあ微々たるもんだろう。直す気はない。
Vの挙動は、気が向いたら直すかもしれん。

今度はテキストオブジェクトを再現するつもり

594:名無しさん@お腹いっぱい。
10/05/20 23:02:47
ls --color=autoでTABの補完候補を表示させると、
hoge.bmpなどのディレクトリが.bmpファイルの色になります。
補完候補ではなく、普通にlsで見たときはディレクトリ色なんですが。

どなたか分かる方いますか?もしzshのせいでなかったらすいません。

595:名無しさん@お腹いっぱい。
10/05/20 23:27:41
手元の環境ではhoge.bmpでもディレクトリとして色付けされる
関係する設定といったら
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
ぐらいしか無いような気がするけど

596:594
10/05/21 12:19:50
>>595
そうですよね。

completionもlsも、どちらもzsh内の機能だから色付けも統一されるはずと思ったけど、そうじゃないってことかな。
ディレクトリ名に.bmpって付ける癖を直すしかないか・・・

597:名無しさん@お腹いっぱい。
10/05/21 20:40:55
う~ん、ZLS_COLORSとか?

598:名無しさん@お腹いっぱい。
10/05/29 15:54:23
>>593
おつー。

599:名無しさん@お腹いっぱい。
10/05/29 20:09:15
1行目を #!/bin/zsh としたzshスクリプトの、syntaxの色が
bashのときより素っ気ないのでカスタマイズしたいのですが、
どこの辺をいじればいいでしょうか?
/usr/share/vim/ 以下のファイルでしょうか?

600:名無しさん@お腹いっぱい。
10/05/30 01:10:28
普通は .vim/syntax/zsh.vim
俺は .vim/after/syntax/zsh.vim

601:名無しさん@お腹いっぱい。
10/06/01 07:22:37
>>594
同じような状況になった事があった気がするんだけど、
ディストリビューションは何使ってるの?
その ls はBSD系じゃなくてGNU fileutilsのコマンドになってる?

602:名無しさん@お腹いっぱい。
10/06/01 22:00:36
fileutils って何年前の話だよw

603:名無しさん@お腹いっぱい。
10/06/01 22:59:04
2002年9月1日からcoreutilsに統合だそうな。


604:594
10/06/02 11:48:46
>>601
CentOS 5.2、zshのバージョンは4.2.6です。

605:名無しさん@お腹いっぱい。
10/06/13 03:41:31
>>594
print -l $LS_COLORS $ZLS_COLORS
zstyle -L |grep list-colors

をはった方が話が早いのではなかろうか

606:594
10/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






607:594
10/06/15 18:08:34
続き

$ zstyle -L |grep list-colors
zstyle ':completion:*' list-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'


608:名無しさん@お腹いっぱい。
10/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
%

ありがちなのをつけるとマズいんだな・・・

609:名無しさん@お腹いっぱい。
10/06/16 09:15:28
大文字1 or 2文字くらいにしとくとよいかも。


610:名無しさん@お腹いっぱい。
10/06/16 14:48:21
グローバルエイリアスにした文字を普通の文字にエスケープするのって不可能?

611:名無しさん@お腹いっぱい。
10/06/16 15:09:10
$ touch 'hoge'
$ touch "hoge"
$ touch ¥hoge
お好きなのをどうぞ

612:名無しさん@お腹いっぱい。
10/06/16 18:25:24
普通にできるのね、失礼w

613:名無しさん@お腹いっぱい。
10/06/24 16:26:39
$ cp /foo /bar  まで打ってからCtrl+wを押すと、1ワード消えて
$ cp /foo /  になりますが、もう1回押すと
$ cp /  になります。これを
$ cp /foo  で止める方法はありませんか?

614:名無しさん@お腹いっぱい。
10/06/24 23:13:19
ある。

615:名無しさん@お腹いっぱい。
10/06/24 23:25:17
普通にできるのね、失礼w

616:613
10/06/25 11:43:43
>>614


かなりググりましたが、分かりませんでした。すいません教えてください。
ちなみに WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' にしています。
空白も単語の区切りに設定できれば出来そうな気がしますが・・・

617:名無しさん@お腹いっぱい。
10/07/04 04:34:19
>>606
その設定だと aaaaa.bmp/ が青boldで出るけど。
baaaa.bmp はマゼンダboldで出る。

% echo $ZSH_VERSION
4.3.9

618:名無しさん@お腹いっぱい。
10/07/10 01:44:41
>>616
backward-kill-word-match とか使えばなるんじゃない?
とか適当いってみる。

619:名無しさん@お腹いっぱい。
10/07/25 00:07:51
二段プロンプトなんてログ見づらくなるだけじゃね、と思ってたけど、
PROMPT="┌[${USER}@${HOST}][%~]
└ "
こんな設定を見て目から鱗が落ちた。かなり良い。

620:名無しさん@お腹いっぱい。
10/07/25 01:05:08
プロンプトに全角使うのはちょっと・・・

621:名無しさん@お腹いっぱい。
10/07/25 01:11:01
俺はプロンプトと入力行が別だとすげー落ち着かない
余所の家のトイレぐらい落ち着かない

622:名無しさん@お腹いっぱい。
10/07/25 01:36:59
漢は黙ってPROMPT=$

623:名無しさん@お腹いっぱい。
10/07/25 15:32:27
一行に色々つめ込むと見にくいんで
多段プロンプトにしてPROMPT=$派かな

624:名無しさん@お腹いっぱい。
10/07/25 16:38:07
俺はさらに頭に空行入れて、色付きにしてる

625:名無しさん@お腹いっぱい。
10/07/28 20:53:00
1行目にユーザ、ホスト、PWD、現在時刻表示させて、
2行目に$ だけ

626:名無しさん@お腹いっぱい。
10/07/28 21:22:23
俺もそんな感じ
時刻は2行目のRPROMPTでやってるけど

627:名無しさん@お腹いっぱい。
10/07/29 13:11:09
時間は何気に役に立つんだよね。
そういえば、スクリプトの完了通知が欲しい時ってどうしてる?
終わったらgnomeのnotifier呼ぶとかかな

628:名無しさん@お腹いっぱい。
10/07/30 02:53:46
時刻は、端末の右下にscreenの機能で表示させる

そうか。プロンプトに時刻出しておくと、コマンドの実行時刻が分かるのか。
たしかに便利そうだ。

629:名無しさん@お腹いっぱい。
10/07/30 08:34:40
実行した時刻でよければ extended_history にも載ってるよ。


630:名無しさん@お腹いっぱい。
10/08/03 20:27:33
i-searchでCtrl-rで遡っているときにバックスペースを押すと
逆方向に降りる(つまりCtrl-s)動作になるのですが、
これを普通に検索ワードの後方削除にする方法を教えてください。

631:名無しさん@お腹いっぱい。
10/08/12 13:55:03
2つ下にcdする用に alias -g ....='../..' とやってるけど、なんか一抹の不安が・・・
同じことしてる人いますかね?大丈夫だよね?

昔どっかで rm -rf .* で全て消えたってスレがあったのを思い出した

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

>>630
こんなことは知っているかもしれないが、
backward-delete-char とかのkeyを押すとそうなる。
backward-delete-word とかのkeyを押すと削除される。

633:名無しさん@お腹いっぱい。
10/08/16 20:29:00
>>631
下?

634:名無しさん@お腹いっぱい。
10/08/30 18:01:59
>=とかの算術演算子って使えるはずだよね?
[ 1 <= 2 ] && echo "true" ってやったらエラーになるんだけど

635:名無しさん@お腹いっぱい。
10/08/30 18:14:37
(( 1 <= 2 )) && echo true

636:名無しさん@お腹いっぱい。
10/08/30 20:14:24
>>635
どうもです。(( ))って条件文でも使えるんだ

てか、[[ と (( って機能が被ってないですかね?
<は両方とも使えるけど、<=は((だけ、-eなどの条件文は[[だけみたい

637:名無しさん@お腹いっぱい。
10/08/31 15:37:27
[ ] [[ ]] (( )) の使い分けはzshの難関の一つだねぇ
zshall読んでもなかなか覚えられん

638:名無しさん@お腹いっぱい。
10/08/31 19:19:58
compdef書けるようになるとかなり幅が広がるな
つーかラッパーにもってこいだな

639:名無しさん@お腹いっぱい。
10/08/31 19:29:36
>>636
[[ の中の < と、
(( の中の < は意味が違うんだよ。

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

を試せばわかる。

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

つまり[[と((はちゃんと使い分けろってことね

641:名無しさん@お腹いっぱい。
10/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 ってすれば動くけど。なんだこれ

642:641
10/09/01 20:30:30
zsh 4.3.5から冒頭の部分が変わったのが原因みたいだけど、
そもそもこの部分に何の意味があるのかが分からない。

$ diff zsh-4.3.10/Functions/Misc/zkbd zsh-4.3.5/Functions/Misc/zkbd | head -n 6
4,5c4,5
< local -hi ARGC # local is a no-op outside of a function
< (ARGC=0) 2>/dev/null || { # so ARGC remains read-only for "source"
---
> local -i ARGC
> (ARGC=0) 2>/dev/null || {

643:名無しさん@お腹いっぱい。
10/09/01 21:12:51
それ、コメントの書き方間違ってないか?

644:名無しさん@お腹いっぱい。
10/09/02 04:39:19
diffの引数逆にするだろ普通。

645:名無しさん@お腹いっぱい。
10/09/02 23:02:14
>>644
普通?ってwwww
いいだろ、どうだろうと、カチカチあたまくん

646:名無しさん@お腹いっぱい。
10/09/03 00:17:10
>>645
diff使い慣れないから普通が分からないだけだろ。


647:名無しさん@お腹いっぱい。
10/09/03 08:48:01
古い方を前にするのが普通だよ。
でないと -u の -,+ とあわない。

648:名無しさん@お腹いっぱい。
10/09/03 11:22:46
lnだって ln -s 古くからあるファイル 新しい名前 みたいな順だしなあ


649:名無しさん@お腹いっぱい。
10/09/03 11:25:34
>645 みたいなのは徹底して叩いておかないと、
いずれ凡ミスが原因で他人の足を引っ張った挙げ句逆ギレするタイプ。


650:641
10/09/03 12:08:57
なんか変な流れになってるが俺のせいなのか・・・
>>641は新・旧という意識でdiffしたわけじゃなかったのでこうしただけだが。
別にいいじゃないすかパッチ作るわけじゃないし(駄目?

ググったら極わずかだけど同じこと言ってる人いた。だいぶ前だが

651:名無しさん@お腹いっぱい。
10/09/03 13:36:07
>>649
その通り。
無能な働き者はあらかじめ粛清しておくに限る。

652:名無しさん@お腹いっぱい。
10/09/03 13:41:23
>>650
駄目ではないけど、普通ではない。

653:名無しさん@お腹いっぱい。
10/09/03 14:33:30
>>648
ln の仕様は確かに糞だな

654:名無しさん@お腹いっぱい。
10/09/03 14:56:41
それはlsとかで 古い -> 新しい みたいな表示をするせいだろ。

655:名無しさん@お腹いっぱい。
10/09/03 15:22:53
lnの順序はcpやmvと同じ。


656:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/09/05 07:13:06
>>656
> 関数のexportってexport -fですよね?
は?

658:656
10/09/05 21:03:37
>関数のexportってexport -fですよね?
bashだとそうですが、zshだと違うみたいですね
というか単に出力するだけ?

659:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/09/17 18:38:37
>>659
printf()の文字列に改行を入れてないのが間違い。
bashではたまたま設定で頭に改行コードが付いたプロンプトを使っていたので
うまくいってるように見えただけ。
zshでは、設定で反転文字の%のプロンプトが設定されていたというだけ。

で、zshの話題とは全然関係ない。

661:名無しさん@お腹いっぱい。
10/09/17 18:41:24
>>660
どうどうと、嘘つくな

662:659
10/09/17 18:56:35
PROMPT変数にWindowsが$P$Gを入れてたので
prompt elite2 greenなどでプロンプトを設定していましたが
PROMPT=''で表示を変えても%が表示されるのは確認しました
Windows標準のコマンドプロンプト上でzshを起動しても同様です

663:名無しさん@お腹いっぱい。
10/09/17 19:06:53
だから printf()に改行コードを入れろよ。それですべて解決。

664:名無しさん@お腹いっぱい。
10/09/17 19:10:06
zshもCも関係なくUNIXのお約束として特別な事情がないかぎり入出力とかファイルの末尾は改行じゃなきゃいけないの
本来末尾にあるべき改行がねえぞって注意してくれてんの

% echo "hoge"
hoge
% echo -n "hoge"
hoge%
% echo -n "hoge\n"
hoge

665:名無しさん@お腹いっぱい。
10/09/17 19:59:09
>>664
偉そうに、デタラメ言うな

666:659
10/09/17 23:00:07
>>664
お約束事でしたか。詳しく書いてくださってありがとうございます。
CUIプログラムに改行を付け加えたら無事に動作しました。

667:名無しさん@お腹いっぱい。
10/09/17 23:20:39
>>661 = >>665 の立場がなくなったなww

668:名無しさん@お腹いっぱい。
10/09/18 08:51:36
cddってtmuxでも動くのか

669:名無しさん@お腹いっぱい。
10/10/08 15:12:52
historyって宝ですよねー
何度か消えてしまって泣いたことがある
setopt share_historyしてるからかな

670:名無しさん@お腹いっぱい。
10/10/15 12:25:21
みんなHISTSIZE はどのくらいにしてるのかな?
自分は↓
% echo $HISTSIZE
10000

671:名無しさん@お腹いっぱい。
10/10/15 13:15:10
$ echo $HISTSIZE
10000000

672:名無しさん@お腹いっぱい。
10/10/15 15:06:42
俺も HISTSIZE=10000 だった

ついでに、何故か LISTMAX=10000000000 とかしてた
あまり考えずに大きい値にしたから 32ビット超えてるけど動いてるからいいか

673:名無しさん@お腹いっぱい。
10/10/15 19:58:14
>>671
すげえなw
でもある意味プライバシーの塊だな

674:名無しさん@お腹いっぱい。
10/10/15 20:57:00
>>669
ディスクが100%になって端末がおかしくなってログアウトしたら
historyの書き込み失敗したのかhistoryファイル自体があぼーんしたわ
それ以来historyもバックアップとるようになった

675:名無しさん@お腹いっぱい。
10/10/16 00:14:59
>>673
今見たら.zsh_historyが1.2MBもあったw

676:名無しさん@お腹いっぱい。
10/10/16 18:07:21
昔はwgetとかでエロ画像をシコシコ落としてたらしいし、historyは絶対人に見せられないだろうな

677:名無しさん@お腹いっぱい。
10/10/16 18:44:41
俺は今でもエロ画像落とすのにwget使ってるというのに…
まあ滅多にないけどさ

678:名無しさん@お腹いっぱい。
10/10/16 19:13:37
ファイル名が連番のエロ画像はcurlで落とす

679:名無しさん@お腹いっぱい。
10/10/17 00:27:21
>678
敢えて zsh スレでそんなこと書くって釣り宣言?

680:名無しさん@お腹いっぱい。
10/10/17 18:25:06
つかcurlなんてあったんだ

681:名無しさん@お腹いっぱい。
10/10/17 18:33:20
えっ

682:名無しさん@お腹いっぱい。
10/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
とエラーが出るのですが、回避方法はないでしょうか?
よろしくお願いします。

683:名無しさん@お腹いっぱい。
10/10/31 11:19:35
極限のシェルzsh
これを極めし者は時空をも超える

684:名無しさん@お腹いっぱい。
10/11/03 10:49:01
>>682
そんぐらいググってくれ
ntfsにすれば解決

685:名無しさん@お腹いっぱい。
10/11/07 07:59:12
うんこー!
しょんべー!

686:名無しさん@お腹いっぱい。
10/11/12 17:28:50
>>82
僕もなぜか新しいscreen立ち上げたときは反映されなくてsourceしたらようやく反映される設定があったけど
.zshenvに書いたら大丈夫だったよ.

687:名無しさん@お腹いっぱい。
10/11/13 18:09:16
>>686
インタラクティブシェルのときは.zshrcは読まれるはずなんだけどな

688:名無しさん@お腹いっぱい。
10/11/14 02:34:18
.zshrcの該当箇所より前にエラーがあったとか

689: [―{}@{}@{}-] 名無しさん@お腹いっぱい。
10/11/14 03:00:43
>>687
そうだよね.そう思ってたんだけどなぜか読まれない設定もあるみたい

690: [―{}@{}@{}-] 名無しさん@お腹いっぱい。
10/11/14 03:10:44
>>688
エラーがあったらzshはそのエラーの箇所を教えてくれるじゃん

691:名無しさん@お腹いっぱい。
10/11/14 21:31:33
.zshrc を
bindkey "^P" history-beginning-search-backward-end
だけにしても同じなのかね。

692:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/11/18 19:50:47
試したけど待たされなかったよ。なんか他に条件があるのかも。

694:692
10/11/18 21:20:48
>>693
そうですか。
check_jobs が関係するかなと思いましたが、有りと無しともに同じでした。
他の設定が悪いのかと思い、rm -r .z* して試しましたが、やはり同じでした。

↓バージョンです
$ zsh --version
zsh 4.3.10 (x86_64-redhat-linux-gnu)


695:名無しさん@お腹いっぱい。
10/11/22 20:15:39
たまに「.zhistory.84VoUD」みたいなテンポラリ的な履歴が作られるんだけど何でだろう?
ログアウトはちゃんとしてるのに

696:名無しさん@お腹いっぱい。
10/12/02 10:47:13
初心者質問すいません。
シェルをbashからzshに代えたら、ログインし直すたびにhistoryコマンドの履歴が消えてしまっています
.zshrcには
HISTFILE=$HOME/.zsh_history # 履歴をファイルに保存する
HISTSIZE=100000 # メモリ内の履歴の数
SAVEHIST=100000 # 保存される履歴の数
と書いていて、.zsh_history自体をlessで覗くと記録が残っているのですが…

697:名無しさん@お腹いっぱい。
10/12/02 13:16:49
別のファイルで先にHISTFILEが設定されていてそっちから読まれちゃったとか?

698:696
10/12/06 13:00:10
すいません、超勘違いで無事に書き込みされていました!


699:名無しさん@お腹いっぱい。
10/12/06 20:39:58
SuSEとかだと/etc/zsh*で結構設定してるんだよな
HISTFILEを.zshenvに書いてたせいでハマった覚えが

700:名無しさん@お腹いっぱい。
10/12/19 19:12:31
bashの「変数のn文字目からm文字目を取り出す」という機能はzshにはないんですか?
こんな感じのやつです
$ str=hoge
$ echo ${str:1:2}   ←先頭は0から
og
$ echo ${str:1}   ←2つ目を指定しないと末尾まで
oge

701:名無しさん@お腹いっぱい。
10/12/19 21:06:59
>>700
% str=hoge
% echo $str[2,3] # 先頭は 1 から
og
% echo $str[2,-1] # 末尾は -1 から
oge
% echo $str[2] # n 文字目
o


702:名無しさん@お腹いっぱい。
10/12/19 22:01:16
>>701
ありがとうございます!そんな方法があったとは・・・
配列の場合もできるんですね
$ str=( hoge fuga )
$ echo ${str[2][1,-1]}
fuga

703:名無しさん@お腹いっぱい。
10/12/23 03:08:11
hoge.txt
内から、piyoという文字列を検索して、それ以降の行を取得するのってどうすればいい?
perl使えば可能ではあるけど・・・・これはシェルスクリプトスレで聞くべきか

cat hoge.txt |perl -ne 'if($i==0){if(m:piyo:){$i=1}}else{print}'

704:名無しさん@お腹いっぱい。
10/12/23 03:41:15
スレチだね

grep -A99999999 'piyo' hoge.txt
perl -ne '$f|=/piyo/and print' hoge.txt

705:名無しさん@お腹いっぱい。
10/12/23 05:54:50
9999999とか使うよりも、`wc -l`使ったほうが良いんでないかい?

706:名無しさん@お腹いっぱい。
10/12/23 08:20:45
sedでええやん


707:名無しさん@お腹いっぱい。
10/12/23 10:39:34
sed '1,/piyo/d' hoge.txt ってな感じ?

>>700
12/20 に出たばかりの 4.3.11 のリリースノートを読んであまりのタイムリーさに笑ってしまった

> Parameter expansion has been enhanced to provide the ${NAME:OFFSET} and ${NAME:OFFSET:LENGTH} syntax
> for substrings and subarrays present in several other shells.

708:名無しさん@お腹いっぱい。
10/12/31 00:47:09
>>695
うちもそれ偶にみると大量(でもないか)にできてて、
rm .zsh_history.* とかしてたんだけど、
今みるとないな。前消してからけっこうたった気がするけど。

709:名無しさん@お腹いっぱい。
11/01/01 23:31:40
ネットが瞬断して端末が切れたとかはないの?

710:名無しさん@お腹いっぱい。
11/01/06 23:45:20
zsh-4.3.[10,11]のelite2プロンプトで変な文字が入る

┌┌(hoge@hage)┌(10001/pts/6)┌(11:42pm:01/06/11)┌-
└┌(%:~)┌-

誰か同じ症状の人いない?
prompt_elite2_setupはzsh-4.3.9(正常なプロンプトが出る)に含まれる物と同じみたい

711:名無しさん@お腹いっぱい。
11/01/08 21:48:53
>>703
% sed '1,/piyo/d' hoge.txt
で簡単にできるはず。

712:名無しさん@お腹いっぱい。
11/01/09 01:27:28
すでに>>707にあるがな

713:名無しさん@お腹いっぱい。
11/01/09 04:00:39
zsh睾丸

714:名無しさん@お腹いっぱい。
11/01/14 00:17:01
>>710
prompt は使ってないけど…
期待値は?
prompt_special_chars は変わってない?

┌┌(hoge@hoge)┌(516/pts/4)┌(12:13午前:01/14/11)┌-
└┌(%:~)┌-

あー俺もヒストリ10000ぐらいにしよっかなー

715:名無しさん@お腹いっぱい。
11/01/14 00:18:14
書き忘れたけど >>714 のプロンプトはうちで試した結果ね。

716:名無しさん@お腹いっぱい。
11/01/14 10:29:40
prompt テーマだかは使ったことないけど
それのどこが "変" でどうなっているべきなの?

↓と似たような感じに見えるけど…
URLリンク(www.linuxaria.com)

717:710
11/01/14 20:30:04
>>714
prompt_special_charsが変ってるみたい
4.3.9のelite2プロンプトは下記の通り '┌' が付かない

(hoge@hage)(10015/pts/7)(08:26pm:01/14/11)-
(%:~)- diff -u prompt_special_chars-4.3.*
--- prompt_special_chars-4.3.9 2011-01-14 20:26:13.012731694 +0900
+++ prompt_special_chars-4.3.10 2011-01-14 20:26:13.012731694 +0900
@@ -8,7 +8,7 @@

typeset -gA schars

-if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then
+if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then
schars[300]=$'\xe2\x94\x94'
schars[304]=$'\xe2\x94\x8c'
schars[332]=$'\xe2\x94\x8c'
@@ -20,6 +20,6 @@
schars[260]=$'\xe2\x96\x91'
else
for code in 300 304 332 333 371 372 262 261 260; do
- eval "char[$code]=\$'\\$code'"
+ eval "schars[$code]=\$'\\$code'"
done
fi



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch