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).

WitVault
fuente
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.
statox
fuente
99
O :&&para repetir la última sustitución con las mismas banderas.
Antony
@Antony: Comando genial, no lo sabía.
statox