EDITARE TESTI

Precedente
Programma
Seguente
Bastard Operator From Hell!
:r <nomefile>
  il file specificato verrà inserito nella posizione del cursore
:r !<comando>
  l'output del comando verrà inserito nella posizione corrente
Linux et cetera...

Quando si passano file di testo da DOS/Windows a Unix si deve considerare l'ANNOSO problema dell'
"end of line" (EOL).
In DOS ogni riga termina con CR/LF (Carriage Return, Line Feed, codici ASCII 13 r 10).
Su Unix e Linux, una riga termina con il solo LF.
Se si editano file DOS sotto Linux, compaiono delle ^M al posto del CR alla fine di ogni riga, viceversa se si apre con Notepad un testo Unix si avrà tutto il testo su un unica orribile riga.
I comandi
dos2unix e unix2dos permettono la conversione dei file da una piattaforma all'altra.

Con vi è possibile editare entrambi i tipi di formati e facilmente passare da uno all'altro:
Per sostituire LF con CR+LF scrivere:
:se ff=dos
Per sostituire CR+LF in LF scrivere:
:se ff=unix

Tips & Tricks

P nella modalità comando inserisce il contenuto del buffer prima del cursore

Il comando :set number visualizza il n di ogni riga.

:g/old/s//new/sostituisce all'interno del file la parola old con new

:g/delword/d cancella in tutto il file la parola delword

VI

L'editor VI (visual editor) è il più diffuso nell'ambiente UNIX e Linux.
La versione GNU di VI si chiama VIM, (Vi IMproved) ed è quella comunemente usata nelle distribuzioni Linux.
Per aprire vi ed editare un nuovo file basta digitare vi oppure vi nomefile nel secondo caso, se il file esiste viene aperto, se non esiste viene creato nuovo.

VI ha due modalità di funzionamento: il modo comando (command) e il modo inserimento (input).
In modalità inserimento ogni parola verrà inserita direttamente nel file. E' possibile usare molti comandi per entrare in questa modalità il più comune è i (insert). Entrare in modalità comando è possibile in qualsiasi momento premendo il tasto ESC, ogni lettera verrà interpretata come un comando.

Comandi principali
Salvare e uscire
ZZ salvare e uscire
:w salvare
:w <file> salvare in altro file con il nome desiderato
:wq salvare e uscire
:q se non sono state effettuate modifche usce senza salvare
:q! uscita incondizionata
Comandi di copia e incolla
yy copia la riga corrente
y2 <giu> copia 2 righe sotto la posizione in cui si trova il cursore
p incolla il testo nel punto dove si trova il cursore
Cancellare righe o caratteri
x cancella il carattere in cui si trova il cursore
X cancella il carattere alla sinistra del cursore
D cancella tutto quello che si trova alla sinistra del cursore fino alla fine della riga
dd cancella la riga in cui si trova il cursore
3dd cancella 3 righe partendo dalla quella in cui si trova il cursore
dG cancella dalla posizione in cui si trova il cursore fino alla fine del file
d1G cancella dalla posizione in cui si trova il cursore fino all'inizio del file
Spostarsi nel file
^ inizio della riga corrente
$ fine della riga corrente
G fine del file
1G inizio del file
Ricerca e sostituzione del testo
/<testo> cerca il testo dalla posizione corrente verso il basso
?<testo> cerca il testo dalla posizione corrente verso l'alto
u annulla l'ultima modifica effettuata
U annulla l'ultimo annullamento
. ripete l'ultimo comando
WEB RESOURCES
http://www.vim.org/ The VIM (Vi IMproved) Home Page
http://www.math.fu-berlin.de/~guckes/vi/ The Vi Editor and its clones
http://www.eng.hawaii.edu/Tutor/vi.html Mastering the VI editor
http://www.unix-manuals.com/tutorials/vi/vi-in-10-1.html VI Tutorial