Pregunta:
¿Cómo se selecciona de la línea actual a la siguiente línea vacía?
Soy consciente de SHIFT + V, pero luego tengo que saltar a la siguiente línea vacía o presionar la tecla hacia abajo varias veces. Sé cómo hacer esto bien cuando hay un carácter coincidente como a }
pero no tengo idea de cómo hacerlo para una línea vacía.
Respuesta:
Vim comprende el concepto de "párrafo". La definición de Vim de un párrafo es un bloque de texto rodeado de líneas en blanco * . Hay varios movimientos y objetos de texto para trabajar con esto.
-
[count]}
: mueve[count]
párrafos hacia adelante. Puede usar<Sv>}
para seleccionar todas las líneas desde la línea actual hasta la siguiente línea en blanco. Esto incluirá la línea en blanco, por lo que es posible que desee utilizar<Sv>}k
. -
[count]ip
: seleccione[count]
párrafos. Es comoiw
(palabra interior) excepto por, bueno, párrafos. Sin embargo, usarvip
seleccionará todo el párrafo, en lugar de desde la línea actual hasta el final del párrafo. -
[count]ap
– comoip
, excepto que esto incluirá las líneas en blanco que rodean el párrafo.
Una advertencia aquí es que Vim no considera una línea con solo espacios en blanco como una "línea en blanco". Así que asegúrese de verificar esto (por ejemplo, con :set list
) si no parece funcionar.
Recuerde también que siempre puede buscar el patrón que desee. Puede obtener una línea vacía con /^$
; o si no desea seleccionar la línea vacía en sí, puede usar \n\n
para colocar el cursor al final de la línea antes de la primera línea en blanco:
-
<Sv>/^$<CR>
-
<Sv>/\n\n<CR>
* Hay algunas excepciones, consulte el :help paragraph
para conocer la lógica completa. Pero para la mayoría de las intenciones y propósitos, esta definición funciona bien.