Normalerweise c
gibt mir ein Ersatz mit der Option zwei Optionen: (j) es oder (n) o. Ist es möglich, mehrere nummerierte Ja-Optionen zur Auswahl zu haben?
Beispiel
Datei
person: Alice
dog: Tobby
person: Bob
Muster 1 :%s/person:/woman:/c
Muster 2 :%s/person:/man:/c
Muster 1 und 2 haben dasselbe Suchmuster, aber unterschiedliche Ersetzungsmuster. Ich möchte sie zu einem Muster zusammenfassen, indem ich (1) für Ersatz 1, (2) für Ersatz 2 oder (n) für keinen Ersatz drücke.
quelle
:%s/person:/\=get(['woman', 'man'], input('Your choice: ') - 1, submatch(0)) . ':'/c
c
Befehls führt jedoch dazu, dass ich zwei Schritte benötige, um eine Zeichenfolge zu ersetzen, die ich für unnötig halte.Vielen Dank für alle positiven Bewertungen zu meiner ursprünglichen Frage! Ich habe jetzt einen
:SubstituteChoices
Befehl in mein PatternsOnText-Plugin eingefügt , der eine robuste Implementierung bietet. Das Beispiel in der Frage würde gelöst werden über:quelle