A menudo, al editar el código, seleccionaré un bloque en modo visual y haré una búsqueda y reemplazo sobre el bloque. Después de hacer los cambios, sin embargo, deja el modo visual. ¿Cómo se realiza una nueva búsqueda y reemplazo en la misma selección?
vim
text-editors
text-editing
laberinto
fuente
fuente
Respuestas:
Puede volver a seleccionar la última área visual seleccionada con
gv
.fuente
:help
".:help select-visual
debería llevarlo al manual correcto dentro de vim @skywinder.gv
es definitivamente el método más rápido (use la última selección), pero si desea una región de selección guardada estable (o varias), siempre puede crear macros.Digamos que quiero almacenar una selección de mi método actual, que va de las líneas 25-35. Puedo crear una macro que seleccione todo el método escribiendo
Entonces puedo recuperar esa selección escribiendo
@a
(ejecutar macro en el registro a). Repita con cualquier registro, líneas o secciones de líneas que desee. Obviamente, si realiza cambios en el archivo, la selección también puede cambiar, por lo que puede considerar usar marcas en lugar de números de línea "codificados".fuente
gv
Funciona muy bien para recuperar la última selección. Pero a veces uno necesita un poco más.Si alguna vez necesitó un registro más persistente, eche un vistazo a este complemento en el que estamos trabajando actualmente en GitHub.
VisualMarks le permite guardar y restaurar áreas visualmente seleccionadas al igual que guarda y marca ubicaciones específicas en sus archivos
m
. Después de la instalación y con las opciones predeterminadas, use:en modo visual para guardar su selección actual para marcar
a
, luegoen modo normal para volver a esta selección.
fuente
mkview
pero ... supongo que sí, ya que las marcas se guardan en un archivo separado y ... Sugiero que lo intentes de todos modos :) Si no persisten como deseas, estaremos encantados de recibir tu función solicite en GitHub e intente procesarlo.Supongamos que quiero reemplazar Goodbye con Hello y se seleccionó el siguiente código:
Me gustaría escribir
:s/Goodbye/Hello/
y Vim reemplazar todas las instancias deGoodbye
laHello
Es simplemente una combinación de las expresiones regulares de vim y las selecciones de modo visual. Cuando selecciona, debe rellenarse automáticamente
'<,'>
fuente
gv
y su modo visual volverá al estado de selección anterior.