LazyVim 使用教程与快捷键指南

LazyVim 使用教程与快捷键指南

一份面向初学者的 LazyVim 教程与快捷键速查手册。

基于 LazyVim 16.x 默认配置编写;运行时:Neovim 0.12+、LazyVim 16.x。

先记住这四件事

  1. <leader> 就是空格键。下文的 <leader>ff 要按作「空格、f、f」。\<localleader>
  2. 不必背完。普通模式按一次 Space,等待 which-key 弹出可继续按的菜单;Space ? 只看当前缓冲区可用的按键。
  3. :Tutor 是最好的 Vim 基础交互教程;完成它后,优先练「找文件、全文搜索、跳转定义、诊断、Git」。
  4. <Esc> 不只退出模式:它也会清除当前搜索高亮。<C-s> 在普通、插入和可视模式都保存。

按键记号:<C-x> = Ctrl+x,<S-x> = Shift+x,<A-x> = Alt+x;n/i/x/v/t 分别表示普通/插入/操作符等待/可视/终端模式。

LazyVim 简介

LazyVim 是一套基于 lazy.nvim 插件管理器的 Neovim 配置框架。它在 Neovim 原生的基础上集成了一整套开箱即用的工作流,覆盖文件检索、代码补全、LSP 智能提示、格式化、Git 集成、终端等日常高频操作。

核心工作流包括:

  • Snacks:文件检索(Picker)、文件浏览器(Explorer)、终端、通知
  • blink.cmp:代码补全引擎
  • LSP/Mason:语言服务器管理与智能提示
  • Conform:代码格式化
  • Gitsigns:行内 Git 变更标记
  • Trouble:诊断与问题集中面板
  • Flash:快速跳转
  • which-key:按键提示菜单
  • render-markdownmarkdown-preview:Markdown 渲染与预览

LazyVim 通过 Extras 机制按需启用语言和工具支持。常用 Extras 包括各编程语言(Python、Rust、Go 等)、AI 辅助(Copilot、Claude Code 等)、Markdown、JSON 等。启用 Extra 只需在 lazyvim.json 中添加对应条目,然后重启 Neovim。

推荐的学习路线(约 7 天)

阶段 练习目标 必练按键
第 1 天 先会移动、编辑、保存、撤销 h j k lw b ei a ou<C-r><C-s>
第 2 天 把文件与缓冲区当工作台 Space ffSpace fFSpace fbSpace e[b/]b
第 3 天 用搜索代替手动翻目录 Space sgSpace sGSpace swSpace srs
第 4 天 在代码里跳转和修复 gdgrKSpace caSpace crSpace cf
第 5 天 看懂问题、格式化、做 Git 操作 ]d/[dSpace xxSpace ggSpace gh*
第 6 天 多窗口、终端、会话 <C-h/j/k/l>、`Space
第 7 天 Markdown、代码项目与 AI 辅助工作流 Space cpSpace umgd<C-y>,并理解下方冲突说明

每天都用得上的核心按键

编辑、移动与窗口

按键 做什么 建议
h j k l 左、下、上、右移动;j/k 会顺着屏幕换行移动 :Tutor 开始练,不用方向键
w / b / e 下个词开头 / 上个词开头 / 当前或下个词结尾 配合 dcv 是 Vim 的高收益组合
0 / ^ / $ 行首 / 首个非空字符 / 行尾 行内定位首选
gg / G 文件开头 / 结尾 可加数字,如 42G
f{字符} / t{字符} 跳到字符 / 停在字符前 ; 重复,, 反向重复
s Flash:屏幕出现标签后按标签直达 这是跨行定位的最快方式之一
S 按语法树选择目标 适合函数、调用、代码块
u / <C-r> 撤销 / 重做 不要害怕试改
. 重复上一次修改 例如一次 ciw 后可对下个词按 .
gcc 注释/取消注释当前行 选择多行后按 gc
gco / gcO 在下方/上方新增一条注释 比手动插入再注释快
<A-j> / <A-k> 当前行或选中块下移/上移 普通、插入、可视模式都可用
<C-h/j/k/l> 切到左/下/上/右窗口 多分屏最常用
<C-箭头> 调整窗口高宽 精细调布局
`Space /Space -` 右侧垂直分屏 / 下方水平分屏
Space wmSpace uZ 放大/还原当前窗口 专注某个文件时用
Space uz Zen 专注模式 写作或阅读时用

缓冲区、标签页、保存与退出

缓冲区(buffer)是已打开文件,不等于操作系统窗口。关闭缓冲区通常不会破坏其他分屏布局。

按键 做什么
<C-s> 保存当前文件(插入/普通/可视模式均可)
<S-h> / <S-l>,或 [b / ]b 上一个/下一个缓冲区
Space fb / Space fB 选择缓冲区 / 选择全部缓冲区
Space bbSpace ` 返回上一个缓冲区
Space bd 安全关闭当前缓冲区(保留窗口)
Space bo / Space bi 关闭其他缓冲区 / 不可见缓冲区
Space bD 关闭缓冲区和窗口
Space <Tab> <Tab> 新建标签页
Space <Tab> [ / ] 前一个/后一个标签页
Space <Tab> d / o 关闭当前标签页 / 仅保留当前标签页
Space qq 退出全部 Neovim 窗口

Vim 本体:先学会”操作符 + 范围”

Vim 的高效不在于记住很多独立快捷键,而在于把命令像一句短语一样组合:

1
2
[次数] + 操作符 + 移动范围
[次数] + 操作符 + 文本对象

例如,d 是删除,c 是修改,y 是复制;w 是移动到下一个词,$ 是移动到行尾,iw 是”当前词内部”。因此:

  • dw:删除到下一个词;3dw:连续删除三个词。
  • d$:删除到行尾;也可用等价短命令 D
  • ciw:改写当前词;ci":改写双引号里面的内容。
  • yap:复制整个段落;=ap:重新缩进整个段落。

操作符重复一次通常表示”整行”:dd 删除行、cc 修改行、yy 复制行、>> / << 增加/减少缩进、== 自动缩进当前行。掌握这个语法后,新动作通常不需要再死记。

进入插入模式与基础修改

按键 Vim 原生含义 示例或区别
i / a 在光标前 / 后插入 a 适合从当前字符后继续写
I / A 在本行首个非空字符 / 行尾插入 追加行尾内容优先用 A
o / O 在下方 / 上方新建一行并插入 不必先移动到行尾
x / X 删除光标下 / 前一个字符 4x 删除四个字符
r{字符} 用一个字符替换光标下字符 r, 把当前字符改为逗号
R 进入连续替换模式 普通模式的 R 是 Vim 原生行为
J 把下一行接到当前行 默认会整理连接处的空格
~ 切换当前字符大小写 gUiw / guiw 可转换整个词
u / <C-r> 撤销 / 重做 U 不是重做,不要混淆
. 重复最近一次修改 ciw 改词,再到别处按 .
<Esc> 回到普通模式 LazyVim 中还会顺便清除搜索高亮

更完整的移动范围

按键 做什么 适合组合
w / W 下一个词 / 下一个以空白分隔的大词开头 dwcW
b / B 上一个词 / 大词开头 dbyB
e / E / ge 词尾 / 大词词尾 / 上一个词尾 decge
0 / ^ / $ 第 0 列 / 首个非空字符 / 行尾 d^y$
gg / G / {数字}G 文件首 / 文件尾 / 指定行 100G 到第 100 行
{ / } 上一个 / 下一个空行分隔的段落 dap 也可直接操作段落
( / ) 上一个 / 下一个句子 写 Markdown 或长文本时有用
% 在匹配的括号、方括号、花括号间跳转 d% 删除成对括号间范围
<C-d> / <C-u> 向下 / 向上滚半屏 长文件中比反复按 j/k
<C-f> / <C-b> 向下 / 向上滚一屏 Noice 浮窗可滚动时会优先滚浮窗
zz / zt / zb 把当前行放到屏幕中间 / 顶部 / 底部 跳转后用 zz 恢复视野
; / , 重复 / 反向重复最近的 ft 查找 例如 fa;;;

文本对象:在结构内部精准修改

i 表示 inner(不含边界),a 表示 around(包含边界,单词对象通常还包含相邻空白)。文本对象要放在操作符或可视模式之后使用,不能单独移动光标。

文本对象 范围 常用组合
iw / aw 当前词内部 / 整个词 ciw 改词,daw 连同空白删除词
iW / aW 当前”大词”内部 / 整体 路径、URL、带标点标识符更好用
i" / a" 双引号内部 / 连同双引号 ci"ya"
i' / a'i` / a` 单引号或反引号内部 / 连同边界 代码字符串与 Markdown 行内代码
i) / a)i] / a]i} / a} 括号内部 / 连同括号 ci) 改参数,da} 删代码块
it / at HTML/XML 标签内部 / 连同标签 cit 修改标签内容
is / as 句子内部 / 整个句子 文本编辑
ip / ap 段落内部 / 整个段落 yip=ap

复制、粘贴、寄存器与剪贴板

按键 做什么 注意
yy 复制当前行 可加次数,如 3yy;LazyVim 中 Y 是复制到行尾,等价于 y$
y{范围} 复制指定范围 yiwy$yap
p / P 在光标后 / 前粘贴 行复制后对应粘到下 / 上方
gp / gP p / P 一样粘贴,但把光标留在新文本之后 连续处理时更顺手
"0p 粘贴最近一次”复制”的内容 删除操作污染默认寄存器后很好用
"_d{范围} 删除但丢进黑洞寄存器 "_diw,不会覆盖准备粘贴的内容
"+y{范围} / "+p 与系统剪贴板复制 / 粘贴 例如可视选择后按 "+y
:reg 查看寄存器 Space s" 也可用 Picker 查看

在可视模式中,直接按 p 会用寄存器内容替换选择区,而被替换内容通常会进入默认寄存器。若想反复粘贴同一内容,可用 "0p,或使用黑洞寄存器避免覆盖。

可视选择、缩进与大小写

按键 做什么
v / V / <C-v> 字符选择 / 整行选择 / 矩形块选择
o 在可视选择的两端之间切换光标
gv 重新选择上一次可视区域
> / < 增加 / 减少选中内容缩进;可用 gv 再选
= 自动缩进选中内容
gU / gu / ~ 选中内容转大写 / 小写 / 反转大小写
矩形选择后 I / A 在多行块的左侧 / 右侧同时插入;输入后按 <Esc> 应用

搜索、替换、标记、跳转与宏

按键或命令 做什么 示例
/文本 / ?文本 向下 / 向上搜索 回车确认,n / N 继续
* / # 向下 / 向上搜索光标下完整单词 查同名变量很方便
:%s/旧/新/gc 全文件逐项确认替换 g 表示每行全部,c 表示确认
:'<,'>s/旧/新/g 仅替换可视选区 选中后输入 : 会自动带出范围
m{小写字母} 在当前文件设置标记 ma 设置标记 a
`{字母} / '{字母} 精确回到标记 / 回到标记所在行 `a'a 更精确
<C-o> / <C-i> 跳转列表后退 / 前进 gd、搜索、文件跳转后非常重要
g; / g, 上一个 / 下一个修改位置 找回刚才改过的地方
qaq 把一串操作录到寄存器 a 状态栏会显示正在录制
@a / @@ / 10@a 执行宏 a / 重复最近宏 / 执行十次 先在一行录好,再批量应用

执行全文件替换和宏前可先保存;结果不对就按 u 撤销。宏最稳的写法是让每轮从可预测的位置开始,并用 j、搜索或 n 明确移动到下一处。

Vim 原生键与 LazyVim 默认映射的冲突

这里的”冲突”是指 LazyVim 给一些 Vim 原生按键赋予了新动作。官方快捷键页是 LazyVim 核心 + 所有可选 Extras/插件 的总索引,不代表表中每项都在你的环境中启用。是否生效取决于已启用的 Extra、插件加载顺序、当前模式和 LSP 是否附着;忘记时用 Space sk:verbose nmap {按键} 查运行时结果。

LazyVim 默认的直接覆盖

按键 Vim / Neovim 原生行为 LazyVim 默认行为 想用原生动作怎么办
j / k 按实际文件行向下 / 向上 没有数字前缀时按屏幕显示行移动,长行换行后也逐屏幕行走 gj / gk 明确走屏幕行;要走实际行可用 1j / 1k
H / L 跳到屏幕顶部 / 底部附近 上一个 / 下一个缓冲区 zt / zb 调整视野;必须执行原生命令可输入 :normal! H / :normal! L
s 删除当前字符并进入插入,等价于 cl Flash 快速跳转 cl
S 修改整行,等价于 cc Flash Treesitter 结构选择 cc
<C-h/j/k/l> 左移、换行式下移、少用/重绘等原生动作 切换到左 / 下 / 上 / 右窗口 左右和上下移动用 h/j/k/l;重绘与清搜索用 Space ur
<C-s> Vim 普通编辑中没有常用修改动作;某些终端会把它当流控 普通、插入、可视模式保存文件 原生命令行保存仍可用 :w
<C-Space> 终端通常把它编码为 <C-@>;普通模式原生未使用 Treesitter 增量选择 没有丢失常用的 Vim 原生动作
可视模式 R 用输入内容替换选区 Flash Treesitter Search 选中后用 c 修改

行为被增强,但核心语义仍保留

按键 LazyVim 的变化 实际影响
<Esc> 退出模式之外还清除搜索高亮 原来的退出行为仍保留
n / N 保持”下一项 / 上一项”的直觉,并在需要时展开折叠 搜索结果仍按相同按键继续
<A-j> / <A-k> 移动当前行或选中块 Vim 原生通常没有这组通用编辑动作
gcc / gc{范围} 切换行注释 / 范围注释 属于 Neovim/LazyVim 的注释工作流,可与动作范围组合

只在 LSP 附着时覆盖的 Vim 键

按键 Vim 原生含义 LSP 附着后的 LazyVim 行为 原生替代入口
K 对光标词运行 keywordprg 显示 LSP 悬浮文档 Space K
gd / gD 查找局部 / 全局声明 LSP 定义 / 声明 需要精确判断时用 :verbose nmap gd
grgIgy 原生或默认映射可能因 Neovim 版本而异 LSP 引用、实现、类型定义 这些键在代码缓冲区应按 LSP 语义理解
插入模式 <C-k> 输入 digraph(二字符特殊字符) LSP 函数签名帮助 可查看 :digraphs,或用其他 Unicode 输入方式

这类映射是缓冲区局部的:普通文本文件没有 LSP 时,不能据此判断某个键”坏了”。先用 :LspInfo / Space cl 看当前缓冲区是否有服务器附着。

文件、项目、检索:最值得肌肉记忆的一组

LazyVim 会以项目根目录(通常是含 .git 的目录)和当前工作目录两种范围工作。快捷键名称中的 Root Dir 是项目根目录,cwd 是当前目录;在子目录工作、或项目根识别不符合预期时,优先选 cwd 版本。

按键 做什么
Space ff 在项目根目录找文件
Space fF 在当前工作目录找文件
Space fg 按 Git 已跟踪文件找文件(通常更干净)
Space fr / Space fR 最近文件(根目录范围 / cwd 范围)
Space fp 切换项目
Space fc 找 LazyVim 配置文件
Space fn 新建空文件
Space eSpace fe 打开 Snacks Explorer(项目根目录)
Space ESpace fE 打开 Snacks Explorer(cwd)
Space sg 在项目根目录全文 Grep
Space sG 在 cwd 全文 Grep
Space sw 搜索光标下单词或可视选区(项目根)
Space sW 搜索光标下单词或可视选区(cwd)
Space sb 当前缓冲区内搜索行
Space sB 在已打开缓冲区中搜索
Space sR 恢复最近一次 Picker 搜索
Space sr 多文件搜索与替换(Grug Far)
Space / 直接在项目根目录全文搜索
Space , 快速选择缓冲区

Snacks Picker 小抄

以上大多数 f* / s* 会打开 Snacks Picker。输入后是模糊匹配:输入 abc 即可匹配中间有间隔的候选;大写会触发大小写敏感匹配。

Picker 内按键 做什么
输入文字 过滤;在 Grep 中实时搜内容
<Down> / <Up> 选择下一/上一条
<CR> 打开当前项
<S-CR> 选择窗口后跳转打开
<Tab> / <S-Tab> 多选下一项/上一项
<Esc><C-c> 取消并关闭
<C-d> 结果列表下滚一屏
<C-b> / <C-f> 预览上滚/下滚
<A-p> 开关预览
<A-m> 最大化/还原 Picker
<A-h> / <A-i> 显示/隐藏隐藏文件、忽略文件
<A-r> 正则过滤开关
<A-w> 在输入、结果、预览窗口间循环
/ 在输入框与列表之间切换焦点

代码导航、LSP、诊断与格式化

LSP 映射仅在当前文件已有语言服务器附着时生效。工具实际是否已安装可在 :Mason 查看。

按键 做什么
gd 跳到定义(definition)
gD 跳到声明(declaration)
gr 找引用(references)
gI 跳到实现(implementation)
gy 跳到类型定义
K 悬浮说明(hover)
gK 函数签名帮助(有能力的 LSP 时)
插入模式 <C-k> 函数签名帮助(有能力的 LSP 时)
Space ca 代码操作:修复、导入、重构等
Space cr 重命名符号
Space co 整理 import(服务器提供时)
Space cA Source 类代码操作
Space cl 查看当前 LSP 配置/状态
Space cf 格式化当前文件或可视选区
Space cF 只格式化注入语言(如 Markdown 代码块)
]d / [d 下一/上一条诊断,并显示浮窗
]e / [e 下一/上一条错误
]w / [w 下一/上一条警告
Space cd 显示光标所在位置诊断
Space xx / Space xX Trouble:全部诊断 / 当前缓冲区诊断
Space cs / Space cS Trouble 符号 / LSP 位置列表
Space sd / Space sD Picker:全部诊断 / 当前缓冲区诊断
Space uh 开关 LSP Inlay Hints
Space uf / Space uF 全局/当前缓冲区自动格式化开关

补全使用 blink.cmp。插入模式中用 <C-n> / <C-p> 或方向键选择候选,<C-y> 接受当前候选(未选择时接受第一项),选中候选后也可按 <CR> 接受。<Tab> / <S-Tab> 主要在活动 snippet 中前进/后退,否则回退为原按键。

Git、Todo、通知与问题列表

按键 做什么
Space gg / Space gG 在项目根 / cwd 打开 Lazygit(系统有 lazygit 时)
Space gl / Space gL 项目根 / cwd 的 Git 日志
Space gf 当前文件 Git 历史
Space gb 当前行 Blame/历史
Space gd Git diff hunk Picker
Space gD origin 的 Git diff
Space gs Git 状态
Space gS Git stash
Space gB / Space gY 浏览当前 Git URL / 将 URL 复制到剪贴板
]t / [t 下一个/上一个 TODO、FIX、FIXME 注释
Space st / Space sT 搜索 TODO / TODO、FIX、FIXME
Space xt / Space xT Trouble 中显示 TODO / TODO、FIX、FIXME
Space n 通知历史
Space un 清除所有通知
Space snh / Space snl Noice 历史 / 最后一条消息
Space sna Noice 全部消息
Space snd 关闭 Noice 消息

Markdown、JSON 等常用文件类型的专用能力

场景 按键/命令 说明
Markdown 浏览器预览 Space cp 切换 markdown-preview.nvim;仅 Markdown 缓冲区可用
Markdown 渲染 Space um 开关 render-markdown.nvim 的编辑器内渲染
Markdown 标题与代码块 打开 .md 文件 标题显示层级图标而非 #;代码围栏、表格等由 render-markdown 在编辑器内渲染
Markdown 目录 在文件中放 <!-- toc -->Space cf 可使用 markdown-toc 自动更新目录
Markdown 格式化 Space cf 可用的格式化工具取决于 Mason 中已安装的工具
JSON 校验/补全 打开 JSON 后使用 gdKSpace ca jsonls 会加载 SchemaStore schema;也可 Space cf 格式化
语言服务器安装 :MasonSpace cm 安装/更新 LSP、formatter、linter

AI 辅助功能

LazyVim 提供了多个 AI 相关的 Extras,可根据需要启用:

Extra 功能
Copilot GitHub Copilot 代码补全,可与 blink.cmp 集成
Claude Code Anthropic Claude Code 集成
Avante 基于 AI 的对话式代码辅助
Supermaven 高速代码补全

启用 AI Extra 的方式:在 lazyvim.jsonextras 数组中添加对应条目(如 "lazyvim.plugins.extras.ai.copilot"),重启 Neovim 后生效。

启用 Copilot 后,补全候选会与 LSP、路径、snippet、buffer 候选一起出现在 blink.cmp 菜单中。常用操作:

按键/命令 行为 备注
<C-Space> 手动打开补全菜单或切换补全文档 Copilot 候选与其他来源一起显示
<C-n> / <Down> 选择下一个候选 Copilot 项带 Copilot 图标
<C-p> / <Up> 选择上一个候选 可在不同来源候选间移动
<C-y> 选择并接受当前候选;未选择时接受第一项 最推荐的接受键
<CR> 接受已经选中的候选,否则正常换行 避免误接受未选中的建议
<C-e> 取消补全菜单 放弃当前建议
:Copilot status 查看登录、授权和在线状态 Free 月度额度应在 GitHub Copilot 账户页面查看
:Copilot auth 重新进行 GitHub Copilot 登录授权 登录异常时使用

注意:不同 AI Extra 之间可能存在键位重叠。只启用实际需要的 Extra,并以 Space sk:verbose nmap 确认运行时映射,而不是仅凭官方总表判断。

其他高价值菜单

前缀 典型用途
Space s 搜索:命令 sC、帮助 sh、按键 sk、符号 ss、跳转 sj、寄存器 s"、标记 sm
Space u UI 开关:拼写 us、换行 uw、相对行号 uL、行号 ul、诊断 ud、Treesitter uT、缩进线 ug、Git 标记 uG、缓冲区标签栏 uA、深色背景 ub
Space x Trouble/quickfix:诊断 xx、快速修复 xq、位置列表 xl
Space q 会话:恢复 qs、选择 qS、恢复最近 ql、停止保存 qd
Space <Tab> 标签页管理
Space w 窗口管理;也可按 <C-w><Space> 进入窗口 Hydra 菜单
Space t 测试相关(需启用测试 Extra)
Space l 打开 lazy.nvim 插件管理界面
Space cm 打开 Mason,安装/更新 LSP、formatter、linter
Space L 查看 LazyVim 更新日志
Space sk 用 Picker 搜索所有快捷键;忘记键时优先用它

终端、会话、工具与界面

按键 做什么
Space ft / Space fT 项目根 / cwd 的浮动终端
<C-/> 聚焦或切换项目根浮动终端(普通、终端模式)
Space . / Space S 切换 / 选择 Scratch Buffer
Space qs / Space qS / Space ql 恢复当前会话 / 选择会话 / 恢复最近会话
Space uc 开关 conceal(Markdown 链接等可能显示为简化形式)
Space uA 开关缓冲区标签栏
Space uD / Space ua / Space uS 开关调暗、动画、平滑滚动
Space uC 选择颜色主题
Space ui / Space uI 检查光标位置语法信息 / Treesitter 语法树
Space K 对光标词运行 keywordprg;可作为查询帮助入口

最小实战流程:打开一个代码项目后怎么做

  1. 在项目目录执行 nvim .,或先用 Space fp 选项目。
  2. Space ff 找文件;不知道文件名时直接 Space sg 搜内容。
  3. 在符号上按 gd 看定义、K 看说明、gr 看调用处。
  4. 发现问题时按 ]d 在诊断之间跳转;需要集中处理就用 Space xx
  5. 修改后 Space ca 看可自动修复项,Space cf 格式化,<C-s> 保存。
  6. Space gs 看改动,Space gf 追文件历史;需完整 Git 交互再用 Space gg
  7. 临时运行命令按 Space ft,而不是离开编辑器开另一个终端。

遇到”按键没反应”时的检查顺序

  1. 确认处于普通模式:先按 <Esc>
  2. Space 看 which-key 是否显示该前缀;或 Space sk 搜按键描述。
  3. LSP、Markdown 预览、AI 等按键有文件类型、服务、登录或插件加载条件,检查状态栏和 :Lazy / :Mason
  4. 对普通映射执行 :verbose nmap <按键>,例如 :verbose nmap s,可看到最后是谁定义了映射。blink.cmp 会在内部处理部分插入模式按键,因此 :verbose imap <C-y> 显示为空不代表 <C-y> 无效。
  5. :checkhealth 做总检查;只检查 LazyVim 可用 :checkhealth lazyvim
  6. 不要在不了解影响时直接覆盖 <C-y><Tab><CR><C-n><C-p> 等按键,它们会影响整个补全菜单。

权威资料与继续学习


配置或插件升级后,按键可能变化。最可靠的即时查询仍是:SpaceSpace ?Space sk:verbose {n,i,x}map


LazyVim 使用教程与快捷键指南
https://tingfeng347.github.io/2026/07/31/LazyVim 使用教程与快捷键指南/
作者
Tingfeng
发布于
2026年7月31日
许可协议