github/gitignore · Global/Vim.gitignore
Template .gitignore do Vim explicado
Explica uma a uma as regras do Vim.gitignore: o padrão de colchetes para arquivos de swap ([._]*.s[a-v][a-z]), a exceção !*.svg e os arquivos de sessão, undo e tags.
O Vim.gitignore é o template que mais usa padrões de intervalo entre colchetes. O Vim cria um arquivo de swap .nomedoarquivo.swp para cada arquivo em edição e, se já existir um, usa um novo nome trocando a última letra, como .swo ou .swn.
Em vez de listar todas as extensões possíveis, ele as pega de uma vez com intervalos como [a-v][a-z], mas esse intervalo acaba incluindo .svg, por isso há também uma linha que o recupera com !*.svg.
Explicação regra por regra
| Padrão | O que ignora e por quê |
|---|---|
[._]*.s[a-v][a-z][._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p] | Arquivos de swapA primeira linha pega arquivos que começam com ponto (.) ou sublinhado (_) e terminam em .saa–.svz. [._]*.sw[a-p] pega .swa–.swp, e as três linhas seguintes pegam arquivos de swap sem nome de arquivo antes da extensão, como .swp. |
!*.svg | Exceção para SVGComo [._]*.s[a-v][a-z] também ignora arquivos SVG que começam com ponto ou sublinhado, como .icon.svg ou _logo.svg, todos os .svg são incluídos de novo. É um exemplo de por que a ordem das regras importa. |
Session.vimSessionx.vim | SessõesSão a disposição das janelas e a lista de buffers abertos salvos pelo :mksession. É estado de trabalho pessoal, então não é compartilhado. |
[._]*.un~*~ | Desfazer e backupsSão os arquivos de undo persistente que surgem ao ativar a opção undofile e os arquivos de backup da opção backup. |
.netrwhisttags | netrw e tagsSão o histórico de visitas do explorador de arquivos embutido netrw e o arquivo de tags criado pelo ctags. tags ignora tanto arquivos quanto pastas cujo nome seja exatamente tags. |
Cuidados na prática
- Por causa da regra
tags, uma pasta de código comosrc/tags/pode ser ignorada. Se você tem uma pasta assim, adicione!src/tags/ou restrinja a regra a/tags. - Se na configuração do Vim você reunir os arquivos de swap em um só lugar, como com
set directory=~/.vim/swap//, eles nem aparecem na pasta do projeto. - O Neovim usa arquivos de swap no mesmo formato, mas o local padrão é o diretório de estado, então raramente aparecem no projeto.
Template original
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~
Origem dos templates: github/gitignore/Global/Vim.gitignore @356fd7b (2026-09-11) · CC0-1.0