2011-10-26 12 views
9

menudo me borro, tirón, y pegar con algo como esto:¿Cuál es la mejor manera en Vim para operar en rangos relativos en modo visual?

:3,6y 

Desde Vim 7, he cambiado a usar los números de línea relativos. Me resulta mucho más fácil utilizar la numeración de líneas relativa con comandos como h,j,k,l etc.

Desde que cambio a la numeración de líneas relativa, me resulta difícil operar en rangos absolutos (por ejemplo, :3,6y). Me lleva demasiado tiempo determinar qué números de línea absoluta debo seleccionar, ya que Vim muestra números de línea relativos.

¿Cuál es la mejor/más rápida forma de usar la selección visual en un rango si su configuración muestra una numeración de líneas relativa? Ingenuamente, estoy buscando algo como:

:-2,+8y 

(yank the lines from 2 lines above my current position to 
8 lines below my current position.) 
+2

Lo sentimos, pero ¿cómo exactamente eliminar, tirar y pegar en modo visual usando algo como esto: ': v 3,6y'? No puedo entender cómo este comando se relaciona con el modo visual. – sidyll

+1

Opps, no tenía la intención de que esta frase se redactara para el modo visual. Lo he editado para que ahora sea correcto. Gracias. – drbunsen

Respuesta

9

¿Has probado tu ingenuidad?

:-2,+8y es equivalente a :.-2,.+8y y debe hacer lo que desee.

Tenga en cuenta que si no especifica un número, se supone 1, por lo que: :,+y significa .,.+1 y: yank current y next line.

En :help range no está bien explicado. Las partes pertinentes están aquí:

Line numbers may be specified with:  *:range* *E14* *{address}* 
    [...] 
    .  the current line    *:.* 
    [...] 
Each may be followed (several times) by '+' or '-' and an optional number. 
This number is added or subtracted from the preceding line number. If the 
number is omitted, 1 is used. 

Lo que el documento no dice es que si el + r - no está precedida con cualquier cosa, se supone ..

+0

Gracias, esto es precisamente lo que estaba buscando. No entendí el uso del período de los documentos y obtuve un 'Rango hacia atrás dado, OK para intercambiar (y/n)' cuando se usan números negativos. – drbunsen

Cuestiones relacionadas