github/gitignore · Global/Vim.gitignore

Разбор шаблона .gitignore для Vim

Пошаговый разбор шаблона со скобками для swap-файлов в Vim.gitignore ([._]*.s[a-v][a-z]), исключения !*.svg и правил для файлов сеансов, undo и tags.

Открыть в генераторе Открыть вместе с Linux, macOS, C

Vim.gitignore активнее всех шаблонов использует диапазоны в скобках. Vim создаёт для каждого редактируемого файла swap-файл .имя_файла.swp, а если такой уже есть, берёт новое имя, меняя последнюю букву: .swo, .swn и т. д.

Вместо перечисления всех возможных расширений они охватываются сразу диапазоном вроде [a-v][a-z], но в него попадает и .svg, поэтому рядом есть строка !*.svg, которая его возвращает.

Разбор правил

ШаблонЧто и почему игнорируется
[._]*.s[a-v][a-z][._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p]Swap-файлыПервая строка охватывает файлы, которые начинаются с точки (.) или подчёркивания (_) и оканчиваются на .saa.svz. [._]*.sw[a-p] охватывает .swa.swp, а три строки ниже — swap-файлы без имени перед расширением, например .swp.
!*.svgИсключение для SVG[._]*.s[a-v][a-z] игнорирует даже SVG-файлы, начинающиеся с точки или подчёркивания, например .icon.svg или _logo.svg, поэтому все .svg снова включаются. Это пример того, как важен порядок правил.
Session.vimSessionx.vimСеансыРасположение окон и список открытых буферов, которые сохраняет :mksession. Это личное рабочее состояние, им не делятся.
[._]*.un~*~Отмена и резервные копииПостоянные undo-файлы, появляющиеся при включённом параметре undofile, и резервные копии параметра backup.
.netrwhisttagsnetrw и тегиИстория посещений встроенного файлового обозревателя netrw и файлы тегов, созданные ctags. tags игнорирует и файлы, и папки с именем ровно tags.

На что обратить внимание на практике

Исходный шаблон

Vim.gitignoreСтрок правил: 12
# 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~

Источник шаблонов: github/gitignore/Global/Vim.gitignore @356fd7b (2026-09-11) · CC0-1.0

Шаблоны, используемые вместе

Разборы других шаблонов