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 ?
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 ?
Puede utilizar \<
para que coincida con el comienzo de una palabra y \>
para que coincida con el final:
%s/\<word\>/newword/g
Eso funciona. ¿Es eso una sintaxis de expresiones regulares, o solo funciona en vim? – neuromancer
Es una sintaxis de expresiones regulares específicas de Vim. Perl (PCRE) por ejemplo usa \ b ... \ b en su lugar. –
Es una pena que Vim no admita \ b ... \ b –
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.
por qué es necesario \ C, cuando se puede hacer simplemente usando, :% s/\
\ C solo es necesario si queremos buscar entre mayúsculas y minúsculas? –
Para PCRE de búsqueda compatibles y reemplazar, puede utilizar los comandos perldo
o rubydo
como se describe aquí: http://vim.wikia.com/wiki/Perl_compatible_regular_expressions
Por ejemplo:
:perldo s/\bword\b/newword/g
posible duplicado de [de buscar una palabra en vim?] (Http: //stackoverflow.com/questions/458915/searching-word-in-vim) –