Vi e Vim
“visual editor”
Ci aono 10 tipi di persone: quelli che capiscono il codice binario e quelli no.
Ci sono due tipi di amministratori e programmatori Unix: quelli che usano Vi e quelli che credono sia un numero romano.
- Editor destinato ai programmatori
- Non è un word processor
- linea e carattere corrente, non paragrafo
vi [opzioni] [file]
view file
– apri in modo read-onlyvi -r file
– recupera un file dopo un crash
L'editor 'vi' è una evoluzione dell'editor 'ex' (extended editor)
che esisteva prima che vi fossero i terminali, ovvero quando ancora si interagiva col sistema da console come macchina da scrivere.
I terminali apparsi a partire dagli anni '80 erano così tanti e di tante marche diverse che non ci si poteva attendere un normale layout di tasti come al giorno d'oggi.
Gli unici tasti su cui si poteva contare erano:
- i tasti della normale macchina da scrivere
- il tasto Escape che inviava sequenze di caratteri di controllo al terminale
E' stato quindi deciso di produrre un editor modale.
Con l'avvento di Linux, tipicamente usato da PC, quindi con tastiera uniforme, è stato deciso di introdurre un nuovo editor, più moderno e che comprendesse p.es. le frecce, ma che fosse completamente compatibile col 'vi'.
Dopo alcuni tentativi andati a vuoto, il prodotto si è stabilizzato nell'editor 'vim'.
vim - vi improved
Molti più comandi e complessità del vi, ma i comandi di base sono gli stessi
Modi di vim
Vi è un editor modale. Due modalità:
- comando - ogni lettera o combinazione corrisponde ad un comando dell'editor
- inserimento (editazione) - i tasti digitati finiscono direttamente nel file in editazione
All'apertura di un file ci si trova in modalità comando.
Per passare in modalità editazione vi è un numero limitato di comandi, tra cui il più comune è i
(inserimento).
Per tornare in modalità comando battere il tasto Esc
(escape).
Se im modalità comando si batte il tasto Esc
, si rimane in modalità comando.
vim
minimo
Per i timorosi di apprendere troppi comandi strani, un semplice procedimento/trucco permette di usare 'vi' facilmente.
Aprire un file procedura shell per l'editazione:
vim file.sh
- Il primo comando deve essere
i
(insert)- Compare in basso a sinistra la scritta
-- INSERT --
- Siamo in modalità editazione
- Compare in basso a sinistra la scritta
- Navigare normalmente con le frecce
- Editare come su un editor normale
Al termine:
- Digitare
Esc
. Scompare la scritta-- INSERT --
- Siamo in modalità comando
- Per salvare ed uscire:
:wq ENTER
- Il digitato compare sull'ultima linea
- Per uscire senza salvare:
:q! ENTER
- Per salvare e proseguire:
:w ENTER i
Vi
: Terminologia
Essendo un editor e non un word processor, 'vi' ha il concetto di carattere corrente e linea corrente, ma non di paragrafo corrente
Il cursore è esattamente sopra un carattere e non nell'intervallo tra due caratteri. Il cursore può essere rappresentato come underscore, o come un blocco lampeggiante.
Il fatto che il cursore sia proprio sopra un carattere, e su un alinea, conduce naturalmente al concetto di 'dopo' e 'prima' del carattere, e 'dopo' e 'prima' della linea.
E' prevista una differenza tra il bordo sinistro assoluto di una linea (colonna zero) e il primo carattere significativo della linea indentata.