¿Selección visual del cursor a la siguiente línea vacía?


11

¿Cómo se selecciona de la línea actual a la siguiente línea vacía?

Soy consciente de SHIFT+ Vpero luego tengo que saltar a la siguiente línea vacía o presionar la tecla hacia abajo varias veces. Sé cómo hacerlo bien cuando hay un personaje coincidente como un }pero no tengo idea de cómo hacerlo para una línea vacía.

Respuestas:


19

Vim entiende el concepto de un "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]}- Mover [count]párrafos hacia adelante. Puede usar <S-v>}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 <S-v>}k.
  • [count]ip- Seleccionar [count]párrafos. Es como iw(palabra interna) excepto, bueno, párrafos. vipSin embargo, el uso seleccionará todo el párrafo, en lugar de desde la línea actual hasta el final del párrafo.
  • [count]ap- Me gusta ip, 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\npara colocar el cursor al final de la línea antes de la primera línea en blanco:

  • <S-v>/^$<CR>
  • <S-v>/\n\n<CR>

* Hay algunas excepciones, consulte :help paragraphla lógica completa. Pero para la mayoría de los propósitos, esta definición funciona bien.


12

Un atajo para la siguiente línea vacía es }. Así que quizás quieras usar SHIFT+v}


1

Simplemente presionando Shift + }llevará a la siguiente línea vacía sin ninguna selección de texto.

Con Sift + v + }, vim selecciona el texto desde la posición actual del cursor hasta la siguiente línea vacía y debe presionar ESCpara salir del modo de selección


¿Por qué Shift + }? Un simple }hace el movimiento. Ver otras respuestas.
Ralf

@Ralf Sift + }para invocar / ingresar el paréntesis a }menos que su teclado admita directamente la inserción }sin presionarShift
Junaid
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.