2016-05-20 10 views
0

Es gibt zu ersetzen, und ich möchte alle $ von $$ ersetzen. Zum Beispiel

$x$ is a variable, and $x^2 + y^2 = 1$ is a formula. 

$$ 
x^2 + y^2 = 1 
$$ 
Here is another formula $$ \cos^2 x + \sin^2 x = 1$$. 

versuche ich, es so zu tun:

:%s/[^\$]\$[^\$]/\$\$/g

aber die nicht gut funktionieren. Also, was ist der richtige Befehl? Vielen Dank.

+1

Bitte geben Sie die gewünschte Ausgabe hinzufügen. – rici

+0

Warum funktioniert es nicht gut? – zoubida13

+0

In dem Beispiel muss ich nur die erste Zeile zu '$$ x $$ ist eine Variable ändern, und $$ x^2 + y^2 = 1 $$ ist eine Formel '. –

Antwort

1

Hier ist eine einfache Lösung:

:%s/\$\$\?/\$\$/g 

, dass jedes Auftreten von entweder $ oder $$ mit $$ ersetzt, so tut es das, was ich denke, Sie mit Einzel wollen oder Doppel $.

Es ist mir nicht klar, was Sie erwarten, dass $$$ geändert werden soll. Das obige erzwingt, dass alle Durchläufe von $ von gleicher Länge sind, so dass sich $$$ zu $$$$ ändert. Wenn Sie nur einzelne ändern möchten $ können Sie den etwas komplizierteren Befehl:

:s/\$\?\(\$\+\)/\$\1/g 
+0

Hallo, rici, vielen Dank für Ihre Hilfe. Es funktioniert für meinen Fall! Übrigens, ich möchte nur das einzelne '$' ändern. –