Eshell の使い方とか設定とか【Emacs Shell、Lisp】

このエントリーをはてなブックマークに追加
1今艸
教えろ
最近使いだしたがマニュアルねーからさっぱりわがんね
早くしてね

参考リンク
http://www.chienowa.co.jp/frame1/ijinden/
2げとーーーーーーーーーーーーー
(・∀・)イイ!!シェル


eshell って漏れのマシンだと遅くて使いものにならん。
ls が 2 秒くらいかかる。
そんなにかかんないっしょ?オレのはceleronの600Mだけどそんなに遅く感じないよ
>>1
マニュアルあるだろ。info 読めカス
info 見てみたらスカスカ…(;´Д`)
ところでeshellって RMS も日常で使用しているシェルらしいね。
            ぃぬ
         / ̄ ̄ ̄ ̄\
       /     Ω  Ω、
       |Y  Y        \    
       | |   |        ▼ |
       | \/      _人_|   
       |       ___/             MacOSX
        \    /                   |
         /     \           Solaris    |    NextStep
         \\  l\\          |  ズバシュ・・・    |
          |\\ | \\         Λ_Λ    Λ_Λ   Λ_Λ ‥
          /  \\  \\      ( / ⌒ヽ‥∵/ ⌒∵ (/ ⌒ヽ∵
          |   / \\  ヽ 二二二二| |   |二二| |   |二二| |  |二二>
          | Ω |   \\       ∪ / ノ∵‥∪ / ノ∵: ∪ / ノ∵‥
          | || |     \\       | ||     | ||     | ||
          | / | |      \\     ∪∪     ∪∪    ∪∪
         // | |        \\ズバ・・
        //  | |         \\∵∴
       //   | |       ΛΛ \\: ̄ ̄ ̄ ヽ〜 ←>>Mach
       U    U   ギ・・(゚Д゚ ;),∴:\|∪ ̄ ̄UU
11名無しさん@お腹いっぱい。:04/12/19 11:11:19
プロンプトの文字列を変えたいんですが、どうすればいいんですか?
>6
ワロタ
ほんとにスカスカだ。
>>11
(setq eshell-prompt-function 'my-eshell-prompt)

(defun my-eshell-prompt ()
"$ "
)
lisp で書けるのは面白そうなのにな。まだ完成度が低すぎると思う。メインで使ってる人はいるの?
>>14
完成度が低いって、どうしてそう思うの?
俺が知っている限り、大きなバグは1つしかないんだけどな。

俺はEshellは完成度が低いんじゃなくて、カスタマイズ性が
他のShellより高すぎて、その設定によりEshellの行動が違った
りしてくるから、一般ユーザーからすればそれがバグに見える
場合はあるだけなんじゃないかと思う。
でも実際、Eshellをマスターするのは難しい。
自身のシンタックスまでカスタマイズできるshellなんて他にある?
eshellをマスターすれば、使いなれたlispも普通に使えることができるし、
入力も出力もバッファにそのまま送れるし、eshellにかなう
シェルなんてなくなるんじゃないかな。
<はもう実装されたんだっけ?
catと|を使えばいらんといえばいらんのだけど。
18:p:05/01/10 16:58:53
オッ、こんなスレあったんやw

>>17
されてないね
19:p:05/01/10 17:09:21
ところで、なんで eshell だと ftp がうまくいかないんだ?
>>19
それ、windozに付いてくるftpか?
最新のcygwinに付いてくるftp使えば普通に動くと思うよ
ターミナル上emacs上Eshellから
aliasで外部アプリを起動するとemacs-noxが立ち上がる。
複数起動したらemacs-noxも複数..
Meadow上からなら問題ないんだが。

これもwinだから起きる問題かなぁ
よくわからんが DISPLAY とか指定してる?
2321:05/01/18 23:34:43
ようわからんけどそれは関係ないわ
2422:05/01/19 04:38:06
ようわからんと思うなら、
ターミナル上から
% DISPLAY='' emacs
とかやってみなよ。
ようわからんけどcygstartで解決したわ
Displayわけわからん
localhotに設定したり127.0.0.1:0.0に設定したりしてみたけど変化なし。
26名無しさん@お腹いっぱい。:05/01/22 16:28:38
eshellって結構便利だね。>>8のサイト見ておもた
>>21
emacs-noxって何?
俺もwin使用してるが、普通に外部アプリ立ちあがるよ。
何か関数上書きしてるん?
emacsのX機能省略版ですがな。
普通に立ち上がりますかぁ。いいなぁ。家じゃだめでした。
eshellに限らずbashから"&"を付けて外部アプリを立ち上げる場合でも
bashが立ち上がってました。
コマンド実行後に終了させるにはどうしたいいのだろう。

eshellはemacsの機能が使えてイイ。あたりまえですが。
browse-kill-ring.elとか便利なelispが使えるのはすごく楽。
つーかみんな補完時にループさせてます?
eshellだけの話じゃないけど、あれって使いにくくないですか?
サイクルlimitを1にしてoffにしてますがesheller失格ですか?

2826:05/01/22 21:51:23
>>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でもウインドウ状態は保存できるですよ。
これを使えば解決するような予感。

もの凄い使いにくいと思ってたんだけど
そんなに拡張性があるのね

だれか、設定ファイルおくれ
31初心者ですが:05/01/24 00:53:07
;;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)
;補完時に大文字小文字を区別しない
32初心者ですが:05/01/24 01:02:25
;;以下はカスタマイザで設定した
'(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よりは使いやすい
33初心者ですが:05/01/24 01:05:30
詳しい方の設定ファイルよろ
↓↓
34名無しさん@お腹いっぱい。:05/02/17 14:26:37
あげまんあげまん
eshell と shell mode
ANSI color codes に対応して欲しい。
>>35
term-mode じゃいやなの?
3735:05/03/01 19:45:09
>>36
うぉー、ありがとう。
知らんかった。term-mode.

これから、viper との上手い組合せを、考えてみます。
38名無しさん@お腹いっぱい。:2005/06/13(月) 15:21:09
久しぶりに上げようよ
39名無しさん@お腹いっぱい。:2005/10/12(水) 19:20:56
バッファ上無限にヒストリーがたまってくのは精神衛生上良くない。
40名無しさん@お腹いっぱい。:2005/10/13(木) 00:11:36
(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))))))
こんな感じにしとけばいいんじゃないの?
41名無しさん@お腹いっぱい。:2006/04/08(土) 13:38:58
なんか emacs 抜けるのめんどくさくなってきたから、
自作の elisp コマンド + eshell + eshell のエイリアス
で全てやるようになった。 *command すれば外部コマンドも
何なく呼べるし. eshell ではコマンドつっても普通のelisp関数
だから、かなり簡単に自分専用コマンドが書ける
42名無しさん@お腹いっぱい。:2006/04/09(日) 04:09:18
そういう行為は
すべての道具をコタツの周りにおいて
寝たまま生活できるようにするのと似ていて、
だんだん外と適応できなくなって自分を追い込んでいくような気がする。
43名無しさん@お腹いっぱい。:2006/04/09(日) 05:18:08
>>42
でも、それが shell のあるべき姿なんじゃないかな、と思う。
shell を "自分流に" すればするほど、使い安くなり作業効率も
上がる。外との対応なんて、どの shell もあってないようなものじゃん。
そういう事は、 eshell コマンドパッケージをpublicに up する人が
考えればいい事。

それに元々、 eshell は "自分用の" shell を作るのにはもってこいの
shell だし、それが作者の意図したものだと思う。
44名無しさん@お腹いっぱい。:2006/05/16(火) 18:35:57
Eshellのコマンド履歴検索の動作が気にくわねいっす。

ハイレベルな議論の最中申し分けございません。
45名無しさん@お腹いっぱい。:2006/05/18(木) 08:13:42
>>44
禿同
46名無しさん@お腹いっぱい。:2006/05/18(木) 09:54:03
補完の順序も気に入らない。
hoge1 hoge2 hoge3
みたいなファイルがある時に補完を効かせると
hoge3 → hoge2 → hoge1
って感じで補完されるんだが、普通逆じゃね?
47名無しさん@お腹いっぱい。:2006/05/18(木) 19:59:08
それは多分customize-group Eshellでいじれるはず。
何て変数か忘れたけどw
48名無しさん@お腹いっぱい。:2006/05/19(金) 00:45:10
>>46
それは、日付けが新しい順に補完されてるんだよ。

~ $ touch hoge1
~ $ touch hoge3
~ $ touch hoge2

だと、hoge2 → hoge3 → hoge1になるよ。
俺はむしろ気に入っている。
49名無しさん@お腹いっぱい。:2006/05/20(土) 03:03:08
>>48
なるほど。
50名無しさん@お腹いっぱい。:2006/05/20(土) 18:20:13
man コマンドは elisp に置き換えられるけど、info は違うのね…
51名無しさん@お腹いっぱい。:2006/05/20(土) 18:29:29
>>50
と思ったけど、 which info したら置き換えられてた。
何で文字が化けるんだろう。
52名無しさん@お腹いっぱい。:2006/05/20(土) 19:13:10
まさかとは思うが
M-x infoしても化けたりしないだろうな
53名無しさん@お腹いっぱい。:2006/05/21(日) 03:38:39
昔 info はインデックスの数え方がバイト単位だったり文字単位だったりで
統一されてなかったけど、今はどうなった?
54名無しさん@お腹いっぱい。:2006/05/21(日) 14:10:17
>>52
んなわけない。
eshell 上で info すると eshell のバッファに文字化けした文字がいっぱい出るよ。
55名無しさん@お腹いっぱい。:2006/05/21(日) 19:23:49
んだね。eshell/infoがまともに雨後感。

(defun eshell/info (&optional x)
(interactive)
(if x
(info x)
(Info-directory)))

こんなんでしのいではどうかと
56名無しさん@お腹いっぱい。:2006/05/23(火) 12:30:33
>>55
thx.
使わせてもらいます。
57Eshell初心者:2006/06/23(金) 01:41:35
ちょっと使ってみました。

>>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)
58名無しさん@お腹いっぱい。:2006/08/11(金) 01:58:33
>>57
> #作者にメールを送りましたがとりあえず返事は来ていません。

昨夜になって返事が返ってきました。しかも、
I am checking in these changes now.
だそうな。お返しにもう一つバグ報告しときました。
59名無しさん@お腹いっぱい。:2006/09/25(月) 02:37:21
保守上げ
6057=58:2006/11/05(日) 21:11:36
eshellも結局全然使ってないな。

57の不具合は8/10付けで修正されていた。

> だそうな。お返しにもう一つバグ報告しときました。
これは which が program を使っているのに lisp だと嘘をつく、って件だっ
たんだけど、直されてない。
今になって気付いたが、思いっ切り直前の 50- の議論に関係していたね。
61名無しさん@お腹いっぱい。:2006/12/11(月) 03:11:38
微妙にすれ違いというか全くすれ違いなんだけど、
bookshelf.jpのwikiおかしくない?
eshellの項を読みに行ったらbasic認証なげつけられたんだけど。
62名無しさん@お腹いっぱい。:2006/12/11(月) 09:30:55
>>61
> bookshelf.jpのwikiおかしくない?
めどうさんのスレでも出てたけど。
探せばどっかにパス書いてあるよ。
63名無しさん@お腹いっぱい。:2007/02/06(火) 17:26:04
Windows 上で Eshell を Cygwin 用にできますか?
例えば、 c:/ は /cygdrive/c/ とか
64名無しさん@お腹いっぱい。:2007/02/06(火) 17:44:37
>>63
cygwin-mount.el
65名無しさん@お腹いっぱい。:2007/02/06(火) 17:52:23
>>64
cygwin-mount は実際に使用していますが、eshell上では
c:/ は c:/ として認識されてしまいます
66名無しさん@お腹いっぱい。:2007/02/06(火) 19:03:22
>>65
bash.exe 呼べばいいじゃん?
67名無しさん@お腹いっぱい。:2007/02/06(火) 20:02:25
>>66
もちろん cygwin 上での bash なら ~/ は /home/user/ になるわけですが、
eshell 上で bash.exe を使用した場合、 ~/ は c:/cygwin/home/user/ と認識しています
68名無しさん@お腹いっぱい。:2007/02/06(火) 20:21:56
>>65
>>64 でいいたいのは、cygwin-mount.el を使って、eshell の内部関数を書き換えろって事だ。
69名無しさん@お腹いっぱい。:2007/02/06(火) 20:27:29
>>68
そんな簡単にはいかないと思うのですが。
実際、eshell内部のパスを処理する部分で cygwin-mount.el の関数を
使用したとしても、サブプロセスがパスを理解してくれない場合も出てくると思われます
70名無しさん@お腹いっぱい。:2007/02/06(火) 20:39:53
>>69
簡単に行くとはいってないが?
71名無しさん@お腹いっぱい。:2007/02/06(火) 20:54:40
>>70
eshell の内部関数を書き換えただけではうまくいくとは限らないってことです
わかります?
72名無しさん@お腹いっぱい。:2007/02/06(火) 21:21:52
>>71
わかりますよ?
73名無しさん@お腹いっぱい。:2007/02/06(火) 22:11:33
>>62
先生、探しても分かりません
74名無しさん@お腹いっぱい。:2007/02/07(水) 03:12:08
>>73
窓のところで
meadow / memo
75名無しさん@お腹いっぱい。:2007/02/07(水) 18:44:42
>>74
アリガトゴザイマース
76武蔵 ◆yChdjWk9Ko :2007/02/07(水) 18:53:01
>>75
礼はいいから取り敢えずanal出せ
77名無しさん@お腹いっぱい。:2007/02/07(水) 19:09:13
>>75
下品すぎです><
78名無しさん@お腹いっぱい。:2007/02/11(日) 02:05:31
適当なところでバッファを shrink してほしいんだけど、そういう設定は無いのかな?
79名無しさん@お腹いっぱい。:2007/02/11(日) 15:21:35
>>>78
(setq eshell-buffer-maximum-lines 5000)
とか?
80武蔵 ◆yChdjWk9Ko :2007/02/11(日) 15:24:58
>>79
おい若者、それだけではうまくいかんぞ.
それをセットした後に

(eshell-truncate-buffer)

を実行しなければならない.試しに *eshell* 上で

(let ((eshell-buffer-maximum-lines 10)) (eshell-truncate-buffer))

を実行してみたまえ.
81名無しさん@お腹いっぱい。:2007/02/12(月) 08:42:42
コマンド補完の動作を bash のデフォルトみたいにしたいのですが
方法ありますか?
82KingOfMathKingdom ◆NlBVr1vWAA :2007/02/17(土) 16:12:05

>>81 eshell-cmpl-cycle-cutoff-length を 0 にセットしてはどうだ
83名無しさん@お腹いっぱい。:2007/04/02(月) 19:16:02
eshellの配布場所の
http://emacswiki.org/johnw/eshell.html
が変(永久ループリダイレクト)なんですけど、
どこへ行っちゃったんでしょうか?
8483:2007/04/02(月) 19:16:53
あ、ごめんなさい、配布場所は
http://www.newartisans.com/johnw/eshell.html
でした(が、リダイレクトがループしています)
85名無しさん@お腹いっぱい。:2007/04/30(月) 13:31:19
Emacs ヒッキーなんで使ってみたいけどマニュアル全然ないのな…
86名無しさん@お腹いっぱい。:2007/04/30(月) 16:11:44
>>85
ソースが一番のマニュアル
87名無しさん@お腹いっぱい。:2007/05/10(木) 11:29:15
eshellって.bashrcや.zshrcのように起動時に読み込むファイルってあるの?
88名無しさん@お腹いっぱい。:2007/05/10(木) 14:23:46
>>85
eshell.texi見ろ と言おうと思ったけど、実際に見たら言えなくなったw
eshellを普通に使っていたらホームディレクトリ以下が全部消えた話
ttp://d.hatena.ne.jp/Rommy/20070115/1168876829
90名無しさん@お腹いっぱい。:2007/05/10(木) 16:41:29
>>89
これは気の毒だな。俺もzsh使ってるし .* で上位ディレクトリまで解釈してしまう
sh, bash, eshell って怖いな。
91名無しさん@お腹いっぱい。:2007/05/10(木) 18:17:37
>>89,90
これって、eshellのglobが悪いんじゃなくて、eshell/rmの実装が悪いんじゃないの?
rm(1)と、挙動が違うってのが。

それともGNU版rmだけが特別なのかな〜?

9291:2007/05/10(木) 18:40:03
気になったから、自分で環境作ってやってみたら、

$ rm -rf .*
rm: cannot remove `.' or `..'
rm: cannot remove `.' or `..'

と、でたよ。

emacs-version is 22.0.99.1


はてなの人は、22.0.91だって。
93名無しさん@お腹いっぱい。:2007/05/10(木) 19:02:22
そーいえば BSD 版の rm は比較的最近なんか安全方向に変わったんだよね?
.. ではなく / に関するものだったような気がするけれど。
94名無しさん@お腹いっぱい。:2007/10/30(火) 22:28:01
あげ∩( ・ω・)∩
95名無しさん@お腹いっぱい。:2007/10/31(水) 14:12:30
>>85
ちょっと前まで「Eshellを使いこなす」ってページがあったんだけど、
なくなっちゃったんだよね。いろんな意味でマニュアル的な存在でもあって、
多分既存するEshellの情報のほとんど全てが載っていたと思う。
96名無しさん@お腹いっぱい。:2007/10/31(水) 16:00:21
>>95
6ヶ月越しのレスとは、またすごいロングパスだな。
97名無しさん@お腹いっぱい。:2007/11/01(木) 02:09:40
うげ、そのうち勉強しようと思ってたのに
なくなっちゃったのか > Eshellを使いこなす

archive.orgを漁ってみたいので
覚えてる人いたらURLきぼん。
98名無しさん@お腹いっぱい。:2007/11/22(木) 22:13:18
Meadow memo にある奴はサルベージじゃないのか ?
99名無しさん@お腹いっぱい。:2008/04/17(木) 05:54:36
大日本プロレスが金村キンタローを無期限出場停止処分に

大日本プロレスは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
>本名:かねむら ゆきひろ・韓国名:キム・ヘンホ
100名無しさん@お腹いっぱい。:2008/04/17(木) 08:27:04
これはいい保守ですね
101名無しさん@お腹いっぱい。:2008/05/21(水) 10:07:40
C-c C-tで
選択範囲内のすべての行の先頭にタブを入れたいのですが,
lispをどう書けばいいですか?

わかる方がいましたら教えてください
102名無しさん@お腹いっぱい。:2008/05/21(水) 10:22:34
> From: [89] デフォルトの名無しさん <sage>
> Date: 2008/05/12(月) 09:30:03
>
> 選択範囲内のすべての行の先頭にタブを入れたいのですが,
> どうすればいいですか?
>
> わかる方がいましたら教えてください。
> __________________________________________________
>
> From: [90] デフォルトの名無しさん <sage>
> Date: 2008/05/12(月) 09:43:01
>
> >>89
> マークして C-x r t C-q TAB RET
> 基本的な操作は本スレで質問しような。

このコピペは流行ってるのか?
103名無しさん@お腹いっぱい。:2008/05/22(木) 07:30:23
>>102
C-x r t C-q TAB RETしてもできなかったよ
104名無しさん@お腹いっぱい。:2008/06/08(日) 19:36:31
例えば
rm *~
して~の後ろでTABを押したときに、*~に含まれるファイル名の補間リストが見たいのですが、
現状では、*~にマッチするファイル名を順に変換するようになっています。

補間リストを表示するようにはできませんか?
105名無しさん@お腹いっぱい。:2008/12/04(木) 23:08:36
vistaでeshell使っていて、pythonをeshell上で使いたいんですが
どうすればコマンドで使えるようになるのでしょうか
教えてください
106名無しさん@お腹いっぱい。:2008/12/04(木) 23:19:03
パス通ってればいいんじゃね?
107105:2008/12/04(木) 23:42:21
load-path
("c:/Python30/
パスは通ってるのですが、
c:/ $ python
python: command not found
このようにコマンドとして使えません
108名無しさん@お腹いっぱい。:2008/12/04(木) 23:45:16
節子、それファイルパスやない...ライブラリのロードパスや!
109名無しさん@お腹いっぱい。:2008/12/04(木) 23:49:48
>>107
(getenv "Path")
にc:/Python30/が含まれるべきだろ低脳
110105:2008/12/05(金) 00:20:19
できるようになりました
ありがとうございます
わからなくなったらまたきます^^
111KingOfMathKingdom ◆NlBVr1vWAA :2008/12/12(金) 06:50:01
>>109 そのぐらいで怒るなよ
>>110 がんばれよ
112名無しさん@お腹いっぱい。:2009/05/02(土) 10:54:03
CVS HEADのEmacs使ってみて。
eshellでの ls が激速になってる。
113名無しさん@お腹いっぱい。:2009/05/02(土) 12:54:17
ほんとだ
カラーもちゃんと表示されるようになってる
114名無しさん@お腹いっぱい。:2010/05/03(月) 18:14:37
外部プロセスの呼出をやりたいです。
start-processがある事がわかったのですが、うまくできませんでした。

やりたい事はC-c t tで
現在開いているファイルに対して
txt2tags -t html --toc --encoding=utf-8
を実行してほしい。
115名無しさん@お腹いっぱい。:2010/05/06(木) 20:02:12
(defun foo ()
(interactive)
(setq bname(concat "txt2tags -t html --toc --encoding=utf-8 " (buffer-name)))
(shell-command bname))
(global-set-key [(C c)(t)(t)] 'foo)

とかじゃだめなの?

てか、eshellが全然関係ないうえにstart-processも関係ないよな、この質問

まあ過疎ってるからいいけども
116名無しさん@お腹いっぱい。:2010/05/22(土) 16:57:37
入力した文字列を eshell を起動して実行させたいんですが、
次のように read-string を使うと、execute-kbd-macro が正しく動きません。

(defun foo ()
(interactive)
(let (var)
(setq var (read-string "% "))
(execute-kbd-macro (concat "\370eshell
" var "
"))))

read-string を使わずに (setq var "ls") などと書くと正しく動作します。
どうやったら read-string で入力したのを eshell で実行できるんでしょうか?
117名無しさん@お腹いっぱい。:2010/05/22(土) 18:03:51
>>116
(defun foo (cmd)
(interactive "M%% ")
(eshell)
(goto-char (point-max))
(insert cmd)
(eshell-send-input))
118名無しさん@お腹いっぱい。:2010/05/22(土) 18:45:42
>>117
キーボードマクロを使わない、まさにその方法が知りたかったです。
ありがとうございました!
119名無しさん@お腹いっぱい。:2010/05/24(月) 00:00:15
なんか知らんが、eshellとtrampの組み合わせが調子悪い・・・。
一旦、sudo lsとかを実行しないと数十秒固まったりする。同じ症状が出てる人いません?

emacs 23.2.1とtramp 2.1.17です。
120名無しさん@お腹いっぱい。:2010/05/26(水) 00:39:42
>>119ですが、自己解決しました・・・。
tramp.el内のtramp-methodで、sudo項目のオプション-Pを消したら普通に動くようになりました。

原因はよくわかりませんが・・・。
121名無しさん@お腹いっぱい。:2010/05/26(水) 00:46:59
訂正、-pです。
122名無しさん@お腹いっぱい。:2010/05/31(月) 00:38:26
eshellのターミナルで git log を実行すると次のように WARNING が出て
RETURN を押さないと次が見えなくて不便です

$ git log
WARNING: terminal is not fully functional
- (press RETURN)

環境変数TERM関連は次のようになってます

$ env | grep TERM
TERM=dumb
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=273

ためしに export TERM=xterm とすると (press RETURN) 等はでなくなるのですが、
ansi-color-for-comint-mode-on にしているにもかかわらず
エスケープシーケンスがそのまま表示されてしまいます。

普通のコンソールと同じように (press RETURN) 等を出さずに
色付きで表示するにはどうしたらいいんでしょうか?
123Zeno ◆5nZQbNmQPs :2010/05/31(月) 01:08:52

defcustom から eshell-modules-list にアクセスをし、
中に eshell-term を加えてみてはどうかね。

eshell-modules-list の内容をここに貼ってみろ。
124名無しさん@お腹いっぱい。:2010/05/31(月) 02:00:00
eshell-modules-list は次のように自分で設定していて実際の値もこれと同じでした。
(setq eshell-modules-list '(eshell-alias eshell-banner eshell-basic eshell-cmpl eshell-dirs eshell-glob eshell-hist eshell-ls eshell-pred eshell-prompt eshell-script eshell-term))
なぜデフォルトにあった eshell-unix が抜けているのかは、思い出せず。

で、これをきっかに設定を見直したところエスケープシーケンスが反映されていない原因は、
eshell-output-filter-functions から eshell-handle-ansi-color を外していたからでした
これもまたなぜ外してしまったのか。。。

ただeshellのデフォルトの TERM=dumb の状態だと git log のあとで
警告が出てRETURNを求められるのは相変わらずです。
125Zeno ◆5nZQbNmQPs :2010/05/31(月) 08:52:30

>>124
解決策は2つある。

1. eshell上で

$ export PAGER=
$ git log

2. eshell-visual-commands に git を加える。

お勧めは .eshell/login に export PAGER= を挿入するやり方。
わかったか?
126名無しさん@お腹いっぱい。:2010/05/31(月) 10:51:52
>>125
ありがとうございます
2の方法だと何も表示されなくなってしまったんですが
.eshell/login に export PAGER= を挿入する方法だとうまく行きました。
当初、環境変数PAGERを設定してなのになんでPAGERが作動するのか謎でしたが
空の値をセットすればPAGERが無効になるんですね。勉強になりました。

ただ git help config すると
sh: -c: line 0: syntax error near unexpected token `||'
のようエラーがぞろぞろ出てきてまったくマニュアルが表示されなくなったので
試しに export PAGER=cat にすると git help config の方も動きました。

あとほんとに些細なことなんですが git config --global color.ui "auto" として
出力を色付きにしているとき、普通のコンソールでは色付きで表示されるのに
eshell上ではモノクロです。
色指定のエスケープシーケンスが含まれるログファイルをeshell上でcatで表示すると
色付きで正しく表示されるんですが。
127Zeno ◆5nZQbNmQPs :2010/05/31(月) 12:46:18

>>126
> 当初、環境変数PAGERを設定してなのになんでPAGERが作動するのか謎でしたが

PAGER のデフォルト値が man だからだろ。

> 出力を色付きにしているとき、普通のコンソールでは色付きで表示されるのに

TERM が馬鹿 (dumb) だから。
xterm-256color や xterm-color にしてみると良い。
eshell の使う ansi-color のモジュールが
サポートしていないエスケープシークエンスがあるので、
うまく表示されない場合が多い。
128名無しさん@お腹いっぱい。:2010/06/01(火) 11:21:04
>>127
ありがとうございます
export TERM=xterm-256color
export TERM=xterm-color
のどちらでも git log の表示が色付きで出るようになりました
129名無しさん@お腹いっぱい。:2011/03/29(火) 02:54:53.38
RubyをEmacsで使おうとして苦戦しております。

http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Emacs

このサイトにて、
「Debianの"ruby-elisp.deb"のようにパッケージが利用できるなら、
それをインストールする。ソースからビルドした場合などは、
適当な場所(たとえば~/site-lispなど)にmisc/*.elをコピーする。
そして~/.emacsに次のように書いておく」
と書いてあります。

最後の部分は恐らくパスを追加するということなのだと思うのですが、
私はパスを追加するとはコントロールパネルから辿って行って、絶対パスを
ペーストするやり方しか知らないので、ここがよくわかりません。

~/.emacsって言うのはどこを指していて、どうやって書き込めばいいのでしょうか?
130名無しさん@お腹いっぱい。:2011/03/29(火) 18:02:23.68
>>129
釣りですか?UNIX版で~/.emacsっていうのはどこを指しているのか
なんて質問が出るわけがないのだけど。

$ vi ~/.emacs
とか
$ nano ~/.emacs
でどう?
131名無しさん@お腹いっぱい。:2011/03/29(火) 21:56:05.66
emacs 使えよ
132 忍法帖【Lv=40,xxxPT】 【東電 76.2 %】 :2011/08/14(日) 17:04:39.85
現在どのTAGSファイルを読み込んでるか確認する方法ないかな
133名無しさん@お腹いっぱい。:2012/02/12(日) 00:48:08.71
保守です。
Eshellけっこう便利だと思うけど、あんま使われないのかな ?
Emacsだけで、screen + zsh + vim とけっこう張り合える。
134名無しさん@お腹いっぱい。:2012/02/12(日) 01:00:12.39
>>133
使っているけれど、
- ドキュメントがない
- 大きいファイルをリダイレクトすると遅い
- ヒアドキュメントが使えない
135名無しさん@お腹いっぱい。:2012/02/20(月) 13:53:53.54
色々やってみた

# 代わりにemacsコマンドを呼び出す系
alias w3m 'w3m-find-file $1'
alias irb 'run-ruby "irb"'
alias ghci 'run-haskell'
alias emacs 'find-file $1'
alias make 'compile ${mapconcat (function identity) ${cons "make" $*} " "}'

# tomp3 *.wav *.mp4 ... のようにして使う
alias tomp3 'for i in ${eshell-flatten-list $*} {ffmpeg -i $i ${concat ${file-name-sans-extension $i} .mp3}}'
alias toutf8 'for i in $* {nkf -w -Lu --overwrite $i}'
alias check-encode 'for i in ${eshell-flatten-list $*} {*echo $i : ${nkf -g $i}}'
alias elcompile 'for i in ${eshell-flatten-list $*} {byte-compile-file $i}'
alias elcompile-all 'for i in **/*.el {byte-compile-file $i}'

# ショートカット系?
alias d 'dired-other-window ${pwd}'
alias c 'cd *$1*'
alias f 'find-file $1'
alias r 'view-file $1'

# 他のシェルでもよくやるの系
alias ll 'ls -lh $*'
alias la 'ls -a $*'
alias findn 'find . -name $*'
alias cdd 'cd ~/download'
alias untgz 'tar xvzf $*'
alias untbz 'tar xvjf $*'
alias slideshow 'feh -ZF *.jpg *.gif *.png >/dev/null'
136名無しさん@お腹いっぱい。:2012/02/20(月) 15:41:17.92
Tron っていう映画に eshell が出ているそうです
http://www.youtube.com/watch?v=dNEVJ-1_lPg
137名無しさん@お腹いっぱい。:2012/02/20(月) 22:15:31.59
コマ送りしてみたらほんとだったw
途中でハノイの塔が出てくるけど、その時のモードラインにはTetrisの文字が…
まぁこの辺は適当に合成したのかな。
138名無しさん@お腹いっぱい。:2013/02/13(水) 21:28:22.85
NTemacs下だからチョット気がひけるけど質問。
ps が command not foundになる原因と対処法を教えてください。
139名無しさん@お腹いっぱい。:2013/02/13(水) 22:33:53.10
140138:2013/03/09(土) 15:32:59.66
(setq cache-long-line-scans t) が問題を起してたようだ
cache-long-line-scans ・・・bugbugな子
141名無しさん@お腹いっぱい。:2014/03/24(月) 20:53:53.90
すいません、教えてください。
eshell での *su - コマンド等での
入力されたパスワードを非表示にするには
どのように設定すればいいのでしょうか?
検索しても shell-mode での設定例しか見つけられませんでした。
142名無しさん@お腹いっぱい。:2014/06/28(土) 00:05:11.46
>>141
超遅レスだが24.4(23.3.92)ではちゃんと非表示になるぞ
143名無しさん@お腹いっぱい。:2014/09/27(土) 10:39:05.21
eshell を規定のシェルとすることはできますか?

具体的には、M-x find-name-dired 等で使用する find を、eshell の find とすることはできるのでしょうか。

私は Windows で Ntemacs を使っているのですが、上記の際にコマンドプロンプトの find が使用されてエラーとなります。

できるとすれば、setenv で "SHELL" に何かを設定するのかな。
144名無しさん@お腹いっぱい。:2014/10/02(木) 02:12:04.66
>>143
eshellのfindは外部コマンドのfindを呼び出してるだけだよ
lsみたいに呼び出さないのもあるけど

findはどっかから探してきて、Windows標準のfind.exeより先に見つかるように
パスを設定して、そこにコピーする必要がある
145名無しさん@お腹いっぱい。:2014/10/02(木) 11:57:32.04
>>144
そうなのですか?
eshell-prefer-lisp-function を t にすると find の挙動が変わったから、てっきり lisp で find が作成されているのだと考えておりました (もっとも、その find の usage が (ITEM SEQ [KEYWORD VALUE] ...) となっており、help も見つけられないので困っておりました)。
146名無しさん@お腹いっぱい。:2014/10/02(木) 12:04:34.38
>>145
あっ・・・
これ cl-find という lisp の関数なのですね。
見当違いでした。すみません
147名無しさん@お腹いっぱい。
eshell の ls の動作が数年前より数十倍遅くなっているんだが、
どうしたんだ? 誰かが糞マージしたの?