Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
GNU Emacs è uno dei più potenti editor di testo liberi. Molto utilizzato nell'ambito dello sviluppo del software, unisce alla semplicità d'uso altre importanti caratteristiche, come la sua estendibilità e la sua versatilità.
Con Emacs è possibile non solo scrivere del testo, ma anche eseguire debug di applicazioni, inviare mail, gestire un calendario con eventi e utilizzare il terminale.
Installazione
Installare il pacchetto emacs.
Al termine dell'installazione sarà possibile avviare il programma.
Struttura
Buffer
Emacs lavora a stretto contatto con delle entità chiamate buffer. Esse sono delle sequenze di testo che puntano generalmente a un file su disco. Quando si modifica un buffer nell'editor, non si altera un file su disco. Solo quando il buffer viene salvato le modifiche diventano effettive, siccome Emacs scrive tutti i dati del buffer nel file a cui esso punta.
Ogni buffer ha un nome, che corrisponde al nome del file su disco corrispondente. Per esempio, se si apre un file chiamato foo.txt, il nome che l'editor da al buffer è foo.txt.
Esistono tuttavia dei buffer speciali, che non possono essere salvati, siccome non puntano a nessun file. L'editor ne mette a disposizione molti, come il buffer *scratch* o il buffer *Messages*. Generalmente un buffer speciale ha un nome che inizia e finisce con il carattere *, quindi è spesso riconoscibile.
File
Modalità di salvataggio automatica
Emacs salva con regolare frequenza i dati di un buffer che punta a un file, in modo che sia possibile recuperare i cambiamenti fatti in caso di uscita non volontaria. I file salvati automaticamente hanno lo stesso nome del file originale, ma iniziano e finiscono con il carattere #.
E' possibile, ovviamente, disattivare il salvataggio automatico dei file: è sufficiente eseguire l'espressione Lisp (setq auto-save-default nil) o aggiungerla al file di avvio (#sezione#).
File di backup
Ogni volta che viene aperto un file in un nuovo buffer, Emacs crea una copia di backup, che contiene una copia del file prima dell'apertura del buffer. I file di backup vengono ignorati nei successivi salvataggi del buffer, a meno che non specificatamente richiesto dall'utente.
Manuali
Emacs fornisce un certo quantitativo di manuali ricchi di informazioni, che possono essere letti in qualsiasi momento dall'utente. Tra di essi:
il manuale completo di Emacs, che fornisce tutte le informazioni necessarie per utilizzare l'editor al meglio;
la referenza completa di Emacs Lisp, il linguaggio in cui è scritto l'editor e le sue configurazioni.
I manuali sono raggiungibili in vari modi. Per aprire il manuale di Emacs nel buffer *info*, è possibile digitare la scorciatoia da tastiera C-h r, oppure selezionare il menù Help → Read the Emacs Manual. Quanto a tutti gli altri manuali, è possibile visualizzarli nel menù a tendina Help → More Manuals.
Ogni manuale di Emacs è inoltre consultabile online. Per una lista completa, visitare la pagina dedicata sul sito ufficiale.
Configurazione
Emacs è un editor completamente personalizzabile. Ogni aspetto del suo comportamento è regolato da una serie di opzioni liberamente modificabili.
Le impostazioni dell'editor sono organizzate in gruppi, in ciascuno dei quali si ritrovano opzioni che riguardano specifici aspetti di Emacs, come la modifica del testo o la visualizzazione di menù e finestre. Un gruppo di configurazione può contenere anche dei sottogruppi.
Emacs presenta una gerarchia di gruppi ben definita: in cima ad essa è presente il gruppo Emacs, che contiene tutti i principali gruppi di configurazione dell'editor. Questi contengono, a loro volta, altri sottogruppi e opzioni che riguardano particolari aspetti del comportamento dell'editor. Per esempio, il gruppo Text contiene tutte le opzioni e i gruppi di opzioni che controllano aspetti relativi alla modifica di testi semplici.
Personalizzare Emacs è un'operazione che può essere eseguita in vari modi. Si può utilizzare l'interfaccia grafica che l'editor mette a disposizione, o modificare il file di avvio, che viene caricato ogni volta che si avvia il programma.
Configurazione tramite interfaccia grafica
Emacs fornisce un tipo di buffer chiamato customization buffer, ossia "buffer di personalizzazione". Esso può navigare attraverso i vari gruppi di configurazione dell'editor e permette di modificare le opzioni che essi contengono. Inoltre, è possibile cercare elementi nel gruppo attualmente selezionato. Ad esempio, cercando "indent" mentre si sta navigando nel gruppo Editing, verranno mostrate tutte le opzioni relative alla parola cercata e, possibilmente, i sottogruppi con nome o impostazioni simili.
Customization buffer consente anche di visualizzare i cambiamenti fatti, confrontarli con quelli predefiniti e, all'occorrenza, di ripristinarli. Le modifiche vengono normalmente salvate solo per la sessione corrente, quindi alla chiusura dell'editor verranno perse. Per rendere le modifiche durature, è sufficiente premere il bottone Apply and Save, situato nella parte superiore del buffer.
Per aprire il buffer di personalizzazione, selezionare il menù Options → Customize Emacs → Top-level Customization Group. In alternativa digitare la scorciatoia da tastiera M-x e poi customize, quindi premere il tasto Invio.
Configurazione tramite file di avvio
Ogni volta che viene avviato, Emacs carica uno o più file di avvio. Per impostazione predefinita, l'editor dispone di un solo file di avvio, localizzato nella propria Home con il nome .emacs. E' possibile specificare in esso, o negli eventuali altri file di avvio, delle opzioni personalizzate durature.
Un tipico file di avvio di Emacs appare così:
(custom-set-variables '(ansi-color-names-vector ["#2e3436" "#a40000" "#4e9a06" "#c4a000" "#204a87" "#5c3566" "#729fcf" "#eeeeec"]) '(custom-enabled-themes nil) '(initial-buffer-choice t) '(send-mail-function (quote mailclient-send-it))) (custom-set-faces)
Ogni file di avvio è scritto in Emacs Lisp, il linguaggio di programmazione con cui è scritta gran parte dell'editor. Per una referenza completa del linguaggio, è possibile consultare il manuale apposito.
Tasti di scelta rapida
I comandi di Emacs posso essere eseguiti tramite tasti di scelta rapida, i quali possono essere modificati all'interno dell'editor stesso.
Quella che segue è una lista delle combinazioni predefinite messe a disposizione dell'utente:
Mentre con la dicitura Ctrl+ si intende la pressione del tasto Ctrl contemporaneamente ad un altro, con la dicitura M si indica una singola pressione del tasto Meta (Alt). Nel caso non fosse presente, si può usare il tasto Esc.
Comandi base
Combinazione |
Descrizione |
Ctrl+h |
Apre la guida |
Ctrl+x, u |
Undo (annulla l'operazione precedente) |
Ctrl+x, Ctrl+g |
Annulla l'operazione o il comando corrente |
Ctrl+x, Ctrl+s |
Salva il file |
Ctrl+x, Ctrl+c |
Chiude Emacs |
Cursore
Combinazione |
Descrizione |
Ctrl+f |
Avanti di un carattere |
Ctrl+b |
Indietro di un carattere |
Ctrl+p |
Linea precedente |
Ctrl+n |
Linea successiva |
Ctrl+a |
Inizio linea |
Ctrl+e |
Fine linea |
Ctrl+l |
Al centro della corrente linea sullo schermo |
Ctrl+v |
Sfoglia avanti |
M, v |
Sfoglia indietro |
M, f |
Avanti di una parola |
M, b |
indietro di una parola |
M, a |
Inizio periodo |
M, e |
Fine periodo |
M, { |
Inizio paragrafo |
M, } |
Fine paragrafo |
M, < |
Inizio buffer |
M, > |
Fine buffer |
Varie
Combinazione |
Descrizione |
M, (n) |
Ripete il prossimo comando (n) volte |
Ctrl+d |
Cancella un carattere |
M, d |
Cancella una parola |
Ctrl+k |
Elimina linea |
M, k |
Elimina periodo |
Ctrl+s |
Ricerca in avanti |
Ctrl+r |
Ricerca a ritroso |
M, % |
Sostituzione di query |
M, c |
Capitalizza parola |
M, u |
Parola in lettere maiuscole |
M, l |
Parola in lettere minuscole |
Ctrl+t |
Commuta caratteri |
M, t |
Commuta parole |
Ctrl+@ |
Marca l'inizio di una regione |
Ctrl+w |
Taglia/cancella tutto dalla marcatura al punto |
Ctrl+y |
Incolla il testo eliminato all'interno della locazione corrente |
M, q |
Riformatta il paragrafo |
M, g |
Riformatta ogni paragrafo nella regione |
M, x auto-fill-mode |
Mette on word wrap |
M, x set-variable Invio fill-column Invio 45 |
Imposta la lunghezza di linea a 45 caratteri |
M, x goto-line Invio 16 |
Muove il cursore alla linea 16 |
M, w |
Copia la regione marcata |
Ctrl+x, Ctrl+f |
Cerca un file e lo legge |
Ctrl+x, Ctrl+v |
Cerca e legge un file alternativo |
Ctrl+x, i |
Inserisce un file alla posizione corrente |
Ctrl+x, Ctrl+s |
Salva il file |
Ctrl+x, Ctrl+w |
Scrive il buffer in un file differente |
Ctrl+x, Ctrl+c |
Esce da emacs e chiede di salvare |
Ulteriori risorse
Voce enciclopedica (in italiano)
Voce enciclopedica (in inglese)
Voce enciclopedica di Emacs Lisp (in inglese)