2012-06-27 14 views
6

Intenté :s%/{//g y :s%/\{//g. ¿Cómo puedo encontrar y reemplazar (eliminar, en realidad) llaves en vim?¿Cómo se encuentran y se reemplazan las llaves {} en vim?

Gracias.

EDITAR: Quería tener el% antes de la s, por lo que es posible que haya estado escribiendo mal. Gracias a todos por las rápidas respuestas.

+0

Aquellos trabajo para mí –

Respuesta

11

Una extensión de @chaos

El { carácter (es decir: la llave izquierda, no a confundirse con el paréntesis [, o paréntesis ()
... no necesita ser escapado.

Probablemente desee eliminar todas las llaves. El símbolo de porcentaje debe estar antes de la 's', no después. Significa realizar la búsqueda en todos los rangos.

lo tanto, sólo lo hacen:

:%s/{//g 
:%s/}//g 

Todo hecho!

Debería considerar leer en los rangos de VIM. Por ejemplo, para hacer reemplazos en la línea actual y hasta 10 líneas más abajo, se puede hacer:

:.,.+10s/}//g 
+1

Puede hacerlo en una línea, como esta: :% s/{// g |% s /} // g – XPlatformer

5

:s/{//g funciona bien. ¿Por qué en el mundo estás poniendo ese % después del s? Al hacerlo, indica % como su carácter delimitador de expresiones regulares, lo que hace que el resto de su patrón no funcione porque está escrito como si / fuera su carácter delimitador.

Oh, ya veo, te refieres a :%s/{//g.

4

Usted debe poner % antes s para reemplazarlo en todo el archivo no sólo en la línea actual:

:%s/{//g 
+0

Vaya, eso es lo que quería decir. Tal vez solo estaba teniendo un pedo cerebral. – ZenLikeThat

Cuestiones relacionadas