2010-03-29 13 views

Respuesta

12

Usted puede hacer esto:

`C-u M-x eshell` 

Esto creará *eshell*, *eshell*<2>, y así sucesivamente.

4

La docstring para eshell establece que "un prefijo no numérico arg significa crear una nueva sesión". Escribí M-- M-x eshell una y otra vez, y cada vez que se abrió un nuevo búfer de eshell.

+1

C-u M-x eshell también funciona. – ataylor

+0

Maldita sea. Tu comentario no fue escrito cuando comencé mi respuesta :) –

6

Mi método preferido es la creación de conchas con nombre:

(defun make-shell (name) 
    "Create a shell buffer named NAME." 
    (interactive "sName: ") 
    (setq name (concat "$" name)) 
    (eshell) 
    (rename-buffer name)) 

es la esencia. Entonces M-x make-shell name creará el shell deseado.

0

Invocando GNU Screen es otra opción para aquellos que utilizan ANSI plazo

1

Cu Mx eshell funciona muy bien, pero yo prefiero conchas nombradas - make-shell enfoque, es útil cuando se cambia tampones

0

Mybe, la siguiente solución es mejor. Porque el buffer de eshell está determinado por el valor de eshell-buffer-name. No necesita cambiar el nombre del buffer.

(defun buffer-exists (bufname) 
    (not (eq nil (get-buffer bufname)))) 

(defun make-shell (name) 
    "Create a shell buffer named NAME." 
    (interactive "sName: ") 
    (if (buffer-exists "*eshell*") 
     (setq eshell-buffer-name name) 
    (message "eshell doesnot exists, use the default name: *eshell*")) 
    (eshell)) 
0

Ampliando make-eshell, esto crea un eshell añadiendo el siguiente contador, así que es como eshell1, eshell2, etc .:

(lexical-let ((count 1)) 
    (defun make-eshell-next-number() 
    (interactive) 
    (eshell) 
    (rename-buffer (concat "*eshell" (number-to-string count) "*")) 
    (setq count (1+ count)))) 
Cuestiones relacionadas