2009-11-22 20 views
41

Para buscar y reemplazar todas las instancias de una palabra en vim, utilizoBuscar y reemplazar palabras completas en vim

%s/word/newword/g 

¿Cómo puedo cambiar esto para que sólo encuentra casos de "palabra" que son palabras completas ?

+0

posible duplicado de [de buscar una palabra en vim?] (Http: //stackoverflow.com/questions/458915/searching-word-in-vim) –

Respuesta

80

Puede utilizar \< para que coincida con el comienzo de una palabra y \> para que coincida con el final:

%s/\<word\>/newword/g 
+2

Eso funciona. ¿Es eso una sintaxis de expresiones regulares, o solo funciona en vim? – neuromancer

+6

Es una sintaxis de expresiones regulares específicas de Vim. Perl (PCRE) por ejemplo usa \ b ... \ b en su lugar. –

+1

Es una pena que Vim no admita \ b ... \ b –

11

Para sustituir a mayúsculas y minúsculas .. puede utilizar "\ C"

:%s/\<word\>\C/newword/g 

Reemplaza solo "palabra" con nueva palabra dejando otros como Palabra, PALABRA ... sin reemplazar.

+0

por qué es necesario \ C, cuando se puede hacer simplemente usando, :% s/\ /newword/g. ¿Podría resaltar la importancia de utilizar \ C –

+0

\ C solo es necesario si queremos buscar entre mayúsculas y minúsculas? –

Cuestiones relacionadas