Created: 2021-12-25 sab 02:05
Utilizzando lo schema introdotto possiamo inquadrare i concetti che affronteremo in questo video.
Nel linguaggio di Emacs, per frame si intende la finestra GUI che contiene che contiene il programma in un ambiente grafico come X11.
Due frames aperti.
È possibile modificare le dimensioni del primo frame aperto con il seguente codice LISP
(setq initial-frame-alist '((top . 50)
(left . 150)
(width . 70)
(height . 20)))
Alcuni keybinds per gestire i frame sono i seguenti
Keybind | Comando |
---|---|
C-x 5 2 | make-frame |
C-x 5 o | other-frame |
Per Emacs una window (finestra) è una porzione dello schermo visibile.
Un frame di Emacs può essere diviso in più finestre (windows).
Frame diviso in tre windows.
Ciascuna finestra mostra una porzione di un buffer. Oltre al contenuto del buffer (tipicamente testo), a ciascuna finestra sono associate le seguenti informazioni:
Informazioni per windows .
In generale è possibile avere più windows contenenti lo stesso buffer.
Due windows aperte sullo stesso bufffer.
In ogni momento è presente un solo cursore, che rappresenta la finestra attiva (active window) su cui si sta lavorando.
Il cursore si trova nella finestra attiva (quella in nalto).
Per gestire le finstre si utilizzano i seguenti keybinds
Keybind | Comando |
---|---|
C-x 2 | split-window-vertically |
C-x 3 | split-window-horizontally |
C-x o | other-window |
C-x 0 | delete-window |
C-x 1 | delete-other-window |
Oppure i seguenti (meno utili)
Keybind | Comando |
---|---|
delete-windows-on | |
C-x ^ | enlarge-window |
shrink-window | |
C-x + | balance-windows |
I buffers sono i contenitori di contenuto. In altre parole, sono i luoghi in cui lavoriamo sempre mentre utilizziamo Emacs.
Le finestre (e i frame) sono i modi per mostrare il contenuto di uno o più buffers.
Alcuni buffer sono "speciali", in quanto vengono creati e gestiti interamente da Emacs. Tra questi troviamo il buffer Messages e il buffer scratch.
Tramite il comando C-x C-f
possiamo aprire il contenuto di un file
all'interno di un nuovo buffer.
Il nome del nuovo buffer corrisponderà al nome del file, a meno di ononimi.
Due file con lo stesso nome, ma in diverse cartelle, aperti contemporanemente.
Tramite il keybind C-x b
, che chiama il comando (switch-to-buffer)
,
siamo in grado di
In ogni dato momento vediamo solo una piccola parte dei buffer attivi. Per vedere tutti i buffer attivi ci sono tre modi diversi:
Per accedere alla buffer list possiamo utilizzare il keybind C-x
C-b
, o, equivalentemente, il comando (list-buffers
).
Buffer list.
Il buffers menu invece fa parte della GUI di Emacs.
Buffer menu.
Infine, il buffer pop-up menu fa sempre parte della GUI di Emacs, e può essere attivato premendo CTRL + left mouse click.
Buffer pop-up menu.
Una volta aperta la buffer list, possiamo esegurie vari comandi, tra cui
Keybind | Descrizione |
---|---|
1 | metti in full screen il buffer puntato |
f | mostra buffer puntato su finestra attuale |
o | mostra buffer puntato su altra finestra |
d, k | mark per deletion |
e anche
Keybind | Descrizione |
---|---|
s | salva il buffer |
u | unmark |
x | esegui comandi sui buffer marcati |
q | quit |
In generale, per gestire i buffers al di fuori della buffer list i seguenti keybinds sono utili
Keybind | Comando |
---|---|
C-x b | switch-to-buffer |
C-x C-b | list-buffers |
C-x k | kill-buffer |
rename-buffer | |
C-x C-q | read-only-mode |
La read-only-mode è utile quando vogliamo essere sicuri di non modificare il contenuto di un file.
Read only mode
Altri keybind (meno utili) sono
Keybind | Comando |
---|---|
C-x s | save-some-buffers |
kill-some-buffers |