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