Por ejemplo, supongamos que quiero poner un número antes de cada línea que comienza con la palabra "Do". El comando se vería algo así :%s/^(Do )/1. \1/
, pero ¿qué puedo hacer para que aplique números consecutivamente en lugar del mismo número cada vez?
Tenga en cuenta que conozco las numerosas formas de hacerlo usando macros y Ctrl-A, pero para usar en comandos Ex-mode más complicados, me gustaría saber la respuesta a la pregunta del título.
Para otro ejemplo en el que un enfoque macro no sería tan fácil, digamos que quiero agregar un número a todas las instancias de la palabra "Sección", y tenerlas numeradas consecutivamente pero reiniciando el conteo después de cada línea que comienza "Capítulo". Un comando Ex-mode que casi puede hacer esto, salvo para aumentar realmente el número que se agregará, es:
:g/^Chapter/;/^Chapter/-s/Section\zs/ 1/g
Puede ver que un método fácil de incrementar números en el comando sustituto del modo Ex podría ser muy útil.
fuente
\=i.
Es una expresión inválida..
convierte en un operador concatenado en la\=
expresión. Pors//\=i . '. '/
lo tanto, se agregará'. '
Check out:help expression-syntax
.