2012-04-25 11 views
9

Ho appena iniziato a utilizzare EMACS, è incredibile.diff tra frame e finestra in emacs

Quindi ho avuto questa domanda, qual è la differenza tra una finestra e una cornice?

la mia comprensione è:

  1. è possibile premere un 'q' per uscire un non telaio di una finestra.
  2. frame è composto da una serie di finestre
  3. frame conterrà un sottoinsieme di tutti i buffer.
  4. frame è più simile al concetto di progetto mentre window è il per ogni file.

3 e 4 non sono corretti apparentemente, come quando provo a saltare tra i frame ho ancora visto tutti i buffer.

quindi la mia comprensione è corretta? o non lo sto facendo in modo corretto?

c'è una funzione simile al progetto per EMACS per organizzare i buffer in diversi progetti, in modo che quando salto tra i buffer, ho visto solo i buffer localizzare in quel progetto?

qualcuno può parlare di più del concetto di progetto negli EMAC relativi al frame e alla finestra?

+0

Ho uno screencast su queste cose su http: // emacsmovies.org/blog/2012/03/24/terminologia/ –

+0

Ti suggerisco di fare una domanda a parte sui progetti; è troppo lontano dalla differenza frame/window per appartenere a questo. – cjm

risposta

15

Questo è un po 'di confusione, ma è tutto dovuto alla storia. Emacs è stato creato per la prima volta nei giorni text terminals, prima che la GUI fosse comune. Tutto ciò che avevi era righe di testo monospaced, di solito circa 80 colonne per 24 righe. Emacs ha avuto la possibilità di dividere lo schermo in più finestre, in modo da poter vedere più di un file alla volta.

Poi sono arrivati ​​i terminali grafici e la GUI e "finestra" indicava la varietà GUI. Ma Emacs aveva dozzine di funzioni e variabili con "finestra" nel loro nome, che trattava del suo tipo di finestra a schermo diviso. Rinominare queste funzioni spezzerebbe tutto il codice Lisp di Emacs che le usava. Pertanto, quando Emacs ha acquisito un'interfaccia GUI, i suoi progettisti hanno deciso che sarebbe stato più semplice trovare un nuovo termine per significare "finestra GUI" e mantenere "finestra" come "finestra di Emac vecchio stile". Il nuovo termine che hanno inventato era "frame" (perché i frame sono ciò che circonda le finestre).

Quindi quando Emacs parla di "frame", significa la stessa cosa che altri programmi chiamerebbero una "finestra". In Emacs, un frame è fondamentalmente un emulatore di terminale che può essere ridimensionato su richiesta. Ogni frame funziona come un Emac in esecuzione su un terminale di testo; la cornice può contenere una o più finestre Emacs vecchio stile.

Tuttavia, tutti i frame di un singolo processo Emacs sono collegati. Qualsiasi buffer può essere visualizzato in qualsiasi finestra di qualsiasi frame e lo stesso buffer può essere visualizzato in più finestre e/o frame contemporaneamente.

È possibile trovare ulteriori dettagli in the chapter of the Emacs manual on "Frames".

Quindi il (3) non è corretto; ogni buffer è disponibile in ogni frame. (4) non è proprio corretto; dipende da te quanti frame e/o finestre vuoi utilizzare. Personalmente, normalmente uso 1 frame con 1 o 2 finestre. Occasionalmente uso un secondo frame se voglio più spazio per visualizzare un file mentre lavoro su 1 o 2 altri file.

+0

questo mi ha aiutato a capire il concetto di telaio e finestra. Grazie. – zinking

Problemi correlati