45 votes

Meilleure façon d'organiser les paramètres de type de fichier dans .vim et .vimrc ?

Je passe en revue mes dotfiles vim pour les mettre en ordre. J'ai remarqué qu'au fil du temps, j'ai ajouté divers paramètres spécifiques à un type de fichier de différentes manières incohérentes. Supposons que je personnalise pour Python :

  • au BufRead,BufNewFile *.py (do something) . Je n'aime pas cela car certains fichiers Python peuvent ne pas avoir la terminaison .py.

  • au FileType python (do something) . Cela semble être une meilleure option car elle ne dépend pas du fait que le fichier ait la terminaison .py. L'inconvénient est que Vim ne connaît pas certains types de fichiers. Je peux faire en sorte que Vim reconnaisse d'autres types de fichiers, mais j'ai aussi plusieurs façons incohérentes de le faire : un fichier de type .vim/filetype.vim un autre dans .vim/after/filetype.vim et divers set filetype commandes dans .vimrc .

  • Ajouter un .vim/ftplugin/python.vim avec des paramètres spécifiques au type de fichier. Je comprends que le $VIMRUNTIME/ftplugin/python.vim peut remplacer tous les paramètres que je fais ici. Un problème est que je ne suis pas sûr de la façon dont cela interagit avec .vim/filetype.vim y .vim/after/filetype.vim .

  • Ajouter un .vim/after/ftplugin/python.vim . Je comprends que cela est chargé après $VIMRUNTIME/ftplugin/python.vim pour qu'il puisse écraser les paramètres à partir de là. Comme dans la méthode précédente, je ne suis pas sûr de la manière dont elle interagit avec le fichier filetype.vim des fichiers.

J'ai donc au moins quatre façons de procéder, sans parler des fichiers de syntaxe et des plugins spécifiques aux types de fichiers. Il me semble que la meilleure façon de procéder est de placer mes paramètres spécifiques aux types de fichiers dans le fichier after/ftplugin afin qu'ils ne soient pas écrasés, et filetypes.vim en after pour la même raison.

Toutefois, avant de poursuivre, j'aimerais demander si quelqu'un a des suggestions sur la meilleure façon de traiter les paramètres spécifiques aux types de fichiers.

66voto

Johnsyweb Points 45395

Je stocke mes paramètres spécifiques à Python dans $HOME/.vim/ftplugin/python.vim puisque je ne fais rien pour entrer en conflit avec $VIMRUNTIME/ftplugin/python.vim .

Garder ces paramètres dans un ftplugin le fichier est conservé mon .vimrc agréable et générique et plus facile à maintenir (il est encore assez gros après plus de dix ans d'utilisation de Vim).

Si vous voulez rejeter ce que le ftplugin avec votre distribution Vim configurée, puis $HOME/.vim/after/ftplugin/python.vim est ce que vous voulez, tel qu'il est lu after ceux-ci.

De même, $HOME/.vim/filetype.vim seront sourcés avant $VIMRUNTIME/filetype.vim et qui, à son tour, trouvera sa source avant $HOME/.vim/after/filetype.vim .

Invoquer :scriptnames listera tous les noms de script sourcés, dans l'ordre où ils ont été sourcés en premier.

:help filetype fournit des informations assez complètes sur tout cela.

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