Re: vi-script
----------
> Von: Wolfgang Werners-Lucchini <wwl@musensturm.de>
> An: Michael Hummel <mh@seitung.net>
> Betreff: Re: vi-script
> Datum: Montag, 30. Dezember 2002 12:39
>
> > > Hallo Wolfgang
> > >
> > >> Es sollen eine Reihe aufeinander abgestimmter Textersetzungen
> > >> abgearbeitet werden. Doch sobald ein Kommando, z.B.
> > >>
> > >> 1,$s/^"/">/
> > >>
> > >> kein Gänsefüßchen am Zeilenanfang findet, werden alle weiteren
> > >> Kommandos ignoriert, also das Script abgebrochen. Frage: Wie kann
> > >> ich das verhindern?
> > >
> >
> > 1) Finde ich scharf, dass noch jemand nvi verwendet, ich dachte vim
> > hätte die vi-Landschaft schon monopolisiert. Nvi ist ein Eck
> > haariger, aber darauf kann man ja stehen.
> >
>
> Es geht eher darum, einen Standard-VI zu benutzen. Einen solchen findet
man
> überall vor!
>
> > 2) sed ist für solche Aufgaben vielleicht eine Alternative: verbindet
> > den Schweißgeruch des Erdarbeiters mit der Ausdruckskraft einer
> > griechischen Tragödiengestalt, z.B. (Ganz zu schweigen von den
> > Warmduscherlösungen ;-)
> >
>
> Das Tool werde ich wechseln, sobald klar ist, daß der VI überfordert ist.
> Kann ich mir bei meinem eher simplen Problem aber nicht vorstellen.
>
> > 3) Wenn du das Beispiel hier noch einmal in aller Ausführlichkeit
> > darlegen könntest, dann findet sich vielleicht der eine oder
> > andere Mitbastler.
> >
>
> Erstes Problem:
> Habe immer wieder die Arbeit, einfache Ascii-Texte für LaTeX
aufzubereiten.
>
> Dabei fallen immer wieder die selben Arbeitsschritte an.
> Ich möchte mir daher ein umfangreiches vi-script schreiben, daß mir eine
> lange Liste von
> Textersetzungen vornimmt und das ich bei Bedarf mittels
>
> :so meineeierlegendewollmilchsau
>
> auf meinen Text loslasse.
>
> Nehmen wir an, daß irgendwo zu Beginn ein '-' am Zeilenanfang
> (Gedankenstrich) ersetzt
> werden soll durch
>
> 1,$s/^- /-- /
>
> Findet sich nun in unserem aktuellen Text gerade mal KEIN '-' am
> Zeilenanfang, dann
> wird dies als Fehler interpretiert und das gesamte Skript abgebrochen,
> statt mit der nächsten
> Substitution fortzufahren.
>
> Zweites Problem:
> Möchte mittels obigem Skript in Zeile - sagen wir - 5 Text einfügen. Ich
> setze voraus, daß
> der Text 5 Zeilen lang ist.
>
> 5i
> Einzufügender Text
> ..
> [weitere Macros]
>
> funktioniert nicht. Der Punkt wird nicht, wie ich dachte, als
> Endemarkierung erkannt, sondern
> das komplette noch folgende Skript wird eingefügt und darüber hinaus
wartet
> der Editor dann
> immer noch auf einen interaktiv eingegebenen '.'
> Wie macht man's richtig?
>
> Das zweite Problem war eigentlich die Folge eines versuchten workaround
für
> Problem 1.
> Ich dachte: 'Schmeissen wir ihm halt in einer Dummyzeile 1 je ein
> Ersetzungsbeispiel hin (also
> passend zum Beispiel oben, '-' am Zeilenanfang), ersetzen, und löschen
dann
> wieder die Dummyzeile.'
>
> Mittlerweile interessiert mich Problem 2 fast noch mehr, als Problem 1.
>
> Hoffentlich war das ausführlich genug!?
>
> Ciao, Wolfgang
Reply to: