2006-07-03

Emacs で複数 subshell を起動する

Emacs では、M-x shell とすることで、内部シェル (sub shell) を起動することができる。Emacs から移ることなく、コンパイルしたファイルを実行したり、インストール作業のログを取ったり、と使い方は様々。

さて、そんな Emacs のサブシェルだけども、二度目の M-x shell を実行しても、二つ目のサブシェルを作ることは出来ない。代わりに、最初に作った sub shell が開く (これはこれで便利だけどね :P)。

ではどうするか。答えは簡単で、数引数 (C-u) を取ってやればいい。つまり、二つ目以降の M-x shell からは、

C-u M-x shell

としてやる。すると、EmacsShell buffer (default *shell*<2>): と聞いてくるので、*shell*<2> というバッファ名でよければ RET を打つ。

もう一つの方法

元の subshell のバッファ名を代えてやる方法もある。

M-x rename-buffer

で、バッファー名を *shell* から別の名前に変えてしまう。すると、(数引数なしの) M-x shell で新しくサブシェルを起動することができる。

新しい shell を作るために、バッファー名を変更するなんて、まどろっこしいことをする人がいないよね。でも、directory/shell とか TeX/shell みたいな名前に変えて、複数 shell を管理するのには使えるんじゃないかな。

No comments:

Post a Comment