把 NvChad 的 custom 目录做成独立的 Git 仓库 是最优方案!这样既能备份所有自定义配置(不仅是 Mapping),又能跨设备同步、版本控制,还不影响 NvChad 本身的更新(NvChad 是主仓库,custom 是你的独立配置仓库)。
核心思路:将 lua/custom/ 目录单独作为一个 Git 仓库,推送到你的 Github,后续迁移时直接克隆这个仓库到 NvChad 的 lua/ 目录下即可,完全兼容 NvChad 的加载逻辑。
第一步:整理 custom 目录结构(规范且通用)
先确保你的 custom 目录只包含 自己的自定义配置,结构清晰(后续可扩展插件、全局选项等),示例如下:
~/.config/nvim/lua/custom/
├── mappings.lua # 你的自定义快捷键(核心文件)
├── plugins/ # 后续添加自定义插件(可选,比如额外装的插件配置)
│ └── example.lua
├── options.lua # 全局选项(比如缩进、编码等,可选)
└── .gitignore # Git 忽略文件(关键,避免提交无用文件)
必加文件:.gitignore
在 custom/ 目录下新建 .gitignore,避免 Git 跟踪临时文件/缓存,内容如下:
# 忽略 Nvim 临时文件
*.swp
*.swo
*.tmp
.DS_Store
# 忽略插件缓存(如果用了 lazy.nvim,可选)
lua/custom/plugins/lazy-lock.json第二步:初始化 custom 为 Git 仓库
打开终端,按以下步骤操作(全程在 custom 目录下执行):
1. 进入 custom 目录
cd ~/.config/nvim/lua/custom/2. 初始化 Git 仓库
git init # 把当前目录变成 Git 仓库3. 添加所有文件到暂存区
git add . # "." 表示添加当前目录下所有文件(包括子目录)4. 提交到本地仓库
git commit -m "初始化 NvChad 自定义配置:添加插入模式映射(Ctrl+a/Ctrl+e/Ctrl+H)"(提交信息可以自定义,清晰描述本次提交的内容即可)
第三步:在 Github 新建仓库(存放你的配置)
1. Github 操作
- 登录你的 Github 账号,点击右上角
+→New repository; - 仓库名称建议:
nvchad-custom(直观,表明是 NvChad 的自定义配置); - 描述(可选):
My custom config for NvChad ( mappings, plugins, options ); - 可见性:选
Public(公开分享)或Private(仅自己用); - 其他选项:不要勾选“Initialize this repository with a README”(我们本地已经有文件,避免冲突);
- 点击
Create repository。
2. 复制仓库地址
仓库创建后,点击 <> Code → 复制你的仓库地址(推荐用 SSH 地址,需要提前配置 Github SSH 密钥;如果没配置,先用 HTTPS 地址):
- SSH 地址示例:
git@github.com:你的用户名/nvchad-custom.git - HTTPS 地址示例:
https://github.com/你的用户名/nvchad-custom.git
第四步:将本地 custom 仓库推送到 Github
回到终端(仍在 custom 目录下),执行以下命令:
1. 关联远程仓库(把本地仓库和 Github 仓库绑定)
# 替换成你复制的 Github 仓库地址
git remote add origin git@github.com:你的用户名/nvchad-custom.git2. 推送本地代码到 Github(首次推送)
# 对于新建的 Github 仓库,首次推送需要指定主分支(通常是 main)
git push -u origin main验证:
推送成功后,刷新你的 Github 仓库页面,就能看到 custom 目录下的所有文件(mappings.lua、.gitignore 等),备份完成!
第五步:跨设备迁移/恢复配置(关键!)
当你换电脑、重装系统,或需要在另一台设备使用自己的配置时,按以下步骤快速恢复:
1. 先安装 NvChad(按官方步骤)
# 克隆 NvChad 到默认配置目录(如果还没安装)
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 && nvim安装完成后,关闭 NvChad(确保核心配置加载完成)。
2. 删除 NvChad 默认的 custom 目录(如果存在)
rm -rf ~/.config/nvim/lua/custom/3. 克隆你自己的 nvchad-custom 仓库到 lua/ 目录下
# 替换成你的 Github 仓库地址,克隆到 lua/custom 目录
git clone git@github.com:你的用户名/nvchad-custom.git ~/.config/nvim/lua/custom/4. 启动 NvChad,配置自动生效!
打开 NvChad 后,你的自定义 Mapping(Ctrl+a/Ctrl+e/Ctrl+H)会自动加载,完全无需额外配置——因为 NvChad 会优先读取 lua/custom/ 目录下的配置。
后续维护:更新/修改自定义配置
之后你想修改 Mapping、添加插件配置等,直接在 ~/.config/nvim/lua/custom/ 目录下操作,然后通过 Git 提交推送即可,步骤如下:
# 1. 进入 custom 目录
cd ~/.config/nvim/lua/custom/
# 2. 添加修改的文件(或用 git add . 添加所有修改)
git add mappings.lua # 比如修改了快捷键,只提交这个文件
# 3. 提交修改
git commit -m "更新插入模式映射:调整 Ctrl+a 为绝对行首"
# 4. 推送到 Github(同步备份)
git push origin main进阶优化(可选)
1. 给仓库加 README.md
在 custom/ 目录下新建 README.md,记录你的配置说明(方便自己后续查看,或分享给他人),示例:
# NvChad Custom Config
我个人的 NvChad 自定义配置,包含快捷键、插件、全局选项等。
## 核心功能
- 插入模式快捷键:
- Ctrl+a → 跳转到行首(跳过空白)
- Ctrl+e → 跳转到行尾
- Ctrl+H → 向左移动一个字符(替代默认 Backspace)
- 后续可添加:自定义插件(如 nvim-tree、telescope 配置)、全局缩进/编码设置等。
## 使用方法
1. 安装 NvChad:`git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1`
2. 删除默认 custom 目录:`rm -rf ~/.config/nvim/lua/custom`
3. 克隆本仓库:`git clone git@github.com:你的用户名/nvchad-custom.git ~/.config/nvim/lua/custom`
4. 启动 NvChad 即可生效。2. 分支管理(可选)
如果想测试新配置(比如新增插件),可以创建测试分支,避免影响主分支的稳定配置:
# 创建并切换到 test 分支
git checkout -b test
# 测试完成后,合并到 main 分支
git checkout main
git merge test
# 推送合并后的代码
git push origin main关键优势
- 完全独立:你的配置仓库和 NvChad 主仓库互不干扰,NvChad 升级(
git pull)不会覆盖你的自定义配置; - 跨设备同步:任何设备只要克隆你的
nvchad-custom仓库,就能复用所有配置; - 版本控制:Git 会记录所有修改,不小心改崩了可以回滚到之前的稳定版本(
git log查看历史,git checkout 提交ID回滚); - 可扩展:后续添加插件配置、全局选项等,直接放在
custom目录下,仓库会自动跟踪。
按这个方法,你的 NvChad 自定义配置就完全由自己掌控,备份、迁移、更新都非常方便!