X



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

0032初心者ですが
垢版 |
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よりは使いやすい
0034名無しさん@お腹いっぱい。
垢版 |
05/02/17 14:26:37
あげまんあげまん
003735
垢版 |
05/03/01 19:45:09
>>36
うぉー、ありがとう。
知らんかった。term-mode.

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

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

ハイレベルな議論の最中申し分けございません。
0046名無しさん@お腹いっぱい。
垢版 |
2006/05/18(木) 09:54:03
補完の順序も気に入らない。
hoge1 hoge2 hoge3
みたいなファイルがある時に補完を効かせると
hoge3 → hoge2 → hoge1
って感じで補完されるんだが、普通逆じゃね?
0048名無しさん@お腹いっぱい。
垢版 |
2006/05/19(金) 00:45:10
>>46
それは、日付けが新しい順に補完されてるんだよ。

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

だと、hoge2 → hoge3 → hoge1になるよ。
俺はむしろ気に入っている。
0053名無しさん@お腹いっぱい。
垢版 |
2006/05/21(日) 03:38:39
昔 info はインデックスの数え方がバイト単位だったり文字単位だったりで
統一されてなかったけど、今はどうなった?
0055名無しさん@お腹いっぱい。
垢版 |
2006/05/21(日) 19:23:49
んだね。eshell/infoがまともに雨後感。

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

こんなんでしのいではどうかと
0057Eshell初心者
垢版 |
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)
0058名無しさん@お腹いっぱい。
垢版 |
2006/08/11(金) 01:58:33
>>57
> #作者にメールを送りましたがとりあえず返事は来ていません。

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

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

> だそうな。お返しにもう一つバグ報告しときました。
これは which が program を使っているのに lisp だと嘘をつく、って件だっ
たんだけど、直されてない。
今になって気付いたが、思いっ切り直前の 50- の議論に関係していたね。
0061名無しさん@お腹いっぱい。
垢版 |
2006/12/11(月) 03:11:38
微妙にすれ違いというか全くすれ違いなんだけど、
bookshelf.jpのwikiおかしくない?
eshellの項を読みに行ったらbasic認証なげつけられたんだけど。
0063名無しさん@お腹いっぱい。
垢版 |
2007/02/06(火) 17:26:04
Windows 上で Eshell を Cygwin 用にできますか?
例えば、 c:/ は /cygdrive/c/ とか
0067名無しさん@お腹いっぱい。
垢版 |
2007/02/06(火) 20:02:25
>>66
もちろん cygwin 上での bash なら ~/ は /home/user/ になるわけですが、
eshell 上で bash.exe を使用した場合、 ~/ は c:/cygwin/home/user/ と認識しています
0069名無しさん@お腹いっぱい。
垢版 |
2007/02/06(火) 20:27:29
>>68
そんな簡単にはいかないと思うのですが。
実際、eshell内部のパスを処理する部分で cygwin-mount.el の関数を
使用したとしても、サブプロセスがパスを理解してくれない場合も出てくると思われます
0076武蔵 ◆yChdjWk9Ko
垢版 |
2007/02/07(水) 18:53:01
>>75
礼はいいから取り敢えずanal出せ
0080武蔵 ◆yChdjWk9Ko
垢版 |
2007/02/11(日) 15:24:58
>>79
おい若者、それだけではうまくいかんぞ.
それをセットした後に

(eshell-truncate-buffer)

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

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

を実行してみたまえ.
0082KingOfMathKingdom ◆NlBVr1vWAA
垢版 |
2007/02/17(土) 16:12:05

>>81 eshell-cmpl-cycle-cutoff-length を 0 にセットしてはどうだ
0091名無しさん@お腹いっぱい。
垢版 |
2007/05/10(木) 18:17:37
>>89,90
これって、eshellのglobが悪いんじゃなくて、eshell/rmの実装が悪いんじゃないの?
rm(1)と、挙動が違うってのが。

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

009291
垢版 |
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だって。
0093名無しさん@お腹いっぱい。
垢版 |
2007/05/10(木) 19:02:22
そーいえば BSD 版の rm は比較的最近なんか安全方向に変わったんだよね?
.. ではなく / に関するものだったような気がするけれど。
0094名無しさん@お腹いっぱい。
垢版 |
2007/10/30(火) 22:28:01
あげ∩( ・ω・)∩
0095名無しさん@お腹いっぱい。
垢版 |
2007/10/31(水) 14:12:30
>>85
ちょっと前まで「Eshellを使いこなす」ってページがあったんだけど、
なくなっちゃったんだよね。いろんな意味でマニュアル的な存在でもあって、
多分既存するEshellの情報のほとんど全てが載っていたと思う。
0097名無しさん@お腹いっぱい。
垢版 |
2007/11/01(木) 02:09:40
うげ、そのうち勉強しようと思ってたのに
なくなっちゃったのか > Eshellを使いこなす

archive.orgを漁ってみたいので
覚えてる人いたらURLきぼん。
0099名無しさん@お腹いっぱい。
垢版 |
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
>本名:かねむら ゆきひろ・韓国名:キム・ヘンホ
0101名無しさん@お腹いっぱい。
垢版 |
2008/05/21(水) 10:07:40
C-c C-tで
選択範囲内のすべての行の先頭にタブを入れたいのですが,
lispをどう書けばいいですか?

わかる方がいましたら教えてください
0102名無しさん@お腹いっぱい。
垢版 |
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
> 基本的な操作は本スレで質問しような。

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

補間リストを表示するようにはできませんか?
0105名無しさん@お腹いっぱい。
垢版 |
2008/12/04(木) 23:08:36
vistaでeshell使っていて、pythonをeshell上で使いたいんですが
どうすればコマンドで使えるようになるのでしょうか
教えてください
0106名無しさん@お腹いっぱい。
垢版 |
2008/12/04(木) 23:19:03
パス通ってればいいんじゃね?
0107105
垢版 |
2008/12/04(木) 23:42:21
load-path
("c:/Python30/
パスは通ってるのですが、
c:/ $ python
python: command not found
このようにコマンドとして使えません
0109名無しさん@お腹いっぱい。
垢版 |
2008/12/04(木) 23:49:48
>>107
(getenv "Path")
にc:/Python30/が含まれるべきだろ低脳
0110105
垢版 |
2008/12/05(金) 00:20:19
できるようになりました
ありがとうございます
わからなくなったらまたきます^^
0111KingOfMathKingdom ◆NlBVr1vWAA
垢版 |
2008/12/12(金) 06:50:01
>>109 そのぐらいで怒るなよ
>>110 がんばれよ
0112名無しさん@お腹いっぱい。
垢版 |
2009/05/02(土) 10:54:03
CVS HEADのEmacs使ってみて。
eshellでの ls が激速になってる。
0114名無しさん@お腹いっぱい。
垢版 |
2010/05/03(月) 18:14:37
外部プロセスの呼出をやりたいです。
start-processがある事がわかったのですが、うまくできませんでした。

やりたい事はC-c t tで
現在開いているファイルに対して
txt2tags -t html --toc --encoding=utf-8
を実行してほしい。
0115名無しさん@お腹いっぱい。
垢版 |
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も関係ないよな、この質問

まあ過疎ってるからいいけども
0116名無しさん@お腹いっぱい。
垢版 |
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 で実行できるんでしょうか?
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を消したら普通に動くようになりました。

原因はよくわかりませんが・・・。
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
でどう?
レスを投稿する


ニューススポーツなんでも実況