LazyVim 下载、安装和基本使用:把 Neovim 配成一个轻量 IDE

如果你喜欢终端、键盘操作和轻量开发环境,LazyVim 是一个很值得尝试的 Neovim 配置方案。
它不是一个新的编辑器,而是一套基于 Neovim 的成熟配置。LazyVim 帮你组织好插件、LSP、补全、格式化、文件搜索、Git 集成等常用能力,让 Neovim 更接近现代 IDE。
简单理解:
Neovim 是编辑器核心LazyVim 是完整配置方案lazy.nvim 是插件管理器Mason 负责安装 LSP、formatter、linterclangd / rust-analyzer 负责语言提示和检查
一、安装前准备
先确认系统里已经有 Neovim 和 Git:
nvim --versiongit--version
macOS 推荐安装这些工具:
brew install neovim git ripgrep fd lazygit
它们的作用分别是:
neovim 编辑器本体git 下载和管理配置ripgrep 全局文本搜索fd 快速文件查找lazygit 终端里的 Git 图形界面
二、备份旧 Neovim 配置
如果你以前用过 Neovim,先备份旧配置:
mv ~/.config/nvim ~/.config/nvim.bakmv ~/.local/share/nvim ~/.local/share/nvim.bakmv ~/.local/state/nvim ~/.local/state/nvim.bakmv ~/.cache/nvim ~/.cache/nvim.bak
如果某个目录不存在,报错可以忽略。
三、安装 LazyVim Starter
官方推荐使用 starter 模板:
git clone https://github.com/LazyVim/starter ~/.config/nvim
删除 starter 自带的 git 信息:
rm-rf ~/.config/nvim/.git
然后启动:
nvim
第一次启动时,LazyVim 会自动下载插件。等插件安装完成后,就可以开始使用。
四、LazyVim 的几个核心入口
进入 LazyVim 后,先记住这几个命令。
插件管理:
:Lazy
安装语言工具:
:Mason
启用 LazyVim 官方扩展:
:LazyExtras
查看当前文件 LSP 有没有启动:
:LspInfo
查看健康状态:
:checkhealth
五、常用快捷键
LazyVim 默认把空格键当作 leader 键。
<Space> f f 查找文件<Space> s g 全局搜索文本<Space> e 打开/关闭文件树<Space> c d 查看当前行诊断<Space> c a Code Action / 尝试修复<Space> c f 格式化代码<Space> x x 查看项目诊断<Space> x X 查看当前文件诊断]d 跳到下一个错误[d 跳到上一个错误u 撤销Ctrl + r 重做
这些快捷键够你完成大部分日常编辑、搜索、检查和格式化操作。
六、启用 C++ 支持
打开 LazyVim 扩展管理:
:LazyExtras
搜索:
clangd
找到:
lang.clangd
按小写 x 启用,然后执行:
:Lazy sync
接着打开 Mason:
:Mason
安装:
clangdclang-format
打开 .cpp 文件后执行:
:LspInfo
如果能看到 clangd,说明 C++ 提示、跳转、诊断已经启动。
七、C++23、CMake 和 clangd 的关系

学习 C++23 时,经常会遇到一个问题:
终端里 clang++ 可以编译LazyVim 里 clangd 却提示错误
常见原因是:真实编译命令用了 C++23,但 clangd 没拿到同样的编译参数。
所以推荐使用一个最小 CMake 项目。
项目结构:
cpp23-cmake-study/├── CMakeLists.txt├── .clangd├── compile_commands.json├── build/└── src/ └── main.cpp
CMakeLists.txt:
cmake_minimum_required(VERSION3.20)project(cpp23_cmake_study LANGUAGES CXX)set(CMAKE_CXX_STANDARD23)set(CMAKE_CXX_STANDARD_REQUIREDON)set(CMAKE_CXX_EXTENSIONSOFF)set(CMAKE_EXPORT_COMPILE_COMMANDSON)add_executable(cpp23_study src/main.cpp)target_compile_options(cpp23_study PRIVATE$<$<CXX_COMPILER_ID:Clang,AppleClang,GNU>:-Wall -Wextra -Wpedantic>)
.clangd:
CompileFlags:Add:[-std=c++23]
第一次配置:
cmake -S.-B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ONln-sf build/compile_commands.json compile_commands.jsoncmake --build build./build/cpp23_study
以后日常只需要:
cmake --build build./build/cpp23_study
这里最重要的是:
CMake 负责真实编译compile_commands.json 记录真实编译参数clangd 读取这些参数后,编辑器提示才会和编译结果一致
八、C++23 示例代码
src/main.cpp 可以先写成这样:
#include<iostream>#include<string>#include<vector>std::string join_vector(const std::vector<int>& values){ std::string result;for(std::size_t i =0; i < values.size();++i){ result += std::to_string(values[i]);if(i +1< values.size()){ result +=", ";}}return result;}intadd(int a,int b){return a + b;}intmain(){ std::vector<int> numbers{1,2,3}; std::cout <<"C++23 CMake study\n"; std::cout <<"add(5, 33) = "<<add(5,33)<<'\n'; std::cout <<"numbers = ["<<join_vector(numbers)<<"]\n";return0;}
等编译器和标准库支持足够好以后,可以再练习 C++23 的:
std::print / std::printlnstd::expectedranges / viewsif consteval
九、日常学习流程

推荐把学习流程固定下来:
1. 打开 src/main.cpp2. 写一小段代码3. 看 LazyVim / clangd 提示4. cmake --build build 编译5. ./build/cpp23_study 运行6. 根据错误修改7. 继续下一段练习
在 LazyVim 里:
:LspInfo<Space>cd<Space>c a<Space>cf
在终端里:
cmake --build build./build/cpp23_study
这个循环比单纯依赖编辑器提示更可靠。编辑器负责提前提醒,CMake 负责最终确认。
十、LazyVim 的优势和边界
LazyVim 的优势:
启动快键盘效率高插件体系清晰LSP、补全、格式化开箱即用适合终端和远程开发配置可控
它的边界也很明显:
需要熟悉 Vim 操作需要理解 LSP、Mason、Treesitter调试体验不如 VSCode 直观AI 自动修复能力不如 Copilot / Cursor / Cline 直接
所以更实际的组合是:
VSCode:适合学习初期、调试、AI 辅助LazyVim:适合练键盘流、终端开发、快速编辑CMake:负责真实构建clangd:负责编辑器里的提示和检查
总结
LazyVim 的价值不是让 Neovim 变成另一个 VSCode,而是在终端里提供一套轻量、可控、速度快的现代开发体验。
对学习 C++23 来说,最稳的组合是:
LazyVim + clangd + CMake + compile_commands.json
一句话记住:
CMake 负责真实编译,clangd 负责编辑器提示,compile_commands.json 负责让两者使用同一套编译参数。
夜雨聆风