J'utilise vim pour coder, ce depuis des années.

Comme je n'aime pas les espaces inutiles, j'ai une petite ligne de configuration dans mon .vimrc qui supprime les espaces (ou caractères équivalents) en fin de ligne :

autocmd BufWritePre * %s/\s\+$//e

Sur un projet où je travaille, on m'a demandé explicitement de ne pas le faire. J'ai donc cherché comment ignorer les fichiers dans le répertoire du projet (et sous-répertoires) et après maintes recherches, j'ai fini par trouver :

 autocmd BufWritePre * if expand("%:p") !~ "rep_a_ignorer" | %s/\s\+$//e | endif

Je commence par récupérer le chemin complet du fichier courant, que je compare à une expression rationnelle, et si ça ne correspond pas, je fais mon remplacement.