Guida a vim

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca


Guida a vim
Banner e-zine.png
La prima e-zine italiana sul mondo Debian

Panoramica dei comandi più importanti di uno degli editor di testo più conosciuti nell'ambiente unix.

L'editor vim fornito con la maggior parte dei sistemi Linux è una versione estesa e migliorata dell'editor vi. vim include tutti i comandi e le funzionalità di vi, 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 vim è che quest'ultimo permette l'esecuzione di svariati comandi e la possibilità di creare comandi personalizzati, utilizzare script, gestire finestre di testo multiple. 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.

Tratto dalla e-zine di Debianizzati.org

Link agli articoli:


Guida a vim

Cos'è vim?

L'editor vim fornito con la maggior parte dei sistemi Linux è una versione estesa e migliorata dell'editor vi. vim include tutti i comandi e le funzionalità di vi, 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 vim è che quest'ultimo permette l'esecuzione di svariati comandi e la possibilità di creare comandi personalizzati, utilizzare script, gestire finestre di testo multiple. 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.

vim è l'editor di testo pensato per gli irriducibili della shell, e per tutti gli utenti che odiano spostare le mani dalla tastiera, quindi anche se al principiante potrebbe dare all'inizio l'impressione di essere un editor complesso, consiglio vivamente di provare almeno a imparare i comandi basilari in quanto è uno strumento indispensabile per la programmazione. Di seguito verranno analizzati quasi tutti i comandi utilizzati durante l'editing, spero che questa guida sia utile quanto lo è stata per me.

Iniziamo

In questo primo paragrafo descriverò come creare file di testo e cercare files già esistenti.

Per lanciare vim apriamo la shell e digitiamo il comando:

christian@linux:~$ vim  

e premiamo invio.

A questo punto saremo entrati in vim: il comando sopra esegue il programma. Se proverete a scrivere qualcosa vi accorgerete che in realtà non state scrivendo niente, non preoccupatevi è tutto normale, questo avviene perchè vim 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:

i

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 digitando:

esc

Adesso possiamo accedere a una terza modalità di vim detta "modalità ultima linea" digitando

:

Adesso vedrete apparire il simbolo ":" all'inizio dell'ultima riga dell'editor, e il cursore posizionarsi dopo di esso.Questa modalità di vim può essere considerata come una sorta di shell poichè dopo aver dato un comando per farglielo eseguire dovremo digitare il tasto invio. Adesso possiamo salvare il nostr file digitando:

:w nome_file

oppure

:sav nome_file

In entrambi i casi viene creato un file con il nome da voi scelto e salvato nella vostra home. Se dopo aver salvato il file volete uscire da vim digitate il comando

:q

e premete invio, in questo modo tornerete a visualizzare la schermata iniziale della vostra shell. Un buon sistema per velocizzare il tutto è quello di salvare il file e uscire da vim digitando i due comandi precedentemente descritti in un'unica azione:

:wq nome_file

Quando poi abbiamo bisogno di recuperare il file salvato non facciamo altro che digitare da terminale:

christian@linux:~$ vim nome_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. 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:

:q!

Una scorciatoia alla procedura di salvataggio e uscita spiegata prima è la seguente:

zz

Praticamente questo comando salva il file ( che deve essere un file già esistente ) ed esce. Quindi si passa dalla sequenza:

ESC
:
wq
INVIO

Alla sequenza

ESC
zz

molto più veloce.

comandi per muoversi

Fin qui abiamo visto come vim può 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

TASTI             MOVIMENTO DEL CURSORE

  h               Spostamento a sinistra di un carattere
  l               Spostamento a destra di un carattere
  k               Spostamento in su di una riga
  j               Spostamento in giu di una riga
  w               Spostamento in avanti di una parola
  b               Spostamento in dietro di una parola
  0               Spostamento all'inizio della riga
  $               Spostamento alla fine della riga
 INVIO            Spostamento all'inizio della riga precedente
  (               Sposta il cursore all'inizio della frase
  )               Sposta il cursorealla fine della frase;ripetendo il comando si sposta il cursore
                  all'inizio della frase successiva
  {               Sposta il cursore all'inizio del paragrafo
  }               Sposta il cursore alla fine del paragrafo
CTRL-F            Sposta in avanti di uno schermo di testo;viene visualizzato lo schermo di testo successivo
CTRL-B            Sposta indietro di uno schermo di testo;viene visualizzato lo schermo di testo precedente
  G               Sposta il cursore sull'ultima riga di testo
 numG             Sposta il cursore su un numero di riga specificato:
                  45G posiziona il cursore sulla riga 45 

TASTO                                MOVIMENTO DEL CURSORE 

INSERIMENTO                          Tutti i comandi di inserimento attivano la modalità di inserimento;
                                     per uscire, premere il tasto ESC.

    a                                                                                              
    A
    i
    I
    o
    0