Emacs では、M-x shell とすることで、内部シェル (sub shell) を起動することができる。Emacs から移ることなく、コンパイルしたファイルを実行したり、インストール作業のログを取ったり、と使い方は様々。
さて、そんな Emacs のサブシェルだけども、二度目の M-x shell を実行しても、二つ目のサブシェルを作ることは出来ない。代わりに、最初に作った sub shell が開く (これはこれで便利だけどね :P)。
ではどうするか。答えは簡単で、数引数 (C-u) を取ってやればいい。つまり、二つ目以降の M-x shell からは、
C-u M-x shell
としてやる。すると、Emacs は Shell 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