github/gitignore · Global/Vim.gitignore

Vim .gitignore 模板详解

逐一拆解说明 Vim.gitignore 中交换文件的方括号模式([._]*.s[a-v][a-z])、!*.svg 例外,以及会话、undo、tags 文件的规则。

在生成器中打开 与 Linux, macOS, C 一起打开

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 这样扩展名前没有文件名的交换文件。
!*.svgSVG 例外[._]*.s[a-v][a-z] 会连 .icon.svg_logo.svg 这类以点或下划线开头的 SVG 文件也一并忽略,因此重新包含所有 .svg。这是说明规则顺序很重要的例子。
Session.vimSessionx.vim会话:mksession 保存的窗口布局和已打开缓冲区列表。属于个人工作状态,不共享。
[._]*.un~*~撤销与备份启用 undofile 选项时生成的持久 undo 文件,以及 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

常搭配使用的模板

其他模板详解