Ich arbeite mit VIm
und versuche, einen Befehl zum Suchen und Ersetzen einzurichten, um einige Ersetzungen vorzunehmen, bei denen ich den regulären Ausdruck wiederverwenden kann, der Teil meiner Suchzeichenfolge ist.
Ein einfaches Beispiel wäre eine Linie , wo ich ersetzen wollen (10)
zu {10}
, wobei 10 eine beliebige Zahl sein kann.
Ich bin so weit gekommen
.s/([0-9]*)/what here??/
das passt genau zu dem Teil, den ich will.
Nun den Ersatz habe ich ausprobiert
.s/([0-9]*)/{\0}/
Dies ergibt jedoch eine Ausgabe {(10)}
Dann habe ich es versucht
.s/(\zs[0-9]*\ze)/{\0}/
Das hat mir aber gegeben ({10})
, was ich auch schließe, aber nicht was ich will.
Ich glaube, ich brauche stattdessen eine andere Art von Markierung / Rückverweis \0
, aber ich weiß nicht, wo ich suchen soll. Die Frage ist also, ob und wie dies in vim gemacht werden kann.
quelle
Ich habe kürzlich einen älteren Code geerbt und wollte alle Vorkommen ersetzen wie:
zu
oder
Aufbauend auf der vorherigen Antwort und in der Hoffnung, dass jemand davon profitiert, habe ich den folgenden Befehl verwendet, der alle Vorkommen ändert:
Wenn Sie ersetzen
%
mit.
und entfernen Sie/g
werden Sie am Ende mitAuf diese Weise können Sie jedes Spiel durchgehen und auswählen, ob Sie es ändern möchten oder nicht.
quelle
Eine bessere Möglichkeit, die einzelnen Übereinstimmungen zu überprüfen, besteht darin, ein "c" am Ende des Codes einzufügen, anstatt zeilenweise vorzugehen
quelle