So gehen Sie zur letzten Übereinstimmung eines Vim-Suchmusters

8

Wie kann Vim in einer Zeile nur mit dem letzten Vorkommen eines Suchmusters übereinstimmen? So ähnlich wie nicht gierig, aber von Anfang an.

z.B. In der folgenden Zeile möchte ich Twinkle little star (hervorgehoben in Fettschrift) anpassen:

  

Twinkle blah Twinkle bla bla Kleiner Stern .

Ich habe versucht, negative Lookahead wie folgt, aber es entspricht der vollständigen Zeile:

%Vor%     
sankoz 09.11.2012, 05:21
quelle

2 Antworten

6
___ qstntxt ___

Wie kann Vim in einer Zeile nur mit dem letzten Vorkommen eines Suchmusters übereinstimmen? So ähnlich wie nicht gierig, aber von Anfang an.

z.B. In der folgenden Zeile möchte ich %code% (hervorgehoben in Fettschrift) anpassen:

  

Twinkle blah Twinkle bla bla Kleiner Stern .

Ich habe versucht, negative Lookahead wie folgt, aber es entspricht der vollständigen Zeile:

%Vor%     
___ qstnhdr ___ So gehen Sie zur letzten Übereinstimmung eines Vim-Suchmusters ___ tag123vim ___ Vim ist ein freier und quelloffener modaler Texteditor, der für die meisten gängigen Plattformen verfügbar ist. Es ermöglicht eine hohe Effizienz in vielen Textbearbeitungsaufgaben, hat aber eine steile Lernkurve. Um die Grundlagen zu erlernen, führen Sie ": help vimtutor" aus. ___ tag123regex ___ Reguläre Ausdrücke stellen eine deklarative Sprache zur Verfügung, um Muster in Strings zu vergleichen. Sie werden häufig für die Überprüfung, Analyse und Umwandlung von Zeichenfolgen verwendet. Da reguläre Ausdrücke nicht vollständig standardisiert sind, sollten alle Fragen mit diesem Tag auch ein Tag enthalten, das die anwendbare Programmiersprache oder das entsprechende Werkzeug angibt. HINWEIS: Nach HTML-, JSON-, usw.-Regexen zu fragen, neigt zu negativen Reaktionen. Wenn es einen Parser dafür gibt, verwende stattdessen diesen. ___ answer20061483 ___
%Vor%
  • ". *" stimmt gierig mit allem überein, backtracking bei fehlgeschlagener Übereinstimmung mit weniger (und möglicherweise nichts)
  • "\ zs" setzt "Beginn der Übereinstimmung", nützlich für Substitutionen und Cursor-Platzierung
  • Der Rest ist, was Sie zusammenbringen möchten

Verwenden Sie ": set incsearch", laden Sie einen Text in einen Puffer und beginnen Sie mit der Eingabe des Musters, um zu sehen, wie es angewendet wird.

Zum Beispiel ein Puffer:

%Vor%

Und Substitution:

%Vor%

Gibt:

%Vor%     
___ antwort13302536 ___

Entkomme den Klammern und füge eine Wildcard-Übereinstimmung vor dem Anker hinzu:

%Vor%     
___
Andrew Cheong 09.11.2012, 05:25
quelle
2
%Vor%
  • ". *" stimmt gierig mit allem überein, backtracking bei fehlgeschlagener Übereinstimmung mit weniger (und möglicherweise nichts)
  • "\ zs" setzt "Beginn der Übereinstimmung", nützlich für Substitutionen und Cursor-Platzierung
  • Der Rest ist, was Sie zusammenbringen möchten

Verwenden Sie ": set incsearch", laden Sie einen Text in einen Puffer und beginnen Sie mit der Eingabe des Musters, um zu sehen, wie es angewendet wird.

Zum Beispiel ein Puffer:

%Vor%

Und Substitution:

%Vor%

Gibt:

%Vor%     
Roger Pate 19.11.2013 01:33
quelle

Tags und Links