Vim, una contrazione di Vi IMproved, è una versione estesa dell'editor vi. Vim implementa un'interfaccia utente basata su testo per la modifica avanzata del testo ed è preferito da molti amministratori di sistema e ingegneri del software per la sua efficienza e capacità di essere ampiamente personalizzato. Vim include anche funzioni utili come il completamento del testo, l'evidenziazione della sintassi, il controllo ortografico e molte altre.
Il comando vim richiama l'editor Vim. Tuttavia, il comando vi può essere utilizzato anche per questo scopo perché reindirizza automaticamente l'utente a Vim. Se inserito senza un nome file come argomento, il comando vim apre una schermata di benvenuto per impostazione predefinita. Usa la sintassi vim {nome file} per aprire un file. Se il file non esiste, Vim crea un file con il nome specificato e apre il file per la modifica. Vim supporta l'apertura simultanea di più file.
L'editor vim ha due modalità di funzionamento:
- Modalità normale
- Modalità di inserimento
Quando si apre per la prima volta un file (o si avvia un nuovo file) per la modifica, l'editor di vim entra in modalità normale. In modalità normale, l'editor di vim interpreta le sequenze di tasti come comandi.
In modalità di inserimento, vim inserisce ogni chiave digitata nella posizione corrente del cursore nel buffer. Per accedere alla modalità di inserimento, premere il tasto i. Per uscire dalla modalità di inserimento e tornare alla modalità normale, premi il tasto Esc sulla tastiera.
In modalità normale, puoi spostare il cursore nell'area di testo usando i tasti freccia (purché il tuo tipo di terminale sia rilevato correttamente da vim). I comandi vim includono comandi per spostare il cursore:
- h per spostare a sinistra un carattere
- j per spostarsi in basso di una riga (la riga successiva nel testo)
- k per salire di una riga (la riga precedente nel testo)
- l per spostare a destra un carattere
Spostarsi all'interno di file di testo di grandi dimensioni riga per riga può diventare noioso. Fortunatamente, vim fornisce alcuni comandi per velocizzare le cose:
- Pagina giù (o Ctrl+F ) per andare avanti di una schermata di dati
- Pagina su (o Ctrl+B ) per tornare indietro di una schermata di dati
- G per passare all'ultima riga nel buffer
- numero G per passare alla riga numero num nel buffer
- gg per passare alla prima riga nel buffer
L'editor vim ha una caratteristica speciale all'interno della modalità normale chiamata modalità riga di comando. La modalità riga di comando fornisce una riga di comando interattiva in cui è possibile immettere comandi aggiuntivi per controllare le azioni in vim. Per accedere alla modalità riga di comando, premere i due punti in modalità normale. Il cursore si sposta sulla riga del messaggio e vengono visualizzati i due punti, in attesa dell'immissione di un comando. All'interno della modalità riga di comando ci sono diversi comandi per salvare il buffer nel file e uscire da vim:
- q per uscire se non sono state apportate modifiche ai dati del buffer
- q! per uscire e annullare tutte le modifiche apportate ai dati del buffer
- con nomefile per salvare il file con un nome file diverso
- wq per salvare i dati del buffer nel file ed uscire
Se riscontri un errore di seguito durante l'esecuzione del comando vim:
vim: command not found
puoi provare a installare il pacchetto vim secondo la tua scelta di distribuzione:
Distribuzione | Comando |
---|---|
OS X | brew install vim |
Debian | apt-get install vim |
Ubuntu | apt-get install vim |
Alpino | apk aggiungi vim |
Arci Linux | pacman -S vim |
Kali Linux | apt-get install vim |
CentOS | yum install vim-enhanced-2 |
Fedora | dnf install vim-enhanced-2 |
Raspbian | apt-get install vim |
Esempi di comandi vim
1. Apri un file:
# vim path/to/file
2. Apri un file a un numero di riga specificato:
# vim +line_number path/to/file
3. Visualizza il manuale di aiuto di Vim:
:help[Enter]
4. Salva ed esci:
:wq[Enter]
5. Annulla l'ultima operazione:
u
6. Cerca un modello nel file (premi `n`/`N` per passare alla corrispondenza successiva/precedente):
/search_pattern[Enter]
7. Eseguire una sostituzione di espressioni regolari nell'intero file:
:%s/regular_expression/replacement/g[Enter]
8. Visualizza i numeri di riga:
:set nu[Enter]