1. LazyVim
LazyVim 是一个开箱即用的 Neovim 配置方案:由 💤 lazy.nvim 驱动,把 Neovim 变成完整的 IDE,同时保持高度可定制。本文整理自官方中文文档:LazyVim 官方文档(中文),涵盖安装步骤与全部按键映射速查。
[!info] 阅读导览
第 1 章 入门指南:特性、使用要求与安装 → 第 2 章 按键映射:通用映射与 LSP 映射 → 第 3 章 插件按键映射:16 个插件的速查表
1.1. 🚀 入门指南
LazyVim 是由 💤 lazy.nvim 驱动的 Neovim 配置,可以容易地自定义并扩展您的配置。

1.1.1. ✨ 特性
- 🔥 将你的 Neovim 变成一个完整的 IDE
- 💤 使用 lazy.nvim 轻松自定义并扩展你的配置
- 🚀 速度很快
- 🧹 对 options、autocmds 和 keymaps 进行合理地默认设置
- 📦 预先配置了大量的插件,可随时使用
1.1.2. ⚡️ 使用要求
- Neovim >= 0.11.2(需要使用 LuaJIT 构建)
- Git >= 2.19.0(用于支持部分克隆)
- Nerd Font v3.0 及以上(可选,用于显示部分图标)
- lazygit(可选)
- tree-sitter-cli 与 C 编译器(用于 nvim-treesitter,可选)
- live grep:ripgrep
- 文件查找:fd
- 支持真彩色(true color)与 undercurl 的终端模拟器:
1.1.3. ⚡️ 安装 LazyVim Starter(PowerShell)
使用 PowerShell 安装 LazyVim Starter。
- 备份您当前的 Neovim 文件(可选,但建议):
Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak
Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak
- 克隆启动器:
git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
- 删除
.git 文件夹,之后可以将其添加到你自己的仓库:
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force
- 启动 Neovim:
nvim
starter 中的文件包含大量注释,可以参考它们来了解如何自定义 LazyVim。
1.2. ⌨️ 按键映射
LazyVim 使用 which-key.nvim 来帮助您记住按键映射。只需按下类似 <space> 的任何按键,就会弹出一个包含所有以 <space> 开头的按键映射面板。

1.2.1. 通用映射
| 按键 |
描述 |
模式 |
<C-h> |
转到左边窗口 |
n |
<C-j> |
转到下边窗口 |
n |
<C-k> |
转到上边窗口 |
n |
<C-l> |
转到右边窗口 |
n |
<C-Up> |
增大窗口高度 |
n |
<C-Down> |
减小窗口高度 |
n |
<C-Left> |
减小窗口宽度 |
n |
<C-Right> |
增大窗口宽度 |
n |
<A-j> |
向下移动 |
n、i、v |
<A-k> |
向上移动 |
n、i、v |
<S-h> |
上一个缓冲区 |
n |
<S-l> |
下一个缓冲区 |
n |
[b |
上一个缓冲区 |
n |
]b |
下一个缓冲区 |
n |
<leader>bb |
切换到其他缓冲区 |
n |
<leader>` |
切换到其他缓冲区 |
n |
<esc> |
Esc 并清除高亮搜索 |
i、n |
<leader>ur |
重绘 / 清除高亮搜索 / 更新 diff |
n |
gw |
搜索光标所在的单词 |
n、x |
n |
下一个搜索结果 |
n、x、o |
N |
上一个搜索结果 |
n、x、o |
<C-s> |
保存文件 |
i、v、n、s |
<leader>l |
打开 lazy 插件面板 |
n |
<leader>fn |
新建文件 |
n |
<leader>xl |
位置列表(Location List) |
n |
<leader>xq |
快速修复列表(Quickfix List) |
n |
<leader>uf |
切换保存时格式化 |
n |
<leader>us |
切换拼写检查 |
n |
<leader>uw |
切换自动换行 |
n |
<leader>ul |
切换行号 |
n |
<leader>ud |
切换诊断 |
n |
<leader>uc |
切换 Conceal |
n |
<leader>gg |
Lazygit(root 目录) |
n |
<leader>gG |
Lazygit(当前目录) |
n |
<leader>qq |
全部退出 |
n |
<leader>ui |
检查光标位置 |
n |
<leader>ft |
终端(root 目录) |
n |
<leader>fT |
终端(当前目录) |
n |
<esc><esc> |
进入普通模式 |
t |
<leader>ww |
其他窗口 |
n |
<leader>wd |
删除窗口 |
n |
<leader>w- |
在下方分割窗口 |
n |
<leader>w| |
在右侧分割窗口 |
n |
<leader>- |
在下方分割窗口 |
n |
<leader>| |
在右侧分割窗口 |
n |
<leader><tab>l |
最后一个标签页 |
n |
<leader><tab>f |
第一个标签页 |
n |
<leader><tab><tab> |
新建标签页 |
n |
<leader><tab>] |
下一个标签页 |
n |
<leader><tab>d |
关闭标签页 |
n |
<leader><tab>[ |
上一个标签页 |
n |
1.2.2. LSP 映射
| 按键 |
描述 |
模式 |
<leader>cd |
行级诊断 |
n |
<leader>cl |
LSP 信息 |
n |
gd |
转到定义 |
n |
gr |
引用(References) |
n |
gD |
转到声明 |
n |
gI |
转到实现 |
n |
gt |
转到类型定义 |
n |
K |
悬停 |
n |
gK |
签名帮助(Signature Help) |
n |
<C-k> |
签名帮助(Signature Help) |
i |
]d |
下一个诊断 |
n |
[d |
上一个诊断 |
n |
]e |
下一个错误 |
n |
[e |
上一个错误 |
n |
]w |
下一个警告 |
n |
[w |
上一个警告 |
n |
<leader>ca |
代码操作(Code Action) |
n、v |
<leader>cf |
格式化文档(Format Document) |
n |
<leader>cf |
格式化范围(Format Range) |
v |
<leader>cr |
重命名 |
n |
1.3. 插件按键映射
| 按键 |
描述 |
模式 |
<leader>bp |
固定缓冲区 |
n |
<leader>bP |
删除未固定的缓冲区 |
n |
| 按键 |
描述 |
模式 |
f |
f |
n、x、o |
F |
F |
n、x、o |
t |
t |
n、x、o |
T |
T |
n、x、o |
| 按键 |
描述 |
模式 |
s |
向前跳转 |
n、x、o |
S |
向后跳转 |
n、x、o |
gs |
跨窗口跳转 |
n、x、o |
| 按键 |
描述 |
模式 |
<leader>cm |
打开 Mason |
n |
| 按键 |
描述 |
模式 |
<leader>bd |
删除缓冲区 |
n |
<leader>bD |
删除缓冲区(强制) |
n |
| 按键 |
描述 |
模式 |
gza |
添加包围符号 |
n、v |
gzd |
删除包围符号 |
n |
gzf |
查找右侧包围符号 |
n |
gzF |
查找左侧包围符号 |
n |
gzh |
高亮包围符号 |
n |
gzr |
替换包围符号 |
n |
gzn |
更新 MiniSurround.config.n_lines |
n |
| 按键 |
描述 |
模式 |
<leader>fe |
文件浏览器(root 目录) |
n |
<leader>fE |
文件浏览器(当前目录) |
n |
<leader>e |
文件浏览器(root 目录) |
n |
<leader>E |
文件浏览器(当前目录) |
n |
| 按键 |
描述 |
模式 |
<S-Enter> |
重定向命令行 |
c |
<leader>snl |
Noice 上一条消息 |
n |
<leader>snh |
Noice 消息历史 |
n |
<leader>sna |
Noice 全部消息 |
n |
<C-f> |
向前滚动 |
i、n、s |
<C-b> |
向后滚动 |
i、n、s |
| 按键 |
描述 |
模式 |
<leader>un |
删除所有通知 |
n |
| 按键 |
描述 |
模式 |
<leader>sr |
在文件中替换(Spectre) |
n |
| 按键 |
描述 |
模式 |
<C-Space> |
扩大选择 |
n |
<BS> |
缩小选择 |
x |
| 按键 |
描述 |
模式 |
<leader>qs |
恢复 Session |
n |
<leader>ql |
恢复上次 Session |
n |
<leader>qd |
不保存当前 Session |
n |
| 按键 |
描述 |
模式 |
<leader>, |
切换缓冲区 |
n |
<leader>/ |
在文件中查找(Grep) |
n |
<leader>: |
命令历史记录 |
n |
<leader><space> |
查找文件(root 目录) |
n |
<leader>fb |
缓冲区列表 |
n |
<leader>ff |
查找文件(root 目录) |
n |
<leader>fF |
查找文件(当前目录) |
n |
<leader>fr |
最近文件 |
n |
<leader>gc |
提交记录 |
n |
<leader>gs |
Git 状态 |
n |
<leader>sa |
自动命令 |
n |
<leader>sb |
在当前缓冲区中搜索 |
n |
<leader>sc |
命令历史 |
n |
<leader>sC |
所有命令列表 |
n |
<leader>sd |
诊断 |
n |
<leader>sg |
Grep(root 目录) |
n |
<leader>sG |
Grep(当前目录) |
n |
<leader>sh |
全局帮助页 |
n |
<leader>sH |
搜索高亮组 |
n |
<leader>sk |
按键映射 |
n |
<leader>sM |
手册页 |
n |
<leader>sm |
跳转到标记 |
n |
<leader>so |
选项 |
n |
<leader>sR |
恢复上次搜索 |
n |
<leader>sw |
查找单词(root 目录) |
n |
<leader>sW |
查找单词(当前目录) |
n |
<leader>uC |
预览颜色方案(主题) |
n |
<leader>ss |
跳转到符号 |
n |
<leader>sS |
跳转到符号(工作区) |
n |
| 按键 |
描述 |
模式 |
]t |
下一个 TODO 注释 |
n |
[t |
上一个 TODO 注释 |
n |
<leader>xt |
TODO(Trouble) |
n |
<leader>xT |
TODO / FIX / FIXME(Trouble) |
n |
<leader>st |
TODO |
n |
| 按键 |
描述 |
模式 |
<leader>xx |
文档诊断(Trouble) |
n |
<leader>xX |
工作区诊断(Trouble) |
n |
<leader>xL |
位置列表(Trouble) |
n |
<leader>xQ |
快速修复列表(Trouble) |
n |
[q |
上一个 trouble / quickfix 条目 |
n |
]q |
下一个 trouble / quickfix 条目 |
n |
| 按键 |
描述 |
模式 |
]] |
转到下一个引用 |
n |
[[ |
转到上一个引用 |
n |