Modification du paramètre expandtab en fonction du répertoire ?
J'utilise normalement 4 espaces pour l'indentation. Cependant, je soumets occasionnellement des correctifs à des projets OSS et certains d'entre eux utilisent des onglets. Lorsque je fais cela, je ~/.vimrc
modifie généralement mon fichier et le remplace set expandtab
par set noexpandtab
. Bien sûr, j'oublierai de le désinstaller, ce qui n'est qu'un désagrément très mineur.
J'ai également récemment joué avec la définition de la VIMINIT
variable si j'ouvre un shell pour travailler sur ce projet. J'aurais juste besoin de le réinitialiser si je ferme ce shell. Pas la pire chose au monde mais...
Je me demande s'il existe un moyen de dire à vim d'utiliser certains paramètres, par exemple en noexpandtab
fonction du fait que je suis sous une certaine arborescence de répertoires ou non. De cette façon, je ne l'ai défini qu'une seule fois dans un fichier de configuration et je n'ai plus à y penser sur ce poste de travail.
C'est très simple d'y parvenir avec :autocmd
. Cette ligne, par exemple, serait définie noexpandtab
pour tout sous le /projects
répertoire :
autocmd BufRead /projects/* setlocal noexpandtab
Ajoutez simplement cela avec les ajustements appropriés à votre .vimrc . Pour en savoir plus, veuillez consulter les pages d'aide sur :autocmd
et autocmd-patterns
.