Normalmente, un sustituto con la c
opción me da dos opciones: (y) es o (n) o. ¿Es posible tener varias opciones numeradas de sí para elegir?
Ejemplo
Archivo
person: Alice
dog: Tobby
person: Bob
Patrón 1 :%s/person:/woman:/c
Patrón 2 :%s/person:/man:/c
Los patrones 1 y 2 tienen el mismo patrón de búsqueda pero diferentes patrones de reemplazo. Quiero unificarlos en un patrón con la opción de presionar (1) para reemplazar 1, (2) para reemplazar 2 o (n) para no reemplazar.
fuente
:%s/person:/\=get(['woman', 'man'], input('Your choice: ') - 1, submatch(0)) . ':'/c
c
comando dará como resultado que necesito dos pasos para reemplazar una cadena, lo que creo que no es necesario.¡Gracias por todos los votos a mi pregunta original! Ahora he incorporado un
:SubstituteChoices
comando en mi complemento PatternsOnText , que proporciona una implementación robusta. El ejemplo en la pregunta se resolvería a través de:fuente