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
War es hilfreich?

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
scroll top