Folgendes erhalte ich aus der Dokumentation: \zs"Startet den hervorgehobenen Teil" nach dem Abgleichen des vorhergehenden regulären Ausdrucks und \@<="Startet den hervorgehobenen Teil" nach dem Abgleichen des vorhergehenden Atoms . Aber ich verstehe die Feinheiten nicht genau. Kann jemand erklären, wie sie sich etwas tiefer unterscheiden?
Das hat mich neugierig gemacht: Wenn ich renne
/\_s\zsnnoremap
dh wählt nnoremapvoraus durch ein Leerzeichen oder ein Start-of-line (dh die Neue - Zeile von der vorhergehenden Zeile, damit die \_vor der s) und führte gnVisual Mode einzugeben und visuell auswählen das nächste Spiel, aus irgendeinem Grunde nur die erste Spalte (dh Das erste nin nnoremap) wird ausgewählt - trotz der Tatsache, dass das gesamte nnoremapWort mit aktiviert markiert ist :hlsearch.
Allerdings, wenn ich stattdessen die Suche starte
/\_s\@<=nnoremap
und dann versuchen gn, das Ganze nnoremapist richtig ausgewählt. Was könnte hier los sein? Habe ich (wage ich zu sagen) einen obskuren Fehler entdeckt?
:h patternsaber mein Gedächtnis legt nahe, dass Regexs aus Atomen bestehen, wenn dies hilft, den Unterschied zu erklären.