Quali sono tutti i modi per lanciare una shell dall'interno di Emacs e quali sono le loro varie proprietà?


25

Conosco almeno quattro possibilità:

  • eshell
  • termine
  • ANSI-termine
  • conchiglia

Qual è l'elenco completo degli strumenti integrati in emacs per avviare una shell e quali vantaggi e svantaggi offrono?


1
questo è un esempio interessante di una grande domanda. Sembra che ad alcune persone sul sito (inclusi noi due) piaccia questo tipo di domanda, mentre ad altri no. I risultati possono essere veramente variabili a seconda della risposta del moderatore. Ho iniziato una discussione su meta al riguardo, facendo riferimento a questa domanda come esempio meta.emacs.stackexchange.com/questions/305/…
Joe Corneli,

Risposte:


31

M-x shellè l'interfaccia standard per la shell del sistema operativo. Su Linux, chiama bash (o qualunque sia il valore predefinito), su Windows, chiama cmd.exe. M-x shellè il più usato.

M-x eshellè una shell scritta interamente in emacs lisp. Ha una sintassi simile a bash, ma è integrata con elisp well. ad es. puoi valutare il codice elisp proprio lì. Eshell è particolarmente utile su Windows quando non hai Cygwin etc installato.

M-x terme M-x ansi-termsono emulazioni terminali, proprio come gnome-terminal, xterm, ecc. La differenza principale M-x shellè che, in eshello shell, le chiavi sono ancora chiavi emacs, ma in term, le chiavi emacs non funzionano. Ma il vantaggio è che puoi eseguire ssh, vim o qualsiasi comando basato sull'interfaccia utente di testo, che non funzionerà in M-x eshello M-x shell.

terme ansi-termusato per essere pacchetti diversi, ma ora sono 2 comandi diversi nello stesso file term.el. Non li ho usati molto. Puoi trovare una risposta più dettagliata a riguardo su emacs wiki .

Ci sono alcune ulteriori informazioni sul mio blog .


1
"ora sono 2 comandi diversi nello stesso file". Ci possono essere una o due parole mancanti lì.
Faheem Mitha,

2
Buona risposta. Sarebbe bello anche un link alla pagina wiki menzionata.
Malabarba,

3
"La shell Mx è la più usata" - Vorrei una citazione o alcuni dati per supportarla, dal momento che non sono affatto convinto che sia vera. Inoltre, non aggiunge nulla di sostanziale alla risposta. Buona risposta altrimenti.
shosti,

2
shosti, non ho statistiche approfondite. secondo l'intestazione del file, shell è 1988. eshell è 1999. term.el è anche 1988. eshell è principalmente usato dagli hacker elisp, quindi è molto meno degli utenti emacs. Questo lascia shell vs termine. Penso che possiamo confrontare la loro menzione nei libri di emacs, ad esempio i 3 o più vecchi di O'Reilly. O il confronto con Google ... ma solo per esperienza nella comunità di emacs, penso che il termine / termine ansi sia molto meno usato.
Xah Lee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.