2012-06-27 14 views
6

Ho provato :s%/{//g e :s%/\{//g. Come posso trovare e sostituire (rimuovere, in realtà) parentesi graffe in vim?Come trovi e sostituisci le parentesi graffe {} in vim?

Grazie.

MODIFICA: intendevo avere la% prima di s, quindi potrei aver fatto un errore di digitazione. Grazie a tutti per le risposte veloci.

+0

Coloro lavoro per me –

risposta

11

Un'estensione @chaos

Il { carattere (es: sinistra brace, di non essere confuso con la parentesi [ o parentesi ()
... non è necessario che venga eseguito il escape.

Probabilmente si intende rimuovere tutte le parentesi graffe. Il simbolo della percentuale deve essere prima della "s", non dopo. Significa eseguire la ricerca su tutte le gamme.

Quindi, basta fare:

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

Tutto fatto!

È consigliabile considerare la lettura delle gamme VIM. Ad esempio, per fare sostituzioni sulla linea corrente e fino a 10 linee di basso, si potrebbe fare:

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

Puoi farlo in una riga, come questa: :% s/{// g |% s /} // g – XPlatformer

5

:s/{//g funziona correttamente. Perché nel mondo stai mettendo quello % dopo il s? In questo modo stai indicando % come il tuo carattere di delimitazione di espressioni regolari, il che sta facendo sì che il resto del pattern non funzioni perché è scritto come se il tuo carattere delimitatore fosse il /.

Oh, capisco, intendi :%s/{//g.

4

Si dovrebbe mettere % prima s di sostituirlo in tutto il file non solo sulla riga corrente:

:%s/{//g 
+0

Ops, questo è quello che volevo dire. Forse stavo solo avendo una scoreggia cerebrale. – ZenLikeThat

Problemi correlati