github/gitignore · Global/Vim.gitignore
Vim .gitignore 템플릿 해설
Vim.gitignore의 스왑 파일 브래킷 패턴([._]*.s[a-v][a-z]), !*.svg 예외, 세션·undo·tags 파일 규칙을 하나씩 풀어 설명합니다.
Vim.gitignore는 브래킷 범위 패턴을 가장 적극적으로 쓰는 템플릿이다. Vim은 편집 중인 파일마다 .파일명.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] | 스왑 파일첫 줄은 점(.)이나 밑줄(_)로 시작하고 .saa~.svz로 끝나는 파일을 잡는다. [._]*.sw[a-p]는 .swa~.swp를, 아래 세 줄은 .swp처럼 확장자 앞에 파일 이름이 없는 스왑 파일을 잡는다. |
!*.svg | SVG 예외[._]*.s[a-v][a-z]가 .icon.svg나 _logo.svg처럼 점·밑줄로 시작하는 SVG 파일까지 무시하므로, 모든 .svg를 다시 포함한다. 규칙 순서가 중요한 예다. |
Session.vimSessionx.vim | 세션:mksession이 저장하는 창 배치와 열린 버퍼 목록이다. 개인 작업 상태라 공유하지 않는다. |
[._]*.un~*~ | 되돌리기·백업undofile 옵션을 켰을 때 생기는 영구 undo 파일과 backup 옵션의 백업 파일이다. |
.netrwhisttags | netrw·태그내장 파일 탐색기 netrw의 방문 기록과 ctags가 만든 태그 파일이다. tags는 이름이 정확히 tags인 파일과 폴더를 모두 무시한다. |
실무에서 주의할 점
tags규칙 때문에src/tags/같은 소스 폴더가 무시될 수 있다. 그런 폴더가 있다면!src/tags/를 추가하거나 규칙을/tags로 좁힌다.- Vim 설정에서
set directory=~/.vim/swap//처럼 스왑 파일을 한곳에 모으면 프로젝트 폴더에 아예 생기지 않는다. - Neovim도 같은 형식의 스왑 파일을 쓰지만 기본 위치가 상태 디렉터리라 프로젝트에 생기는 일은 드물다.
원본 템플릿
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~
템플릿 출처: github/gitignore/Global/Vim.gitignore @356fd7b (2026-09-11) · CC0-1.0