Ausführen eines Befehls in begrenzten Zeilen

7

Wie kann ich einen Befehl in allen durch \begin{otherlanguage}und durch getrennten Zeilen ausführen \end{otherlanguage}?

Zum Beispiel,

1 This line should not be affected,
2 \begin{otherlanguage}
3 but this should;
4 \end{otherlanguage}
5 this should not.

(Der cmd könnte sein norm A test.)

Zahnrot
quelle
Können Sie uns ein praktikables Beispiel geben?
Romainl
@romainl, ja, sorry wenn ich unklar war.
Zahnrot

Antworten:

9

Sie können hierfür ein Mustertrennzeichen verwenden:

:/first/,/second/norm dd

Sie können ein beliebiges Suchmuster um das verwenden ,.

Wenn Sie nur das Innere der übereinstimmenden Muster verwenden möchten, verwenden Sie + und - wie folgt:

:/first/+1,/second/-1 norm dd
nobe4
quelle
1
Sehr schön. Ich fand das Hinzufügen gam Anfang hilfreich, wenn es mehr als einen Satz von Trennzeichen gibt.
Zahnrot
Ich frage mich, ob etwas Ähnliches verwendet werden könnte, um eine visuelle Auswahl zu treffen.
Zahnrot
Interessant, sollten Sie in der Lage sein, durch Ändern der Marken <und >, ich denke, es ist eine andere Frage wert;)
nobe4
5

Eine spezifischere Antwort (da Sie anscheinend eine TeX-Datei bearbeiten): Wenn Sie das vimtexPlugin verwenden (obwohl es LaTeX-Boxauch dieses IIRC hat), können Sie die gesamte Umgebung (ohne die \beginund \endMarkierungslinien) einfach über das Textobjekt der inneren Umgebung auswählen ( ie). Angenommen, der Cursor befindet sich irgendwo in der otherlanguageUmgebung, kann Ihr Beispiel folgendermaßen "gelöst" werden:

vie:norm A test

Weitere Vimtex-Zuordnungen finden Sie unter :h vimtex-default-mappings.

VanLaser
quelle