47 votes

Omettre le message d'erreur 'Pattern not found' dans Vim script.

J'ai ajouté une fonction dans mon fichier .vimrc qui ne contient que quelques commandes de recherche et de remplacement. Cependant, si l'un des modèles n'est pas trouvé, j'obtiens un message d'erreur que je dois saisir. Comment puis-je supprimer ce message ?

78voto

DrAl Points 29528

Vous pouvez soit utiliser :silent o :silent! comme préfixe à toute commande ou vous pouvez ajouter l'option "e" au substitut, ce qui est souvent plus facile.

:%s/x/y/ge
:silent! %s/x/y/g
:silent %s/x/y/g

Pour plus d'informations, voir

:help :silent
:help :s_flags

Les informations sur le e Le drapeau est quelques paragraphes plus bas de la :s_flags aide.

2voto

Paolo Tedesco Points 22442

Vous pourriez utiliser le mot "silence" :

:silent %s/x/y/g

ou, si vous devez effectuer des manipulations de chaînes pour déterminer les chaînes à rechercher et à remplacer :

exec ":silent %s/x/" . varName . "/g"

Je ne suis pas sûr à 100%, mais je pense que silent ne fonctionne que dans les scripts.

1voto

user6359986 Points 11

Probablement un peu hors sujet, mais j'ai trouvé ce fil de discussion en cherchant des solutions pour les erreurs "search pattern not found" dans vim, lorsque je voulais rechercher la prochaine occurrence dans vim. La carte suivante ne provoque pas d'erreur lorsque l'on appuie sur 'n'.

carte n :silencieuse ! /

0voto

Sam Points 2858

Peut-être que le truc :he :silent peut être utilisé pour supprimer ces erreurs ?

0voto

zzapper Points 610

Cela fonctionne également pour le fonctionnement global

:silent g/^$/d'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X