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