Wie kann ich rekursiv die Global in VIM verwenden?
Frage
Ist etwas falsch in ": g-2-g / 3 /" oder ist die Rekursion in der globalen fehlt nur? Ich kann keinen Grund für den Fehler verstehen:
E147: Kann nicht tun: global rekursive
Wie kann ich eine rekursive globale Suche in VIM bekommen?
[Neil anfänglicher Vorschlag mit dem Operator \ | ]
g/1.*2\|2.*1/
Ein Nachteil besteht darin, dass die Kombinationen mit n Zahlen erweitern. Für drei Zahlen ist die Anzahl der Kombinationen 3! (= 6), ist
g/1.*2.*3\|2.*1.*3\|3.*1.*2\|1.*3.*2\|2.*3.*1\|3.*2.*1/
Für n Zahlen, die Anzahl von Kombinationen ist n!.
[Lösung mit dem Operator \ &]
Brian Carper und Neil Butter rechnete die Lösung aus. Großer Dank für sie!
g/.*1\&.*2\&.*3/
Es ist für die ganze Zeile:
g/.*1\&.*2\&.*3\&.*/
Lösung
Neue Info: Das tut, was Sie wollen - die "\ &" -Sequenz ist der Operator "und":
g/.*1\&.*2\&.*3/
Brian Carper ist (siehe Kommentare, und nochmals vielen Dank) Erklärung:
/1\&2/
würde nicht funktionieren, da beide Zweige müssen „gleichzeitig entsprechen Position“./.*1\&.*2/
das Spiel lassen verankern sich an der Vorderseite der Linie und erweitern Sie dann jedoch viel es braucht zu, um die Zahlen zu finden