GNU Emacs; La versione della GUI offre qualcosa di più della possibilità di avere un menu della GUI?


25

Sto guardando GNU Emacs ormai da alcuni mesi, acceso e spento (principalmente spento), e sono davvero andato solo al punto di testare alcune cose di base che voglio particolarmente in un editor ... arrivare lentamente a rendersi conto della sua topografia e sta iniziando a dare un (buon) senso ...

La cosa principale che ho notato è che sembra funzionare esattamente allo stesso modo nella versione X-GUI come nella versione X-Terminal (e sospetto che sarebbe praticamente lo stesso in un ambiente non-GUI .. .

Inizialmente pensavo che mi sarei sentito molto a disagio lavorando in un editor non-GUI, e questo è stato il caso, ma più mi diletto nelle acque di Emacs, meno significativo diventa il bisogno ... quindi ora lo sto guardando dall'altra estremità dello stick ... sto concentrando la mia attenzione sul lavoro principalmente nella versione Terminal ..

La mia domanda è: a parte l'ovvio menu della GUI (che si è rivelato abbastanza inutile), c'è qualche differenza notevole tra le versioni (X-GUI, X-Terminal e no-GUI)? *

Risposte:


28

C'erano più restrizioni, ma da GNU Emacs 23 l'interfaccia di modalità testo può fare la maggior parte di ciò che l'interfaccia GUI può fare. Inoltre, da GNU Emacs 23, è possibile combinare X frame e frame in modalità testo nella stessa istanza di Emacs.

L'esecuzione in un terminale limita le combinazioni di tasti di input che Emacs può riconoscere, poiché l'emulatore di terminale spesso non trasmette sequenze di escape distinte per tutte le combinazioni di tasti. La maggior parte degli emulatori di terminali non supporta tutte le combinazioni di modificatori con caratteri ASCII (cose come C-S-ao C-;o modificatori diversi da Ctrl, Shifte Meta/ Alt). Non è possibile distinguere tabda C-io backspaceda DEL(o in C-hbase alla configurazione dell'emulatore di terminale). Esiste uno standard proposto per codificare le sequenze di escape in modo sistematico, ma molti terminali popolari non lo supportano .

In un terminale, si diventa grassetto, forse corsivo e sottolineato, e per quanto molti colori siano supportati dal terminale. Sotto X, Emacs può utilizzare più caratteri e visualizzare immagini . Che sia utile o meno è principalmente una preferenza personale. Non bussare fino a quando non hai provato il blocco dei caratteri LaTeX (in AUCTeX ) e il rendering di simboli e diagrammi matematici tramite il simbolo x (ho provato e non mi è piaciuto). Se si utilizza Emacs come browser , il supporto delle immagini è un vantaggio (o meno).

In un terminale, sei limitato dal supporto del terminale per le codifiche (ma oggi almeno la maggior parte supporta le funzionalità Unicode di base). L'interfaccia X consente a Emacs di scegliere i propri caratteri e mescolarli in set di caratteri ; questo è utile se modifichi documenti multilingue che non sono coperti da un singolo carattere. Non ho abbastanza esperienza con le lingue non latine per dire se Emacs è meglio del tuo tipico emulatore di terminale nel far fronte a lingue "difficili" (combinando caratteri, doppia larghezza, da sinistra a destra (cosa che Emacs 23 non ha supporto comunque, Emacs 24 dovrebbe)).

Ovviamente c'è il supporto del mouse nell'interfaccia della GUI. Nell'interfaccia di testo, puoi attivare il supporto del mouse se in esecuzione in un emulatore di terminale sotto X con xterm-mouse-mode. Puoi anche ottenere il supporto per gli Appunti X. La versione della GUI ha alcune funzionalità extra come descrizioni comandi , elusione del mouse e menu contestuali attivati ​​dal mouse .

È possibile utilizzare la barra dei menu con entrambe le interfacce. La versione X può mettere icone nella parte superiore del riquadro (la barra degli strumenti ), non che io abbia mai visto alcun uso per loro. Inoltre, nelle modalità di testo non vengono visualizzate finestre di dialogo o barre di scorrimento . Non si ottiene la convenienza multiple-frame, come Le barre in o un ediff cornice di controllo.


Grazie Gilles ... ben spiegato. Questo sicuramente salverà un sacco di grattacapi, soprattutto per quanto riguarda le combinazioni di tasti di input (vale a dire che l'ambiente ha voce in capitolo fino a un certo punto).
Peter

3

In una parola: no

La GUI è solo un comodo livello di menu e tale che ti consente di vedere alcuni degli strumenti che hai a tua disposizione a colpo d'occhio e fare clic per attivare, ma è solo un'interfaccia alternativa allo stesso programma. Le uniche cose che potrebbero essere considerate "caratteristiche" aggiuntive sono l'integrazione con l'ambiente. Copia / incolla, trascina e rilascia i file nella finestra per aprirli, cose del genere.

Lo stesso vale per vimvs gvim. Il programma è lo stesso, la finestra è un involucro di fantasia con la stessa potenza.


La mia comprensione è che gli appunti tagliati e incollati tra emacs e altre app sono interrotti nella versione terminale. Se è così, questo è uno showtopper. Inoltre Gilles sottolinea differenze minori ma comunque importanti.
Javavba,

@javadba copy-paste usando sia i registri di selezione che quelli degli appunti può essere configurato per funzionare perfettamente in un terminale. Immagino che anche Emacs correttamente configurato funzioni bene.
Caleb,
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.