Ich habe versucht, das folgende Muster in einem Protokoll zu suchen.Vim mehrzeilige Suche mit negativem Lookahead
[write_<many other characters here till end of line>
<10-15 lines here>
<more characters> 10008
Mein Protokoll hat viele solche Vorkommnisse mit dem letzten Wert nicht 10008 Erste sein habe ich versucht, dies wie folgt gesucht:
/\[write_\_.\{-}10008
Dies wurde passend [WRITE_ von einigen Linien viel vor dem nächsten [write_ to 10008. Aus diesem Grund wurde versucht, solche falschen Übereinstimmungen mit negativem Lookahead herauszufiltern.
/\[write_\_.\{-}10008\([write_\)\@!
Dies funktionierte auch nicht für mich. Wo bin ich falsch gelaufen, oder denke ich in völlig falsche Richtung? Danke für jede Hilfe.
Danke für die Antwort. Ich habe es versucht, aber "E363: pattern verwendet mehr Speicher als 'maxmempfen' Interrupted". Ich verstehe nicht, was das bedeutet. Können Sie bitte helfen, diesen Wert angemessen einzustellen? – thorondor1990
Wenn Sie den 'E363'-Fehler mit Kents Muster erhalten, dann kann Ihre Datei große Teile enthalten (etwas mehr als ~ 1000 Zeilen) ohne irgendeinen '[write_'-Header, nehme ich an; (Ich wollte es korrigieren, aber leider kann ich nicht das richtige Muster finden ..) – yolenoyer
@ thorondor1990 Ich habe mit einigen Beispielen getestet, es hat funktioniert. Aber wie sieht deine echte Datei aus? Ich weiß es nicht. Wenn Sie 'E363' hatten, versuchen Sie bitte': set maxmpattern = A_BIG_NUMBER' – Kent