6 999
contributi
S3v (discussione | contributi) mNessun oggetto della modifica |
S3v (discussione | contributi) (+ template "Versioni compatibili" "E-zine" "Autori") |
||
Riga 1: | Riga 1: | ||
{{ | {{Versioni compatibili}} | ||
__TOC__ | |||
{{E-zine | |||
|num=0 | |||
| | |articoli=http://e-zine.debianizzati.org/web-zine/numero_0/?page=91 | ||
| | |||
}} | }} | ||
== Cos'è <code>vim</code>? == | == Cos'è <code>vim</code>? == | ||
L'editor <code>vim</code> fornito con la maggior parte dei sistemi Linux è una versione estesa e migliorata dell'editor <code>vi</code>. | L'editor <code>vim</code> fornito con la maggior parte dei sistemi Linux è una versione estesa e migliorata dell'editor <code>vi</code>.<br/> | ||
<code>vim</code> include tutti i comandi e le funzionalità di <code>vi</code>, l'editor di UNIX, che rimane uno degli editor più utilizzati anche in sistemi Linux. La differenza tra un normale editor di testo (gedit per GNOME, kwrite per KDE ) e <code>vim</code> è che quest'ultimo permette l'esecuzione di svariati comandi e la possibilità di creare comandi personalizzati, utilizzare script, gestire finestre di testo multiple. | <code>vim</code> include tutti i comandi e le funzionalità di <code>vi</code>, l'editor di UNIX, che rimane uno degli editor più utilizzati anche in sistemi Linux. La differenza tra un normale editor di testo (gedit per GNOME, kwrite per KDE ) e <code>vim</code> è che quest'ultimo permette l'esecuzione di svariati comandi e la possibilità di creare comandi personalizzati, utilizzare [[script]], gestire finestre di testo multiple.<br/> | ||
Inoltre aggiunge l'assistenza fornita ai programmatori grazie all'opzione di indentazione (le varie spaziature che si inseriscono all'interno di un sorgente per renderlo più leggibile) automatica e alla presenza di schemi di colori che rendono i codici più leggibili. | Inoltre aggiunge l'assistenza fornita ai programmatori grazie all'opzione di indentazione (le varie spaziature che si inseriscono all'interno di un sorgente per renderlo più leggibile) automatica e alla presenza di schemi di colori che rendono i codici più leggibili. | ||
Riga 19: | Riga 13: | ||
==Iniziamo== | ==Iniziamo== | ||
In questo primo paragrafo descriverò come creare file di testo e cercare | In questo primo paragrafo descriverò come creare file di testo e cercare file già esistenti. | ||
Per lanciare <code>vim</code> apriamo la shell e digitiamo il comando: | Per lanciare <code>vim</code> apriamo la shell e digitiamo il comando: | ||
<pre> | <pre>$ vim</pre> | ||
e premiamo invio. | e premiamo [invio]. | ||
A questo punto saremo entrati in <code>vim</code>: il comando sopra esegue il programma. | A questo punto saremo entrati in <code>vim</code>: il comando sopra esegue il programma.<br/> | ||
Se proverete a scrivere qualcosa vi accorgerete che in realtà non state scrivendo niente, non preoccupatevi è tutto normale, questo avviene | Se proverete a scrivere qualcosa vi accorgerete che in realtà non state scrivendo niente, non preoccupatevi è tutto normale, questo avviene perché <code>vim</code> ha due modalità di funzionamento principali: "comando" e "inserimento". | ||
Quando lanciamo il programma questo parte in modalità comando, ovvero quella modalità in cui i tasti fanno parte delle opzioni disponibili, se vogliamo scrivere qualcosa dobbiamo passare in modalità inserimento con il seguente comando: | Quando lanciamo il programma questo parte in modalità comando, ovvero quella modalità in cui i tasti fanno parte delle opzioni disponibili, se vogliamo scrivere qualcosa dobbiamo passare in modalità inserimento con il seguente comando: | ||
Riga 34: | Riga 28: | ||
Adesso possiamo scrivere tutto quello che vogliamo come se fossimo in un normalissimo editor di testo. | Adesso possiamo scrivere tutto quello che vogliamo come se fossimo in un normalissimo editor di testo. | ||
Dopo aver scritto tutto quello che vogliamo è giunto il momento di salvare il nostro lavoro, per fare questo dobbiamo tornare in modalità comando | Dopo aver scritto tutto quello che vogliamo è giunto il momento di salvare il nostro lavoro, per fare questo dobbiamo tornare in modalità comando premendo il tasto '''ESC'' | ||
Adesso possiamo accedere a una terza modalità di <code>vim</code> detta "modalità ultima linea" digitando: | |||
Adesso possiamo accedere a una terza modalità di <code>vim</code> detta "modalità ultima linea" digitando | |||
<pre>:</pre> | <pre>:</pre> | ||
Adesso vedrete apparire il simbolo ":" all'inizio dell'ultima riga dell'editor | Adesso vedrete apparire il simbolo ":" all'inizio dell'ultima riga dell'editor e il cursore posizionarsi dopo di esso.Questa modalità di <code>vim</code> può essere considerata come una sorta di shell poiché dopo aver dato un comando per farglielo eseguire dovremo digitare il tasto invio.<br/> | ||
Adesso possiamo salvare il | Adesso possiamo salvare il nostro file digitando: | ||
<pre>:w nome_file</pre> | <pre>:w nome_file</pre> | ||
oppure | oppure: | ||
<pre>:sav nome_file</pre> | <pre>:sav nome_file</pre> | ||
In entrambi i casi viene creato un file con il nome da voi scelto e salvato nella vostra home. | In entrambi i casi viene creato un file con il nome da voi scelto e salvato nella vostra home.<br/> | ||
Se dopo aver salvato il file volete uscire da <code>vim</code> digitate il comando | Se dopo aver salvato il file volete uscire da <code>vim</code> digitate il comando: | ||
<pre>:q</pre> | <pre>:q</pre> | ||
e premete invio, in questo modo tornerete a visualizzare la schermata iniziale della vostra shell. | e premete [invio], in questo modo tornerete a visualizzare la schermata iniziale della vostra shell.<br/> | ||
Un buon sistema per velocizzare il tutto è quello di salvare il file e uscire da <code>vim</code> digitando i due comandi precedentemente descritti in un'unica azione: | Un buon sistema per velocizzare il tutto è quello di salvare il file e uscire da <code>vim</code> digitando i due comandi precedentemente descritti in un'unica azione: | ||
<pre>:wq nome_file</pre> | <pre>:wq nome_file</pre> | ||
o, più semplicemente: | |||
<pre>:x</pre> | |||
Quando poi abbiamo bisogno di recuperare il file salvato non facciamo altro che digitare da terminale: | Quando poi abbiamo bisogno di recuperare il file salvato non facciamo altro che digitare da terminale: | ||
<pre> | <pre>$ vim nome_file</pre> | ||
e il file verrà aperto, ricordate che quando dovete modificare file di sistema o file critici dovete loggarvi come root altrimenti vi dirà che non avete i permessi di scrittura sul file. | e il file verrà aperto, ricordate che quando dovete modificare file di sistema o file critici dovete loggarvi come [[root]] altrimenti vi dirà che non avete i permessi di scrittura sul file.<br/> | ||
A questo punto una volta aperto il file e fatto le dovute modifiche torniamo in modalità comando e digitiamo ":W " per salvare il file con lo stesso nome di prima, mentre se volessimo anche modificare il nome del file dovremo digitare ":sav nuovo_nome_file".Può capitare che ad esempio si modifichi un file che non doveva essere modificato, in questo caso possiamo uscire senza salvare; Per fare questo è necessario utilizzare l'operatore " ! " che forza i comandi e ignora i messaggi d'errore come segue: | A questo punto una volta aperto il file e fatto le dovute modifiche torniamo in modalità comando e digitiamo ":W " per salvare il file con lo stesso nome di prima, mentre se volessimo anche modificare il nome del file dovremo digitare ":sav nuovo_nome_file". Può capitare che ad esempio si modifichi un file che non doveva essere modificato, in questo caso possiamo uscire senza salvare; Per fare questo è necessario utilizzare l'operatore " ! " che forza i comandi e ignora i messaggi d'errore come segue: | ||
<pre>:q!</pre> | <pre>:q!</pre> | ||
Riga 74: | Riga 69: | ||
<pre>zz</pre> | <pre>zz</pre> | ||
Praticamente questo comando salva il file ( che deve essere un file già esistente ) ed esce. | Praticamente questo comando salva il file ( che deve essere un file già esistente ) ed esce.<br/> | ||
Quindi si passa dalla sequenza: | Quindi si passa dalla sequenza: | ||
Riga 82: | Riga 77: | ||
INVIO</PRE> | INVIO</PRE> | ||
Alla sequenza | Alla sequenza: | ||
<pre>ESC | <pre>ESC | ||
Riga 91: | Riga 86: | ||
== comandi per muoversi == | == comandi per muoversi == | ||
Fin qui | Fin qui abbiamo visto come <code>vim</code> possa essere utilizzato come un semplice editor di testo, ora vedremo i comandi per muoversi all'interno di un file. Ricordatevi di essere in modalità comando quando eseguite i seguenti comandi, la tabella 1 elenca i principali comandi di vim. | ||
'''TABELLA 1''' ''Riepilogo dei comandi di vi e vim'' | '''TABELLA 1''' ''Riepilogo dei comandi di vi e vim'' | ||
Riga 101: | Riga 96: | ||
l Spostamento a destra di un carattere | l Spostamento a destra di un carattere | ||
k Spostamento in su di una riga | k Spostamento in su di una riga | ||
j Spostamento in | j Spostamento in giù di una riga | ||
w Spostamento in avanti di una parola | w Spostamento in avanti di una parola | ||
b Spostamento in dietro di una parola | b Spostamento in dietro di una parola | ||
Riga 108: | Riga 103: | ||
INVIO Spostamento all'inizio della riga precedente | INVIO Spostamento all'inizio della riga precedente | ||
( Sposta il cursore all'inizio della frase | ( Sposta il cursore all'inizio della frase | ||
) Sposta il | ) Sposta il cursore alla fine della frase; ripetendo il comando si sposta il cursore | ||
all'inizio della frase successiva | all'inizio della frase successiva | ||
{ Sposta il cursore all'inizio del paragrafo | { Sposta il cursore all'inizio del paragrafo | ||
Riga 116: | Riga 111: | ||
G Sposta il cursore sull'ultima riga di testo | G Sposta il cursore sull'ultima riga di testo | ||
numG Sposta il cursore su un numero di riga specificato: | numG Sposta il cursore su un numero di riga specificato: | ||
45G posiziona il cursore sulla riga 45 </pre> | 45G posiziona il cursore sulla riga 45 | ||
</pre> | |||
<pre> | <pre> | ||
Riga 130: | Riga 126: | ||
I | I | ||
o | o | ||
0</pre> | 0 | ||
</pre> | |||
Per una guida più dettagliata su Vim: [[Vim Cheat Sheet]] | |||
{{Autori | |||
|Autore=Chris | |||
}} | |||
[[Categoria:Shell]][[Categoria:E-zine]] | [[Categoria:Shell]][[Categoria:E-zine]] |
contributi