command-line – seleccionando un rango de líneas desde la línea de comando

Pregunta:

Necesito (visual) seleccionar un rango de líneas desde la línea de comando.

Por ejemplo, el siguiente comando :?^\s*for?+,/^\s*end/- p imprime todas las líneas contenidas entre un for y end (forma exclusiva). En lugar de realizar la operación de impresión, me gustaría cambiar al modo visual con esas líneas resaltadas. Busqué en el manual pero no pude encontrar tal ex-comando.

Respuesta:

Los límites de una selección de modo visual están definidos por las marcas < y > .

Por lo tanto, el siguiente comando entrará en modo visual con las líneas 5 a 10 (inclusive) seleccionadas:

 :5mark < | 10mark > | normal gvV
  • :5mark < establece el inicio de la selección en la línea 5,
  • :10mark > establece el final de la selección en la línea 10,
  • gv entra en modo visual con el área definida arriba seleccionada,
  • V hace la selección linealmente.

Puede pasar cualquier rango de Vim al comando :mark : lo siguiente entrará en modo visual usando las expresiones regulares foo y bar para definir los límites del área de selección:

:execute search("foo") . "mark <" | execute search("bar") . "mark >" | normal gvV

El siguiente comando es una versión más simple del anterior, pero depende de la posición del cursor:

/foo/mark < | /bar/mark > | normal gvV

Para obtener más explicaciones, consulte:

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım