Realice una sustitución previa para una selección diferente con una sola pulsación


8

Realicé el siguiente comando

:'<,'>s/2/digit/g

en el siguiente código seleccionado manualmente visualmente:

return _.round(this.getTotalAbs(), 2).toFixed(2);

Y funcionó según lo previsto

return _.round(this.getTotalAbs(), digit).toFixed(digit);

Ahora quiero repetir el mismo comando de sustitución en otro fragmento de código seleccionado manualmente a través del modo de selección visual, con una pulsación de tecla (si es posible).


Puede escribir :'<,y luego flecha arriba. Mostrará el sustituto anterior. ¿Estás de acuerdo con alguna asignación?
SibiCoder

@SibiCoder No quiero crear mapeo. Quiero usar el comando nativo si está disponible dentro de vim.
WitVault

Tendrá que crear un mapeo si desea presionar una sola tecla.
Antony

Respuestas:


15

Creo que quieres hacer lo @:que reproduce el último comando ex.

Ver :h @:

Tenga en cuenta que este comando se puede invocar desde el modo normal y desde el modo visual. Además, en este caso, no es útil, pero también puede prefijarlo con un conteo.


Editar En los comentarios, @Antony señaló un comando interesante: :&( :h :&):

  • & se puede usar en modo normal para repetir el último comando de sustitución sin sus banderas
  • :&& se puede usar en modo ex para repetir el último comando sustituto manteniendo las banderas.

99
O :&&para repetir la última sustitución con las mismas banderas.
Antony

@Antony: Comando genial, no lo sabía.
statox
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.