I “movimenti” di Vim
Una delle caratteristiche più interessanti di Vim sono i suoi modi. Grazie a ciò la tastiera non è solo uno strumento per digitare testo ma anche uno strumento per impartire comandi. Nel video di oggi vi spiego il sotto insieme di comandi per la modalità normale (NORMAL MODE) per muoversi rapidamente interno del testo.
Quando avrete imparato queste basi, vi renderete conto di come sia “lento” muoversi in un programma di video-scrittura usando il mouse o le “scorciatoie” a tastiera.
Le scorciatoie a tastiera per muoversi all’interno di un programma di video-scrittura
Se non le conoscete ci sono alcune scorciatoie a tastiera che vi permettono di muovervi all’interno di un programma di video-scrittura come può essere Microsoft Word o LibreOffice.
Su macOS ⌥ (option) e le frecce a sinistra e destra ti fanno muovere di parola in parola (per Windows dovrebbe essere ALT e le frecce a sinistra e destra). ⌥ frecce su e giù,invece, ti fanno andare ad inizio e fine frase.
⌘ (cmd) e frecce a sinistra ed a destra, invece, ti fanno muovere ad inizio e fine della riga. ⌘ freccia in su o giù, invece, ti fanno andare, rispettivamente, all’inizio del documento ed alla fine del documento.
Se poi si aggiunge il tasto ⇧ (shift) alle suddette combinazioni è possibile selezionare utilizzando i tasti freccia.
L’approccio differente di Vim
In Vim le frecce non si dovrebbero usare. Dico dovrebbero perché molti, io stesso, le uso saltuariamente. Alcuni suggeriscono addirittura di disabilitare i tasti frecce i primi mesi di utilizzo di Vim così da “disimparare” ad usarli. Personalmente lo trovo scomodo, sopratutto per chi sta imparando ad usare Vim (ritengo rischi di aggiungere frustrazione a che, dovendo imparare un nuovo mondo di comandi, sarà già sufficientemente frustrato e rallentato dall’esperienza di imparare e recuperare le funzionalità di “base" che già aveva).
Ciò detto sinteticamente eccovi le principali funzioni di navigazione all’interno del testo di Vim.
Comando Vim | Cosa fa in Vim |
---|---|
h | Freccia a sinistra |
j | Freccia in giù |
k | Freccia in su |
l | Freccia a destra |
I movimenti all’interno del testo quindi avvengono utilizzando le lettere e non le frecce. Questo ha origini storiche (quando i predecessori di Vim – Vi ed Ed – sono stati creati non esistevano le frecce nelle tastiere) ma soprattutto di velocità ed ergonomia. Usando infatti le lettere per muoversi all’interno del testo al posto delle frecce le dita non si spostano mai dalla tastiera vera e propria riducendo i ”momenti morti” della digitazione (sia perché spostando le dita dalle lettere si perde tempo, sia perché spostando le dita sulle frecce si contorcono le dita / si danneggiano il legamenti del polso).
Comando Vim | Cosa fa in Vim |
---|---|
0 | Inizio riga |
$ | Fine riga |
La cosa si fa più interessante però con lo spostamento tra parole …
Comando Vim | Cosa fa in Vim |
---|---|
w (word) | Sposta il cursore all’inizio della parola successiva |
b (before) | Sposta il cursore all’inizio della parola precedente |
e (end) | Sposta il cursore alla fine della parola successiva |
Qui già notiamo che Vim ha un comando in più rispetto al programma di video-scrittura (e questa è solo la punta dell’iceberg).
Comando Vim | Cosa fa in Vim |
---|---|
( | Inizio della frase |
) | Fine della frase |
{ | Inizio del paragrafo |
} | Fine del paragrafo |
gg | Inizio del documento |
G (⇧g) | Fine del documento |
% | Muoversi tra le parentesi delle riga su cui è il cursore |
:(numero) | Inserendo dopo i “:” il numero della riga dove si vuole andare |
(numero)% | Inserendo il numero dopo il “%” si va quella percentuale del documento |
Dalla tabella di cui sopra si vedono alcune delle ulteriori possibilità di Vim. Qui è utile specificare cosa si intende per “frase” e “paragrafo” in Vim.
- Frase in Vim è una stringa di caratteri comprensiva di spazi delimitata da un “.” o da un “!” o un “?”
- Paragrafo in Vim un paragrafo è un insieme di caratteri preceduto da o succeduto una linea vuota.
Muoversi in modalità inserimento (Insert mode)
Per i puristi di Vim la modalità “inserisci” è fatta SOLO per digitare testo e non per modificarlo / revisionarlo. Più vado avanti nell’uso di Vim e più non posso che esserne d’accordo. Tuttavia, soprattutto all’inizio dell’uso di Vim, l’abitudine di modificare ciò che si scrive in insert mode è molto forte.
Vi rimando al video per i dettagli specifici, qui mi interessa sottolineare che per esigenze specifiche è possibile digitare ⌃o (⌃ = control) nella modalità inserisci per accedere momentaneamente alla modalità normale. Così facendo è possibile digitare uno, e solo un, comando in modalità normale.