Ich habe diese Codezeile aus einem Buch genommen, um HTML-Code in ein Zeichenfolgen-verkettetes Formular für die Verwendung in Javascript in VIM zu formatieren. Ich kann nicht verstehen, was die Zahlen "1" und "2" darstellen und wofür die Fragezeichen am Ende der Regexe stehen. Ich bin es gewöhnt, Auswechslungen wie % s/foo/bar/g zu sehen, so dass die Abwesenheit von Schrägstrichen mich ein wenig verwirrt. Zusammenfassend verstehe ich nicht die '' und '', die Fragezeichen nach dem Dollarzeichen und vor dem Wagenrücklauf, und warum die Schrägstriche nicht verwendet werden.VIM: kann diese Ersetzung nicht vollständig verstehen
vmap <silent> ;q :s?^\(\s*\)\(.*\)\s*$? \1 + '\2'?<CR>
Eigentlich habe ich getestet und '?' sucht nicht rückwärts in einem Ersatzbefehl. Es verwendet einfach ein anderes Zeichen als Trennzeichen. Aktualisierung ... – Daniel
Danke. Was machen die \ 1 und \ 2? –
@DarkNawg Die Zeichen zwischen dem \ (und \) bilden eine Gruppe, und was auch immer mit diesem Ausdruck übereinstimmt, kann später in der Ersetzungszeichenfolge verwendet werden. \ 1 und \ 2 werden verwendet, um anzuzeigen, dass es sich um die erste und zweite Gruppe handelt. Also in der ersten Gruppe haben wir was auch immer \ s * (jede Menge Leerzeichen) und in der zweiten haben wir was auch immer. * (Jede Menge eines beliebigen Zeichens). Weitere Details finden Sie hier: http://vimregex.com/#backreferences – Daniel