M-x shellで常に新しいshellを起動する

Posted on
Emacs Shell

Emacsの中でshellを使う方法はいくつかありますが、私は古き良きshell-modeを使っています。

M-x shellすると、shell bufferが存在しない場合は新たにshellを起動、存在する(かつshell processが起動している)場合は既存のshell bufferを開きます。

追加でshellを起動したい場合は C-u M-x shellしてからbuffer名を指定する必要があり、面倒だったのでM-x shellで常に新しいshellを起動するようにしました。

(defalias 'my-shell-original (symbol-function 'shell))
(defun shell ()
  (interactive)
  (my-shell-original (generate-new-buffer-name "*shell*")))