Para el movimiento por y entre líneas, Vim cuenta con un rico conjunto de instrucciones. Ya se vio a propósito de los movimientos simples del cursor que los comandos 0 0«00 0» y 0 0«$0 0» se corresponden, respectivamente, con principio de línea y final de línea.
Además de estos comandos, se dispone de los comandos 0 0«^0 0», 0 0«-0 0», 0 0«+0 0» y de un grupo de comandos que empiezan por la ``g'': 0 0«g00 0», 0 0«g^0 0», 0 0«g$0 0», 0 0«gk0 0», 0 0«gj0 0»
El primero de ellos (^) moverá el cursor al primer carácter de la línea que no sea un espacio en blanco o un tabulador. El segundo, 0 0«-0 0» hace lo mismo, pero actúa sobre la línea superior; al tiempo que 0 0«+0 0» actúa sobre la línea inferior. Los restantes comandos actúan sobre la visualización en pantalla de las líneas que son demasiado largas para caber en ella. En estos casos, dependiendo del valor de la opción ``wrap'' puede ocurrir que sólo veamos una parte de la línea, ocultándose a derecha o izquierda el resto, o que la línea se parta en el extremo derecho de la pantalla haciendo que nosotros veamos dos líneas donde en realidad sólo hay una3.11. Sea como fuere estos comandos actúan no sobre la línea real sino sobre la línea que se ve en pantalla, y equivalen a los comandos similares sin la ``g''. Es decir: si, por ejemplo, el comando 0 0«00 0» lleva el cursor al principio de la línea, el comando 0 0«g00 0» llevará el cursor al principio de la línea que se ve en pantalla. Por lo tanto cuando las líneas que se ven en pantalla coinciden exactamente con las líneas reales, no hay diferencia entre los comandos 0 0«g00 0», 0 0«g^0 0», 0 0«g$0 0», 0 0«gk0 0» y 0 0«gj0 0», de un lado, y los comandos 0 0«00 0», 0 0«^0 0», 0 0«$0 0», 0 0«k0 0» y 0 0«j0 0» de otro.
Junto a estos comandos, para moverse entre líneas se dispone de:
Se verá que 0 0«gg0 0» y 0 0«G0 0» actúan sobre el documento en sí mismo considerado. Si lo que queremos es movernos entre las distintas líneas que en un momento dado son visibles en la pantalla, hay que usar los siguientes comandos:
Por último, en cuanto al movimiento del cursor a un número concreto de línea, hay que decir que en Vim también podemos indicar que queremos mover el cursor a la línea que suponga un tanto por ciento concreto del documento; y así podemos indicar, por ejemplo, que lleve el cursor a la línea central del documento, o a la línea en la que empieza el segundo tercio del documento, etc.
Todo esto se hace con el comando 0 0«%0 0» precedido de un argumento numérico que representa el tanto por ciento buscado. Así 0 0«50%0 0» llevará el cursor a la línea que representa el cincuenta por ciento del total del documento.
FINALMENTE hay que aclarar que en algunos comandos de movimiento por líneas no tienen sentido los argumentos numéricos y, por lo tanto, si se introducen se ignoran. Así ocurre en todos los que tengan que ver con la pantalla (H, M, L), o en los que envíen el cursor a un lugar fijo (gg, G).