¿Hay alguna forma de mover el cursor una cantidad relativa de líneas en vi / vim? Digamos que tiene el cursor 10 líneas debajo de un bloque de código que desea eliminar. Si tiene los números de línea mostrados en orden relativo, sería bueno tener un "comando saltar 10 líneas hacia arriba" que lo lleve allí.
¿O tal vez es mejor mostrar los números de línea absolutos e ir xgg donde x es el número de línea?

Respuestas:
Sí, por supuesto que hay una manera.
jykmoverse hacia abajo y hacia arriba una línea, entonces10jy10kmoverse hacia abajo y hacia arriba diez líneas. Puede repetir cualquier movimiento poniendo un número antes.Es posible que también desee hacerlo
set relativenumbersi esto es algo que hace mucho; lo ayudará a ahorrar contando al imprimir números de línea en relación con la línea actual, en lugar de números absolutos.fuente
set relativenumberyset number. Esto le dará números de línea relativos con un número de línea absoluto para la línea en la que se encuentra el cursor.enter(para números de línea absolutos, simplemente preceda con dos puntos). Si estás acostumbrado ajyky un diseño de teclado normal, que no puede ser demasiado útil, pero como usuario Colemak flecha utilizando,enteres más fácil de alcanzar que la Colemakj(QWERTYyclave)Es posible que mover 10 líneas hacia arriba y hacia abajo no se adapte a su tarea ni a otras opciones. Considere otros movimientos:
Ctrlf, Ctrlbavance y retroceso de la página.
}, {avance y retroceda un párrafo.
Puede escribir reglas en su vimrc para enlazar
10ja una clave, digamosJpara bajar 10 líneas agregando la siguiente línea a su archivo vimrc:map <S-j> 10jSin embargo, estaría sobrescribiendo el útil
Jcomando existente (unir dos líneas). Encontrar una combinación de teclas sin usar bien posicionada para10j/10kpodría ser difícil, por lo que sugiero usar los movimientos existentes que mencioné.También es posible que desee saber que puede retroceder a una palabra que ve haciendo:
?somewordy avanzar a una palabra que ve haciendo/someword. Estos serán más rápidos que intentar subir / bajar 10 líneas y luego reposicionar el cursor en la ubicación exacta. Si no puede pensar en una cadena de búsqueda simple para la línea en cuestión, siempre puede ir al número de línea como dijo (xgg).fuente
Estaba jugando con vim y noté que -te mueve hacia arriba y +te mueve hacia abajo, para que puedas:
o se puede utilizar kya que usted está probablemente más utilizada para hjk lel movimiento del cursor.
fuente
enterfunciona igual que+después de un número y es más fácil de alcanzar la mayor parte del tiempo