Programmierblog von Harald R. Haberstroh


alles anzeigen



Erweiterte Suche

[]

13.09.2007

VIM - Übung

Legen Sie eine Datei mit ihren Initialen und Extension .txt an
Bsp:

  rr.txt

Einfügen von 5 Zeilen mit beliebigem Text

Einfügen von Asterix als eigene Zeile nach der 4. Zeile

Positionieren auf 3. Zeile

Am Ende der Zeile das wort xyyz einfügen

Kopieren der 3. Zeile

Einfügen dieser Zeile 85 mal nach der 5. Zeile

Suchen nach String rix

Schalten Sie die Zeilennummerierung ein

Gehe zu Zeile 70

Lösche 10 Zeilen

Kopiere Zeilen 13-45 in eine neue Datei mit Namen 'partrr.txt'

Alle Zeichen 'y' durch '§' ersetzen

Einfügen der Zeilen 5-10 aus der Datei 'partrr.txt' nach der letzten Zeile

^

[link (http://edvowww.htlwrn.ac.at/cgi-bin/programmierblog.cgi/2007/09/13#vim-uebung)]

VIM - Lösung zu Suchen/Ersetzen

Die Frage lautete:

10. Sie haben fälschlicherweise alle Java-Strings unter einfache Hochkomma (') gesetzt. Sie wollen nun alle Strings, die mehr als ein Zeichen zwischen den einfachen Hochkomma (') suchen. Was müssen Sie eingeben? Wie ersetzen Sie dann ' durch "? Hinweis: Verwenden Sie die Suchfunktion und ersetzen Sie einzelne Zeichen mit r" und verwenden Sie Wiederholungsfunktionen. Schränken Sie die Suche wirklich auf Strings der Art 'Abc' oder '123 eins zwei drei' ein, lassen Sie 'x' oder 'a' aus, da dies gültige Zeichenkonstante sind.

Lösung:



 /'..\+'/

sucht Strings mit einfachem Hochkomma und mindestens 2 Zeichen (der Punkt steht für ein Zeichen, das \+ für ein oder mehr der Muster davor).

Die Frage lautete:

11. Lesen Sie die Hilfe zum Suchen und Ersetzen (:help :s) sowie den regulären Ausdrücken (:help regexp) und lösen Sie die vorige Aufgabe mit nur einem Kommando!

Lösung:



 :%s/'\(.\{-2,}\)'/"\1"/g

…ohne Kommentar ;-)

^

[link (http://edvowww.htlwrn.ac.at/cgi-bin/programmierblog.cgi/2007/09/13#vim-suchenersetzen-loesung)]

[]