トップページunix
132コメント44KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001今艸NGNG
教えろ
最近使いだしたがマニュアルねーからさっぱりわがんね
早くしてね

参考リンク
http://www.chienowa.co.jp/frame1/ijinden/
0117名無しさん@お腹いっぱい。2010/05/22(土) 18:03:51
>>116
(defun foo (cmd)
(interactive "M%% ")
(eshell)
(goto-char (point-max))
(insert cmd)
(eshell-send-input))
0118名無しさん@お腹いっぱい。2010/05/22(土) 18:45:42
>>117
キーボードマクロを使わない、まさにその方法が知りたかったです。
ありがとうございました!
0119名無しさん@お腹いっぱい。2010/05/24(月) 00:00:15
なんか知らんが、eshellとtrampの組み合わせが調子悪い・・・。
一旦、sudo lsとかを実行しないと数十秒固まったりする。同じ症状が出てる人いません?

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

原因はよくわかりませんが・・・。
0121名無しさん@お腹いっぱい。2010/05/26(水) 00:46:59
訂正、-pです。
0122名無しさん@お腹いっぱい。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) 等を出さずに
色付きで表示するにはどうしたらいいんでしょうか?
0123Zeno ◆5nZQbNmQPs 2010/05/31(月) 01:08:52

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

eshell-modules-list の内容をここに貼ってみろ。
0124名無しさん@お腹いっぱい。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を求められるのは相変わらずです。
0125Zeno ◆5nZQbNmQPs 2010/05/31(月) 08:52:30

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

1. eshell上で

$ export PAGER=
$ git log

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

お勧めは .eshell/login に export PAGER= を挿入するやり方。
わかったか?
0126名無しさん@お腹いっぱい。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で表示すると
色付きで正しく表示されるんですが。
0127Zeno ◆5nZQbNmQPs 2010/05/31(月) 12:46:18

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

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

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

TERM が馬鹿 (dumb) だから。
xterm-256color や xterm-color にしてみると良い。
eshell の使う ansi-color のモジュールが
サポートしていないエスケープシークエンスがあるので、
うまく表示されない場合が多い。
0128名無しさん@お腹いっぱい。2010/06/01(火) 11:21:04
>>127
ありがとうございます
export TERM=xterm-256color
export TERM=xterm-color
のどちらでも git log の表示が色付きで出るようになりました
0129名無しさん@お腹いっぱい。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って言うのはどこを指していて、どうやって書き込めばいいのでしょうか?
0130名無しさん@お腹いっぱい。2011/03/29(火) 18:02:23.68
>>129
釣りですか?UNIX版で~/.emacsっていうのはどこを指しているのか
なんて質問が出るわけがないのだけど。

$ vi ~/.emacs
とか
$ nano ~/.emacs
でどう?
0131名無しさん@お腹いっぱい。2011/03/29(火) 21:56:05.66
emacs 使えよ
0132 忍法帖【Lv=40,xxxPT】 【東電 76.2 %】 2011/08/14(日) 17:04:39.85
現在どのTAGSファイルを読み込んでるか確認する方法ないかな
■ このスレッドは過去ログ倉庫に格納されています