Eshell の使い方とか設定とか【Emacs Shell、Lisp】
教えろ
最近使いだしたがマニュアルねーからさっぱりわがんね
早くしてね
参考リンク
http://www.chienowa.co.jp/frame1/ijinden/ (・∀・)イイ!!シェル
eshell って漏れのマシンだと遅くて使いものにならん。
ls が 2 秒くらいかかる。 そんなにかかんないっしょ?オレのはceleronの600Mだけどそんなに遅く感じないよ とりあえず貼っておくぞ>>1
ttp://www.bookshelf.jp/pukiwiki/pukiwiki.php?Eshell%A4%F2%BB%C8%A4%A4%A4%B3%A4%CA%A4%B9 ところでeshellって RMS も日常で使用しているシェルらしいね。 ぃぬ
/ ̄ ̄ ̄ ̄\
/ Ω Ω、
|Y Y \
| | | ▼ |
| \/ _人_|
| ___/ MacOSX
\ / |
/ \ Solaris | NextStep
\\ l\\ | ズバシュ・・・ |
|\\ | \\ Λ_Λ Λ_Λ Λ_Λ ‥
/ \\ \\ ( / ⌒ヽ‥∵/ ⌒∵ (/ ⌒ヽ∵
| / \\ ヽ 二二二二| | |二二| | |二二| | |二二>
| Ω | \\ ∪ / ノ∵‥∪ / ノ∵: ∪ / ノ∵‥
| || | \\ | || | || | ||
| / | | \\ ∪∪ ∪∪ ∪∪
// | | \\ズバ・・
// | | \\∵∴
// | | ΛΛ \\: ̄ ̄ ̄ ヽ〜 ←>>Mach
U U ギ・・(゚Д゚ ;),∴:\|∪ ̄ ̄UU プロンプトの文字列を変えたいんですが、どうすればいいんですか? >>11
(setq eshell-prompt-function 'my-eshell-prompt)
(defun my-eshell-prompt ()
"$ "
) lisp で書けるのは面白そうなのにな。まだ完成度が低すぎると思う。メインで使ってる人はいるの? >>14
完成度が低いって、どうしてそう思うの?
俺が知っている限り、大きなバグは1つしかないんだけどな。
俺はEshellは完成度が低いんじゃなくて、カスタマイズ性が
他のShellより高すぎて、その設定によりEshellの行動が違った
りしてくるから、一般ユーザーからすればそれがバグに見える
場合はあるだけなんじゃないかと思う。
でも実際、Eshellをマスターするのは難しい。
自身のシンタックスまでカスタマイズできるshellなんて他にある?
eshellをマスターすれば、使いなれたlispも普通に使えることができるし、
入力も出力もバッファにそのまま送れるし、eshellにかなう
シェルなんてなくなるんじゃないかな。 <はもう実装されたんだっけ?
catと|を使えばいらんといえばいらんのだけど。 オッ、こんなスレあったんやw
>>17
されてないね ところで、なんで eshell だと ftp がうまくいかないんだ? >>19
それ、windozに付いてくるftpか?
最新のcygwinに付いてくるftp使えば普通に動くと思うよ ターミナル上emacs上Eshellから
aliasで外部アプリを起動するとemacs-noxが立ち上がる。
複数起動したらemacs-noxも複数..
Meadow上からなら問題ないんだが。
これもwinだから起きる問題かなぁ ようわからんと思うなら、
ターミナル上から
% DISPLAY='' emacs
とかやってみなよ。 ようわからんけどcygstartで解決したわ
Displayわけわからん
localhotに設定したり127.0.0.1:0.0に設定したりしてみたけど変化なし。 eshellって結構便利だね。>>8のサイト見ておもた
>>21
emacs-noxって何?
俺もwin使用してるが、普通に外部アプリ立ちあがるよ。
何か関数上書きしてるん? emacsのX機能省略版ですがな。
普通に立ち上がりますかぁ。いいなぁ。家じゃだめでした。
eshellに限らずbashから"&"を付けて外部アプリを立ち上げる場合でも
bashが立ち上がってました。
コマンド実行後に終了させるにはどうしたいいのだろう。
eshellはemacsの機能が使えてイイ。あたりまえですが。
browse-kill-ring.elとか便利なelispが使えるのはすごく楽。
つーかみんな補完時にループさせてます?
eshellだけの話じゃないけど、あれって使いにくくないですか?
サイクルlimitを1にしてoffにしてますがesheller失格ですか?
>>27
ああ、nox = no x-window system ね。うまくパースできなかったw
> eshellに限らずbashから"&"を付けて外部アプリを立ち上げる場合でも
> bashが立ち上がってました。
w2k使用しててもそうなるの?
> つーかみんな補完時にループさせてます?
> eshellだけの話じゃないけど、あれって使いにくくないですか?
> サイクルlimitを1にしてoffにしてますがesheller失格ですか?
言いたいこと十分にわかる。ていうか、コマンドをpcompleteされると俺の
環境だとwindow-configurationが壊れるんだよね。あれは使いにくいよね。
xpです。2kでは試したことないです。
OSの問題ってことですか。どうなんだろ。
どうもこれはeshellの質問というかcygwinの使い方の質問でしたね。
ループする時にカーソルは確定部分の最後の文字の後ろにあるならまだ分かる。
そこから文字入力<TAB>で掘り進める。
カーソルがコマンドラインの最後にあると
搾り込みが甘くて候補が多いからやり直す時に編集がめんどい。
設定の仕方が悪いのかな。
>window-configurationが壊れる
window-configurationは使ってないから分からないけど
windows.elでもウインドウ状態は保存できるですよ。
これを使えば解決するような予感。
もの凄い使いにくいと思ってたんだけど
そんなに拡張性があるのね
だれか、設定ファイルおくれ ;;eshell
(require 'eshell-auto)
;;eshellのキー設定
(global-set-key "\C-ce" 'eshell-toggle)
;最初は画面の半分で起動もう一回eshell-toggleしたら全画面になる
;が、2度目のトグル前になんらかの入力があった場合は2度目のトグルで消えてくれる
(add-hook 'eshell-mode-hook
(lambda ()
(define-key eshell-mode-map
"\C-d" 'backward-kill-word)))
(add-hook 'eshell-mode-hook
(lambda ()
(define-key eshell-mode-map
"\C-a" 'eshell-bol)))
;デフォだとC-aで行の先頭までいってまうけど
;これでプロンプト前にいく
(setq eshell-cmpl-ignore-case t)
;補完時に大文字小文字を区別しない
;;以下はカスタマイザで設定した
'(eshell-ask-to-save-history (quote always));確認なしでヒストリ保存
'(eshell-cmpl-cycle-completions t);補完時にサイクルする
'(eshell-cmpl-cycle-cutoff-length 5);補完候補がこの数値以下だとサイクルせずに候補表示
'(eshell-hist-ignoredups t);履歴で重複を無視してくれるっぽいけど上手く動いてない
'(eshell-history-file-name "~/.bash_history");バッシュと履歴共有してるのが原因かなぁ
eshell-isearch-backward
すると履歴からisearshしてくれるけどサイクルできるのかどうかわからない
それでもデフォのM-rよりは使いやすい
eshell と shell mode
ANSI color codes に対応して欲しい。 >>36
うぉー、ありがとう。
知らんかった。term-mode.
これから、viper との上手い組合せを、考えてみます。 バッファ上無限にヒストリーがたまってくのは精神衛生上良くない。 (add-hook 'eshell-mode-hook
#'(lambda ()
(define-key eshell-mode-map "\C-l" #'(lambda ()
(interactive)
(let ((inhibit-read-only t))
(erase-buffer)
(eshell-emit-prompt))))))
こんな感じにしとけばいいんじゃないの? なんか emacs 抜けるのめんどくさくなってきたから、
自作の elisp コマンド + eshell + eshell のエイリアス
で全てやるようになった。 *command すれば外部コマンドも
何なく呼べるし. eshell ではコマンドつっても普通のelisp関数
だから、かなり簡単に自分専用コマンドが書ける そういう行為は
すべての道具をコタツの周りにおいて
寝たまま生活できるようにするのと似ていて、
だんだん外と適応できなくなって自分を追い込んでいくような気がする。 >>42
でも、それが shell のあるべき姿なんじゃないかな、と思う。
shell を "自分流に" すればするほど、使い安くなり作業効率も
上がる。外との対応なんて、どの shell もあってないようなものじゃん。
そういう事は、 eshell コマンドパッケージをpublicに up する人が
考えればいい事。
それに元々、 eshell は "自分用の" shell を作るのにはもってこいの
shell だし、それが作者の意図したものだと思う。 Eshellのコマンド履歴検索の動作が気にくわねいっす。
ハイレベルな議論の最中申し分けございません。 補完の順序も気に入らない。
hoge1 hoge2 hoge3
みたいなファイルがある時に補完を効かせると
hoge3 → hoge2 → hoge1
って感じで補完されるんだが、普通逆じゃね? それは多分customize-group Eshellでいじれるはず。
何て変数か忘れたけどw >>46
それは、日付けが新しい順に補完されてるんだよ。
~ $ touch hoge1
~ $ touch hoge3
~ $ touch hoge2
だと、hoge2 → hoge3 → hoge1になるよ。
俺はむしろ気に入っている。
man コマンドは elisp に置き換えられるけど、info は違うのね… >>50
と思ったけど、 which info したら置き換えられてた。
何で文字が化けるんだろう。 まさかとは思うが
M-x infoしても化けたりしないだろうな 昔 info はインデックスの数え方がバイト単位だったり文字単位だったりで
統一されてなかったけど、今はどうなった? >>52
んなわけない。
eshell 上で info すると eshell のバッファに文字化けした文字がいっぱい出るよ。 んだね。eshell/infoがまともに雨後感。
(defun eshell/info (&optional x)
(interactive)
(if x
(info x)
(Info-directory)))
こんなんでしのいではどうかと ちょっと使ってみました。
>>8
>ttp://www.bookshelf.jp/pukiwiki/pukiwiki.php?Eshell%A4%F2%BB%C8%A4%A4%A4%B3%A4%CA%A4%B9
>(ちなみに、私の環境ではなぜか最後の [^a] がうまく処理されません。他は大丈夫なのですが。)
customize で (Eshell初期化の前に設定されている必要があるので)
eshell-glob-chars-list に ?^ を加える
eshell-glob-translate-alist に (?^ . "^") を加える
と修正する。
#作者にメールを送りましたがとりあえず返事は来ていません。
>>39,40
(add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer) >>57
> #作者にメールを送りましたがとりあえず返事は来ていません。
昨夜になって返事が返ってきました。しかも、
I am checking in these changes now.
だそうな。お返しにもう一つバグ報告しときました。 eshellも結局全然使ってないな。
57の不具合は8/10付けで修正されていた。
> だそうな。お返しにもう一つバグ報告しときました。
これは which が program を使っているのに lisp だと嘘をつく、って件だっ
たんだけど、直されてない。
今になって気付いたが、思いっ切り直前の 50- の議論に関係していたね。 微妙にすれ違いというか全くすれ違いなんだけど、
bookshelf.jpのwikiおかしくない?
eshellの項を読みに行ったらbasic認証なげつけられたんだけど。 >>61
> bookshelf.jpのwikiおかしくない?
めどうさんのスレでも出てたけど。
探せばどっかにパス書いてあるよ。 Windows 上で Eshell を Cygwin 用にできますか?
例えば、 c:/ は /cygdrive/c/ とか >>64
cygwin-mount は実際に使用していますが、eshell上では
c:/ は c:/ として認識されてしまいます
>>66
もちろん cygwin 上での bash なら ~/ は /home/user/ になるわけですが、
eshell 上で bash.exe を使用した場合、 ~/ は c:/cygwin/home/user/ と認識しています
>>65
>>64 でいいたいのは、cygwin-mount.el を使って、eshell の内部関数を書き換えろって事だ。 >>68
そんな簡単にはいかないと思うのですが。
実際、eshell内部のパスを処理する部分で cygwin-mount.el の関数を
使用したとしても、サブプロセスがパスを理解してくれない場合も出てくると思われます >>70
eshell の内部関数を書き換えただけではうまくいくとは限らないってことです
わかります? >>73
窓のところで
meadow / memo 適当なところでバッファを shrink してほしいんだけど、そういう設定は無いのかな? >>>78
(setq eshell-buffer-maximum-lines 5000)
とか? >>79
おい若者、それだけではうまくいかんぞ.
それをセットした後に
(eshell-truncate-buffer)
を実行しなければならない.試しに *eshell* 上で
(let ((eshell-buffer-maximum-lines 10)) (eshell-truncate-buffer))
を実行してみたまえ.
コマンド補完の動作を bash のデフォルトみたいにしたいのですが
方法ありますか?
>>81 eshell-cmpl-cycle-cutoff-length を 0 にセットしてはどうだ
eshellの配布場所の
http://emacswiki.org/johnw/eshell.html
が変(永久ループリダイレクト)なんですけど、
どこへ行っちゃったんでしょうか? Emacs ヒッキーなんで使ってみたいけどマニュアル全然ないのな… eshellって.bashrcや.zshrcのように起動時に読み込むファイルってあるの? >>85
eshell.texi見ろ と言おうと思ったけど、実際に見たら言えなくなったw eshellを普通に使っていたらホームディレクトリ以下が全部消えた話
ttp://d.hatena.ne.jp/Rommy/20070115/1168876829
>>89
これは気の毒だな。俺もzsh使ってるし .* で上位ディレクトリまで解釈してしまう
sh, bash, eshell って怖いな。 >>89,90
これって、eshellのglobが悪いんじゃなくて、eshell/rmの実装が悪いんじゃないの?
rm(1)と、挙動が違うってのが。
それともGNU版rmだけが特別なのかな〜?
気になったから、自分で環境作ってやってみたら、
$ rm -rf .*
rm: cannot remove `.' or `..'
rm: cannot remove `.' or `..'
と、でたよ。
emacs-version is 22.0.99.1
はてなの人は、22.0.91だって。
そーいえば BSD 版の rm は比較的最近なんか安全方向に変わったんだよね?
.. ではなく / に関するものだったような気がするけれど。 >>85
ちょっと前まで「Eshellを使いこなす」ってページがあったんだけど、
なくなっちゃったんだよね。いろんな意味でマニュアル的な存在でもあって、
多分既存するEshellの情報のほとんど全てが載っていたと思う。 >>95
6ヶ月越しのレスとは、またすごいロングパスだな。 うげ、そのうち勉強しようと思ってたのに
なくなっちゃったのか > Eshellを使いこなす
archive.orgを漁ってみたいので
覚えてる人いたらURLきぼん。 Meadow memo にある奴はサルベージじゃないのか ? 大日本プロレスが金村キンタローを無期限出場停止処分に
大日本プロレスは18日、アパッチプロレス軍所属の金村キンタローに対し1月24日をもって大日本プロレスへの出場を無期限停止に、
また、村上健リングアナウンサーに対し2月16日をもって大日本プロレスへの出入りを無期限禁止とすることを発表した。
以下は大日本プロレス公式ホームページ上にての発表。
アパッチプロレス軍所属の金村キンタロー選手を1月24日をもって大日本プロレスへの出場を無期限停止とする
理由
1月20日千葉ブルーフィールド大会で大日本プロレス女性社員の下腹部を
着衣の上から触るなどの行為を行い女性社員に多大なる精神的ショックを与えた為
村上健リングアナウンサーを 2月16日をもって大日本プロレスへの出入りを無期限禁止とする
理由
1月20日に起こったことに関し、選手社員とともに本人も同意し決定した事項を
事実と違う形で被害者に伝え混乱を招き、また被害者を助けたいとする選手社員の気持ちを裏切り続けた上で
それらの人間を悪者にするかのような言動を続けたため
(大日本プロレス公式ホームページより、原文ママ)
ttp://headlines.yahoo.co.jp/hl?a=20080218-00000029-spnavi-fight
金村キンタロー
ttp://ja.wikipedia.org/wiki/%E9%87%91%E6%9D%91%E3%82%AD%E3%83%B3%E3%82%BF%E3%83%AD%E3%83%BC
>本名:かねむら ゆきひろ・韓国名:キム・ヘンホ