Nei paragrafi precedenti è stato spiegato come creare, salvare, stampare e chiudere un file di vi. A questo punto, avendo creato un file, è necessario comprendere i concetti essenziali per gli spostamenti al suo interno. Aprire il file di prova ed eseguire i comandi descritti qui di seguito.
All'avvio di vi, il cursore compare nell'angolo superiore sinistro dello schermo. Operando in modalità comando è possibile spostare il cursore tramite una serie di comandi da tastiera, associati caso per caso a determinate lettere, ai tasti freccia, al tasto Return, al tasto Back Space (o Canc) o alla barra spaziatrice.
vi interpreta i comandi distinguendo tra maiuscole e minuscole; uno "stesso" comando scritto in lettere maiuscole e in lettere minuscole potrebbe perciò produrre effetti radicalmente diversi.
Se la tastiera dispone dei tasti freccia, si provi ad utilizzarli per spostare il cursore. Questi tasti permettono di muovere liberamente il cursore in alto, in basso, a destra e a sinistra. Si noti tuttavia che il cursore può essere spostato solo all'interno di un testo o di spazi già esistenti.
Se si utilizza vi da un terminale remoto, è possibile che i tasti freccia non funzionino correttamente. I problemi di questo tipo dipendono in genere dall'emulatore del terminale. Se i tasti freccia non sono utilizzabili, sono disponibili le seguenti alternative:
Premere w ("word") per spostare il cursore di parola in parola verso destra.
Premere b ("back") per spostare il cursore di parola in parola verso sinistra.
Premere W o B per spostare il cursore alla parola successiva o precedente ignorando i segni di punteggiatura.
Premere e ("end") per spostare il cursore sull'ultimo carattere della parola corrente.
Premere ^ per spostare il cursore all'inizio della riga corrente.
Premere $ per spostare il cursore alla fine della riga corrente.
Premere il tasto Return per spostare il cursore all'inizio della riga successiva.
Premere il tasto Back Space per spostare il cursore di un carattere verso sinistra.
Premere la barra spaziatrice per spostare il cursore di un carattere verso destra.
Premere H ("high") per spostare il cursore all'inizio dello schermo.
Premere M ("middle") per spostare il cursore a metà schermo.
Premere L ("low") per spostare il cursore al fondo dello schermo.
Se ci si sposta verso il basso quando il cursore si trova al fondo dello schermo, o verso l'alto quando il cursore si trova all'inizio dello schermo, il testo scorrerà rispettivamente verso l'alto o verso il basso. Questo metodo può essere utile per lo spostamento all'interno di un file breve, ma può risultare scomodo o lento in un file di grandi dimensioni.
Gli spostamenti all'interno di un file possono essere eseguiti di pagina in pagina, di videata in videata o di mezza videata alla volta. (Per provare questi comandi sul file prova, aggiungere nuove righe per ottenere un testo di lunghezza sufficiente.)
Si noti che esiste una differenza fondamentale tra spostamento di pagina in pagina e scorrimento. Lo scorrimento produce un avanzamento o un arretramento di una riga alla volta, come se il testo venisse visualizzato su un rullo continuo. Lo spostamento di pagina in pagina fa invece avanzare o arretrare il cursore di una videata alla volta. Sui sistemi veloci la differenza può essere trascurabile. Se viceversa si lavora su un terminale remoto o in altre situazioni in cui il sistema opera in modo più lento del normale, la differenza può essere determinante.
Per spostarsi di una videata in avanti (verso il basso), premere Ctrl-F. (Premere il tasto Control e contemporaneamente il tasto F.) Il cursore apparirà nell'angolo superiore sinistro della nuova videata.
Per spostarsi di mezza videata in avanti, premere Ctrl-D.
Per spostarsi di una videata all'indietro (verso l'alto), premere Ctrl-B.
Per spostarsi di mezza videata all'indietro, premere Ctrl-U.