web-dev-qa-db-fra.com

Rechercher et remplacer des mots entiers dans vim

Pour rechercher et remplacer toutes les instances d'un mot dans vim, j'utilise

%s/Word/newword/g

Comment puis-je changer cela pour qu'il ne trouve que des exemples de "Word" qui sont des mots entiers?

46
neuromancer

Vous pouvez utiliser \< pour faire correspondre le début d'un mot et \> pour faire correspondre la fin:

%s/\<Word\>/newword/g
90
sth

Pour remplacer remplacer .. vous pouvez utiliser "\ C"

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

Il remplace uniquement "Word" par newword, laissant les autres comme Word, WORD ... non remplacés.

13
Naga Kiran

Pour la recherche et le remplacement compatibles avec PCRE, vous pouvez utiliser les commandes perldo ou rubydo comme décrit ici: http://vim.wikia.com/wiki/Perl_compatible_REG_expressions

Par exemple:

:perldo s/\bword\b/newword/g
0
user3751385