Pour rechercher et remplacer toutes les occurrences d’un mot dans vim, j’utilise
%s/word/newword/g
Comment puis-je changer cela pour qu’il ne trouve que des instances de “mot” qui sont des mots entiers?
Vous pouvez utiliser \<
pour faire correspondre le début d'un mot et \>
pour correspondre à la fin:
%s/\/newword/g
Pour le remplacement sensible à la casse, vous pouvez utiliser “\ C”
:%s/\\C/newword/g
Il ne remplace que “word” par newword en laissant d’autres comme Word, WORD … non remplacé.
Pour une recherche et un remplacement compatibles avec PCRE, vous pouvez utiliser les commandes perldo
ou rubydo
comme décrit ici: http://vim.wikia.com/wiki/Perl_compatible_regular_expressions
Par exemple:
:perldo s/\bword\b/newword/g