Introduzione a Unix
Indietro |  | Avanti

# Capitolo 10 Editor

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)

Indietro | Partenza | Avanti
Comandi di controllo |  | Configurare la propria sessione emacs

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>.