Capitolo 10 Editor

Sommario
10.1 Configurare la propria sessione vi
10.2 Configurare la propria sessione emacs
10.3 Veloce guida per vi
10.4 Veloce guida per emacs

Esistono numerose utility per la manipolazione del testo in Unix, come è stato notato attraverso questo documento (esempio ed(1), ex(1), sed(1), awk(1), la famiglia grep e la famiglia roff). Tra gli editor, l'editor visuale (o a schermo pieno) standard su Unix è vi. Questa applicazione comprende un super-set, per così dire, di caratteristiche di ed(1) e di ex(1) (gli editor a linea di Unix).

vi(1) è un editor modale. Questo significa che ha modalità specifiche che permettono l'inserimento del testo, la cancellazione del testo e l'inserimento dei comandi. Si può lasciare la modalità di inserimento premendo il tasto escape. In questo modo ci si porta nella modalità comando. L'editor di linea ex(1) è incorporato in vi(1). Si può passare dalla modalità a schermo pieno a quella a linea di comando (e viceversa) quando si desidera. In modalità vi premere Q per andare in modalità ex. In modaltà ex, al prompt : digitare vi per ritornare in modalità vi. Inoltre è disponibile una modalità di vi(1) in sola lettura, che può essere invocata con view(1).

Un altro editor comune nei sistemi Unix, specialmente nei college e negli ambienti universitari, è emacs (che sta per “editing macros”). Mentre vi(1) è in generale compreso nel sistema operativo Unix, emacs(1) usualmente non lo è. Emacs viene distribuito dalla Free Software Foundation ed è discutibilmente il più potente editor disponibile per Unix. Emacs è un software di sistema molto grande ed è un grossa risorsa di sistema per un utente di computer.

La Free Software Foundation e il progetto GNU (del quale emacs fa parte) sono stati fondati da Richard Stallman e dai suoi soci, i quali credono (come specificato nel manifesto GNU) che condividere il software sia “l'atto fondamentale di amicizia tra programmatori”. La loro General Public License garantisce il diritto d'uso, di modifica e di distribuzione di emacs (incluso il suo codice sorgente) ed è stata progettata specificatamente per impedire a qualcuno di prendersi un profitto finanziario da emacs o da altri software conseguiti attraverso la Free Software Foundation. Molti dei loro software, incluso emacs, sono disponibili via ftp://ftp.gnu.org/pub/gnu/ e http://www.gnu.org/.

Sia vi(1) che emacs(1) permettono di creare file di inizializzazione che possono contenere macro per controllare i settaggi e le funzioni degli editor.

10.1 Configurare la propria sessione vi

Per configurare l'ambiente di vi(1) certe opzioni possono essere settate con il comando di linea dell'editor :set durante una sessione di editing. In alternativa, le opzioni usate di frequente possono essere automaticamente settate quando viene invocato vi(1), attraverso il file .exrc. Inoltre, questo file può contenere macro per mappare battute di tasti in funzioni usando la funzione map. All'interno di vi(1) queste macro possono essere definite con il comando :map. I caratteri di controllo possono essere inseriti digitando prima Ctrl+V, quindi il carattere di controllo desiderato. Alcune opzioni disponibili in vi(1) sono mostrate qui sotto. Alcuni sistemi Unix non accettano certe di queste opzioni.

:set all visualizza tutti i settaggi delle opzioni
:set ignorecase ignora il maiuscolo e minuscolo di un carattere in una ricerca
:set list visualizza tab e return
:set nolist mette off l'opzione list
:set number visualizza i numeri di linea
:set nonumber disattiva i numeri di linea
:set showmode visualizza l'indicazione che la modalità di inserimento è on
:set noshowmode mette off l'opzione showmode
:set wrapmargin=n mette on la modalità word-wrap a n spazi dal margine destro
:set wrapmargin=0 mette off l'opzione wrapmargin
:set warn visualizza l'avvertimento “Ultima modifica non registrata”
:set nowarn mette off l'avvertimento di scrittura warn

Segue un esempio di file .exrc:

set wrapmargin=10
set number
set list
set warn
set ignorecase
map K {!}fmt -80        # riformatta questo paragrafo, {!}, usando fmt a
                        # 80 caratteri per linea
map ^Z :!spell          # invoca spell, :!, per verificare lo splelling di
                        # una parola (ritorna a vi con Ctrl+D)

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.