github/gitignore · Global/Vim.gitignore
Modèle .gitignore Vim expliqué
Décortique une à une les règles de Vim.gitignore : motif à crochets des fichiers d'échange ([._]*.s[a-v][a-z]), exception !*.svg, fichiers de session, d'annulation et tags.
Vim.gitignore est le modèle qui utilise le plus activement les motifs à plages entre crochets. Vim crée pour chaque fichier en cours d'édition un fichier d'échange .nomdefichier.swp, et si un fichier d'échange existe déjà, il utilise un nouveau nom en changeant la dernière lettre, comme .swo ou .swn.
Au lieu d'énumérer toutes les extensions possibles, il les capture d'un coup avec une plage comme [a-v][a-z] ; comme cette plage inclut aussi .svg, une ligne !*.svg le réinclut.
Explication règle par règle
| Motif | Ce qui est ignoré et pourquoi |
|---|---|
[._]*.s[a-v][a-z][._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p] | Fichiers d'échangeLa première ligne capture les fichiers commençant par un point (.) ou un tiret bas (_) et se terminant par .saa à .svz. [._]*.sw[a-p] capture .swa à .swp, et les trois lignes suivantes capturent les fichiers d'échange sans nom de fichier avant l'extension, comme .swp. |
!*.svg | Exception SVGComme [._]*.s[a-v][a-z] ignore aussi les fichiers SVG commençant par un point ou un tiret bas, comme .icon.svg ou _logo.svg, tous les .svg sont réinclus. C'est un exemple où l'ordre des règles compte. |
Session.vimSessionx.vim | SessionsDisposition des fenêtres et liste des tampons ouverts enregistrées par :mksession. C'est un état de travail personnel, qui ne se partage pas. |
[._]*.un~*~ | Annulation et sauvegardesFichiers d'annulation persistants créés quand l'option undofile est activée, et fichiers de sauvegarde de l'option backup. |
.netrwhisttags | netrw et tagsHistorique de navigation de netrw, l'explorateur de fichiers intégré, et fichiers de tags créés par ctags. tags ignore à la fois les fichiers et les dossiers nommés exactement tags. |
Points d'attention en pratique
- À cause de la règle
tags, un dossier de sources commesrc/tags/peut être ignoré. Si vous avez un tel dossier, ajoutez!src/tags/ou restreignez la règle à/tags. - Si vous regroupez les fichiers d'échange à un seul endroit dans la configuration de Vim, par exemple avec
set directory=~/.vim/swap//, ils n'apparaissent plus du tout dans le dossier du projet. - Neovim utilise des fichiers d'échange du même format, mais leur emplacement par défaut est le répertoire d'état : il est rare qu'ils apparaissent dans un projet.
Modèle d'origine
Vim.gitignore
# Swap[._]*.s[a-v][a-z]# comment out the next line if you don't need vector files!*.svg[._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p]# SessionSession.vimSessionx.vim# Temporary.netrwhist*~# Auto-generated tag filestags# Persistent undo[._]*.un~
Source des modèles : github/gitignore/Global/Vim.gitignore @356fd7b (2026-09-11) · CC0-1.0