Em vez do shell M-x, execute o seguinte código lisp do emacs usando M -:
(shell (current-buffer))
No emacs, geralmente tenho vários buffers de shell abertos e uso o buffer de renomeação para rastreá-los. Às vezes, inadvertidamente, fecho o shell atingindo muitos ^ D's, ou estou em um sistema que automaticamente desativa os shells inativos. Existe uma maneira de iniciar um novo shell no mesmo buffer? Porque eu renomei o buffer do shell digitando M-x shell irá iniciar um shell em um novo shell buffer, não o buffer atual.
Isso não é perfeito, mas te dá a maior parte do que você quer. Coloque este código no seu arquivo de inicialização .emacs
:
(defun my-shell-mode-hook ()
"Added to shell-mode-hook. This function runs every time function shell
starts a shell."
(rename-buffer "My Shell" 'unique))
(add-hook 'shell-mode-hook 'my-shell-mode-hook)
Sinta-se à vontade para alterar a string "My Shell"
para outro nome. Se você usar M-x shell RET
no buffer My Shell
, o novo shell será iniciado no mesmo buffer. Infelizmente, se você fizer isso em outro buffer, receberá um novo buffer chamado My Shell<2>
, que não é tão bonito. Acho que o último efeito pode ser eliminado pela função que aconselha shell
, então que muda para o buffer My Shell
antes de executar a função shell
real.
Tags emacs shell text-editors elisp