Korrigieren Wrong Marker Folding in VIM
Frage
Ich habe versehentlich Marker zu meinem .vimrc Falten:
{{{8 #CS
something..
}}}8
{{{9 #Math
...
}}}9
... many more!
Ich brauche das Format zu wechseln "#SOMETHING {{{NUMBER" wie:
#CS {{{8
something..
}}}8
#Math {{{9
...
}}}9
... many more!
Was im folgenden Code falsch ist:
:%s$/({{{\d/) /(#[:alpha:]/)$\2 \1$g
[Lösung]
%s$\({{{\d\) \(#[[:alnum:]]*\)$\2 \1$g
Lösung
Sie haben vergessen, die Klammern zu entkommen, und die POSIX-Zeichenklassen sind nur innerhalb einer Zeichenklasse [[:alpha:]]
gültig:
:%s$/\({{{\d/\) /\(#[[:alpha:]]/\)$\2 \1$g
Beachten Sie jedoch, dass Ihr Beispiel Text keine Schrägstriche enthält nicht - das ist, was Ihr Beispieltext ist eigentlich wie
Die obige regex ändert sich diese
/{{{8/ /#A/
Um dies zu
#A/ {{{8/
Andere Tipps
:%s/{{{\(\d\) \(.*\)/\2 {{{\1/g
es funktioniert, aber in Ihrem regex Ich verstehe nicht, warum Sie einen $ nach s bekam sie.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow