@kyanny's blog

My thoughts, my life. Views/opinions are my own.

eshell は本当に素晴らしい

ふとそう思った。

C-u M-x eshell を使うようになってから、ずいぶん違う。これは別バッファで新しい eshell を立ち上げる。 M-x shell とかでもおそらくできる。

eshell でコマンドを実行すると、標準出力に吐き出されたテキストはそのまま Emacs 上で編集できる。マージしてコミット、とかのときにコミットログを書いたりするのがとても楽だ。複雑なマージ(リビジョン番号が入り乱れててシビアとか)をするときとかも、別バッファにコマンドラインを書いておいてどうこう、とかが簡単にできる。 zsh にはコマンドラインをスタックに入れる、みたいなのがあった記憶があるが、それより簡単だと思う。

複数の eshell バッファを立ち上げることで、一つ一つのシェルを簡単に使い捨てにできる。あと cd とか打たなくてよくなる。 C-x C-f とか Dired とかでたどるほうが早いし補完も強くきくのでそこで目的のディレクトリを Dired で開いて C-u M-x eshell すればそこをカレントディレクトリとして eshell バッファができる。小さいことだけど、結構馬鹿に出来ないくらい楽ができてると思う(たまに bash を使うとそう思う)。

perldoc -T -m XXX とかすると全部出てくるので、普通にインクリメンタルサーチで探したりできる。コピペとかも楽にできる。でもこれは perldoc-m な emacs lisp をちゃんと使ったほうがもっと楽かもしれない(自分の手元では動かなかった。なんとなく、 Mac で Emacs 使うなら Carbon Emacs を使った方がいろいろ問題が起きないのだろうなという気がする。使ってる人が多いから)。

自分のシェルの使い方が、あんまりカスタマイズしていないとか、使い込んでないとか、使いこなしてないとかで、たぶんもっと使い込んでる人にとっては物足りないところが多いのだろうけど、自分の使い方にはとても合っていて便利だと思う。もう俺、 eshell でいいや。