Pregunta

por error me hice marcador de plegado a mi .vimrc:

{{{8 #CS
something..
}}}8  
{{{9 #Math
...
}}}9  
... many more!

necesito para cambiar el formato de "#SOMETHING {{{NÚMERO" como:

#CS {{{8 
something..
}}}8  
#Math {{{9 
...
}}}9  
... many more!

Lo que está mal en el código siguiente:

:%s$/({{{\d/) /(#[:alpha:]/)$\2 \1$g

[Solución]

%s$\({{{\d\) \(#[[:alnum:]]*\)$\2 \1$g
¿Fue útil?

Solución

Se le olvidó para escapar de los paréntesis y las clases de caracteres POSIX sólo son válidos dentro de un [[:alpha:]] clase de caracteres:

:%s$/\({{{\d/\) /\(#[[:alpha:]]/\)$\2 \1$g

Tenga en cuenta, sin embargo, que el texto de ejemplo no contiene barras -? Es esto lo que el texto de muestra es en realidad como

La expresión regular anterior cambia este

/{{{8/ /#A/

Para este

#A/ {{{8/

Otros consejos

:%s/{{{\(\d\) \(.*\)/\2 {{{\1/g

funciona, pero en su expresión regular no entiendo por qué tiene un $ s después.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top