【Mac 从 0 到 1 保姆级配置教程 08】- 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了

article/2025/8/12 10:15:25

文章目录

    • 2. 安装 Neovim
    • 3. 安装 LazyVim
      • 3.1. 安装依赖
      • 3.2. 安装 LazyVim
      • 3.3. 问题修复
    • 4. 配置 LazyVim
      • 4.1. 基础知识
      • 4.2. 内置快捷键
      • 4.3. 自定义快捷键
      • 4.4. 配置主题
      • 4.5. 配置 C/C++ 环境
      • 4.6. 配置 JSON 和 Markdown
    • 5. 最后
    • 6. 参考资料
    • 7. 系列教程

Mac 从 0 到 1 保姆级配置教程目录,点击即可跳转对应文章:
【🚀🚀🚀 教程开源地址】:https://github.com/tonngw/macman
【Mac 从 0 到 1 保姆级配置教程 00】 - 教程说明
【Mac 从 0 到 1 保姆级配置教程 01】 - 安装无敌的 brew
【Mac 从 0 到 1 保姆级配置教程 02】 - 你真的会装软件吗?内含常用软件安装教程
【Mac 从 0 到 1 保姆级配置教程 03】 - 安装配置美化 iterm2 一气呵成,Mac 下经久不衰的终端
【Mac 从 0 到 1 保姆级配置教程 04】 - 手把手教你安装配置 zsh 和 oh my zsh,一看就会!
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(上)
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(下)
【Mac 从 0 到 1 保姆级配置教程 06】 - iterm2 常用快捷键和 zsh 别名配置
【Mac 从 0 到 1 保姆级配置教程 07】 - 配置 Git、GitHub、SSH 免密提交以及 Git 常用基础命令
【Mac 从 0 到 1 保姆级配置教程 08】 - 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
【Mac 从 0 到 1 保姆级配置教程 09】 - 快速配置终端复用工具 tmux 和 oh-my-tmux
【Mac 从 0 到 1 保姆级配置教程 10】 - sdkman 几分钟搞定 Java 开发环境,一定不要错过啊!
【Mac 从 0 到 1 保姆级配置教程 11】 - Mac 基础配置 Finder、触控板、常用快捷键等
【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
【Mac 从 0 到 1 保姆级配置教程 13】- 详细介绍一款 Mac 下无敌好用的宝藏软件 RayCast
【Mac 从 0 到 1 保姆级配置教程 14】- 那些 Mac 非常常用的高效率工具,肯定有你不知道的
【Mac 从 0 到 1 保姆级配置教程 15】- Python 环境一键安装与配置,就是这么的丝滑
持续更新中…## 1. Vim、Neovim 及区别
Vim:是 Linux 下的一款高度可定制化的文本编辑器,想要在服务器上编辑文件离不开 Vim,Vim 起源于 Vi,并以其模式化操作、丰富的快捷键和插件系统而闻名。它通过命令行界面运行,特别适合于在终端环境下使用,支持多种编程语言的语法高亮和代码补全。

Neovim:是 Vim 的一个分支,于 2014 年推出,旨在解决 Vim 的一些限制并引入现代编辑器特性。它支持异步编程,使用 Lua 作为主要的脚本语言,提供了更高效的性能和更灵活的扩展性,同时保持与 Vim 的高度兼容性,Neovim 的社区也很活跃,有很多优秀的插件让它变得更加高效便利。

Vim 与 Neovim 的区别:虽然 Neovim 在很多方面与 Vim 相似,并且兼容大多数 Vim 的插件和配置,但 Neovim通过采用现代架构和异步 IO,提供了更好的性能和扩展性。Neovim 的配置更加现代化,支持 Lua 脚本,而 Vim主要使用 VimScript,知道 VimScript 的朋友应该知道这门语言不太友好。

2. 安装 Neovim

第一步我们先安装 Neovim

brew install neovim

安装成功之后执行 nvim就可以看到 Neovim 的欢迎界面了。

3. 安装 LazyVim

Neovim 有很多的发行版,每种发行版其实就是对应一套开箱即用的配置,可以免去我们重头开始自己配置所有的东西,比较优秀的发行版有 NvChad, LunarVim, AstroNvim, SpaceVim 等等。

我使用的是 LazyVim,它是 lazy.nvim 的作者开源的一套配置,我觉得还是比较好用的,同样也适合新手入门。

官网:https://www.lazyvim.org/

lazy.nvim 是 Neovim 下的插件管理工具,LazyVim 当然也内置了 lazy.nvim。

官网:https://github.com/folke/lazy.nvim

3.1. 安装依赖

  1. Neovim、Git 已经安装过了。
  2. Nerd Font 字体看过前面文章的小伙伴应该也有了。
  3. lazygit 可选,给你在终端下提供一个 Git 的可视化界面,不知道的可以了解一下https://github.com/jesseduffield/lazygit
brew install jesseduffield/lazygit/lazygit
  1. 一个 C 编译器给 nvim-treesitter 使用,gcc 就是一个 C 编译器,一般都是默认系统自带的,gcc -v可以查看一下对应的版本,treesitter 是一个编程语言解析器,基于它可以做语言高亮、代码导航、代码格式化等等功能,在安装 Neovim 的时候已经安装了这个依赖。
  2. telescope.nvim 搜索插件要安装一下,用起来非常方便,可以搜索文件、内容等,安装相关依赖。
brew install ripgrep
brew install fd
  1. 终端我们就用 iterm2!

3.2. 安装 LazyVim

第一步:首先备份原来 Neovim 的配置文件,以后在使用别人的配置文件之前也要养成备份的好习惯,以免覆盖了自己的配置无法找回。

# required
mv ~/.config/nvim{,.bak}# optional but recommended
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

第二步:下载 LazyVim 的配置

git clone https://github.com/LazyVim/starter ~/.config/nvim

第三步:删除 .git文件夹,可以关联到自己的远程仓库

rm -rf ~/.config/nvim/.git

第四步:启动 Neovim 可以看到 LazyVim 的配置正在初始化。

nvim

初始化配置成功之后的界面

q可以回到欢迎界面

<Leader> + e可以显示当前位置的目录树, 默认是空格,再按一次可以隐藏。

最后在 Neovim 里执行 :LazyHealth查看插件的工作情况,针对报错的可以按照提示进行修复。

3.3. 问题修复

  1. 安装 luarocks
brew install luarocks

  1. 安装 wget
brew install wget

  1. 安装 node 环境
brew install node

用 npm 安装一下 neovim

npm install -g neovim

OK,node 环境非常重要,很多插件的工作都依赖 node,当然如果你写前端的话也离不开 node。

如果还有其他问题大家可以自行搜索解决了,其实基本上安装好之后就可以正常使用了,这里只不过给大家演示一下遇到如何解决遇到的错误提示。

4. 配置 LazyVim

4.1. 基础知识

键默认是空格

存放下载的插件的位置:~/.local/share/nvim

目录结构

.
├── LICENSE
├── README.md
├── init.lua # 初始化配置,启动 lazy.nvim、自定义配置和插件
├── lazy-lock.json
├── lazyvim.json
├── lua
│   ├── config # 配置目录
│   │   ├── autocmds.lua # 每次打开 nvim 自动执行的命令
│   │   ├── keymaps.lua # 快捷键配置
│   │   ├── lazy.lua # lazy.nvim 的配置
│   │   └── options.lua # 个性化配置
│   └── plugins # 插件目录,每个插件对应一个 .lua 文件
│       └── example.lua
├── stylua.toml
└── test.txt

4.2. 内置快捷键

键是一个前置键,默认是 空格,输入一个可以看到 LazyVim 的提示,根据提示操作

基础快捷键:

  • <leader><leader>:搜索文件, 关闭。

  • <leader> + e:展示/隐藏目录树

  • shift + h/l:左右切换 Buffer
  • ctrl + hjlk:上下左右导航窗口

详细的快捷键使用,可以查看官方文档,建议跟着操作一下主要的快捷键,这东西就是熟能生巧。

快捷键:https://www.lazyvim.org/keymaps

4.3. 自定义快捷键

lua/config/keymaps.lua 文件中添加自定义的快捷键配置即可。

-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps herelocal keymap = vim.keymap-- Genreral Keymaps
keymap.set("i", "ii", "<ESC>")-- save file
keymap.set("n", "W", ":w<CR>")
-- exit all file
keymap.set("n", "Q", ":qa<CR>")
-- copy entire file
keymap.set("n", "Y", ":%y<CR>")

默认的快捷键配置可以在这里查看:https://www.lazyvim.org/configuration/general

4.4. 配置主题

lua/config/colorscheme.lua 文件中安装主题,设置 LazyVim 加载对应的主题,除了自带的 tokyonight 主题,再推荐两个比较好看好用的主题。

  • 安装 gruvbox 主题
return {-- add gruvbox{ "ellisonleao/gruvbox.nvim" },-- Configure LazyVim to load gruvbox{"LazyVim/LazyVim",opts = {colorscheme = "gruvbox",},},
}

  • 安装 everforest 主题
return {-- add everforest{"neanias/everforest-nvim",version = false,lazy = false,priority = 1000, -- make sure to load this before all the other start plugins-- Optional; default configuration will be used if setup isn't called.config = function()require("everforest").setup({-- Your config here})end,},-- Configure LazyVim to load gruvbox{"LazyVim/LazyVim",opts = {colorscheme = "everforest",},},
}

  • 安装 catppuccin 主题
return {-- add catppuccin{"catppuccin/nvim",lazy = true,name = "catppuccin",opts = {integrations = {aerial = true,alpha = true,cmp = true,dashboard = true,flash = true,gitsigns = true,headlines = true,illuminate = true,indent_blankline = { enabled = true },leap = true,lsp_trouble = true,mason = true,markdown = true,mini = true,native_lsp = {enabled = true,underlines = {errors = { "undercurl" },hints = { "undercurl" },warnings = { "undercurl" },information = { "undercurl" },},},navic = { enabled = true, custom_bg = "lualine" },neotest = true,neotree = true,noice = true,notify = true,semantic_tokens = true,telescope = true,treesitter = true,treesitter_context = true,which_key = true,},},},-- Configure LazyVim to load gruvbox{"LazyVim/LazyVim",opts = {colorscheme = "catppuccin",},},
}

4.5. 配置 C/C++ 环境

配置环境可以通过 LazyVim Extras 提供的开箱即用的功能进行配置,可以看到这些都是 Extras 提供的功能。

输入 :LazyExtras进入配置界面,可以看到默认打开会给我们推荐可以安装的配置 Recommended Languages

找到我们 C/C++ 运行环境 clangd 按 x启用配置即可,再按一次关闭配置。

设置完成之后重启 nvim 相关的插件就会自动安装。

编写一个 test.cpp 的文件测试一下代码提示、代码补全、错误诊断、保存格式化等。

4.6. 配置 JSON 和 Markdown

找到 json 和 markdown 按 x启用即可。

找一篇 markdown 文档

leader + c + p:可以在浏览器预览

好了安装环境这部分大家需要什么环境自行安装就好了。

后面针对 python 环境的配置可能单独出一篇文章介绍,如果方便地管理 python 环境、在 VSCode 中如何配置等。

5. 最后

本篇介绍了 Vim 和 Neovim,在使用 Neovim 前首先需要掌握 Vim 的使用,因为 Vim 是基础操作,Neovim 只不过是一个可定制化的工具而已,关于 Vim 的使用我想出一个单独的系列好好讲讲。

还讲解了如何安装 Neovim 以及它的发行版 LazyVim,搞清楚它的目录结构、内置快捷键、如何自定义快捷键、配置好看的主题,还有一步很关键的方便的配置开发环境(真的非常方便,网上很少有相关的文章教你这样安装),总之踩了很多的坑总结的经验都分享给大家了,希望大家可以愉快的使用 Neovim Coding。

Neovim 还有很多的插件,每一个插件的用途可以自行在 GitHub 搜索学习。


如果感觉文章对你有所帮助,请三连支持一下博主哦,感谢大家~

最重要的是给博主留一个大大的关注,你的支持是我更新的最大动力!

这个系列会继续更新下去的!

6. 参考资料

  • LazyVim 官网:https://www.lazyvim.org/
  • LazyVim 电子书(未完结):https://lazyvim-ambitious-devs.phillips.codes/
  • Vim 教程:https://www.acwing.com/blog/content/18141/

7. 系列教程

【🚀🚀🚀 教程开源地址】:https://github.com/tonngw/macman
【Mac 从 0 到 1 保姆级配置教程 00】 - 教程说明
【Mac 从 0 到 1 保姆级配置教程 01】 - 安装无敌的 brew
【Mac 从 0 到 1 保姆级配置教程 02】 - 你真的会装软件吗?内含常用软件安装教程
【Mac 从 0 到 1 保姆级配置教程 03】 - 安装配置美化 iterm2 一气呵成,Mac 下经久不衰的终端
【Mac 从 0 到 1 保姆级配置教程 04】 - 手把手教你安装配置 zsh 和 oh my zsh,一看就会!
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(上)
【Mac 从 0 到 1 保姆级配置教程 05】 - 全网最详细 20+ 张图逐帧安装 powerlevel10k zsh 主题(下)
【Mac 从 0 到 1 保姆级配置教程 06】 - iterm2 常用快捷键和 zsh 别名配置
【Mac 从 0 到 1 保姆级配置教程 07】 - 配置 Git、GitHub、SSH 免密提交以及 Git 常用基础命令
【Mac 从 0 到 1 保姆级配置教程 08】 - 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
【Mac 从 0 到 1 保姆级配置教程 09】 - 快速配置终端复用工具 tmux 和 oh-my-tmux
【Mac 从 0 到 1 保姆级配置教程 10】 - sdkman 几分钟搞定 Java 开发环境,一定不要错过啊!
【Mac 从 0 到 1 保姆级配置教程 11】 - Mac 基础配置 Finder、触控板、常用快捷键等
【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
【Mac 从 0 到 1 保姆级配置教程 13】- 详细介绍一款 Mac 下无敌好用的宝藏软件 RayCast
【Mac 从 0 到 1 保姆级配置教程 14】- 那些 Mac 非常常用的高效率工具,肯定有你不知道的
【Mac 从 0 到 1 保姆级配置教程 15】- Python 环境一键安装与配置,就是这么的丝滑
持续更新中…


http://www.hkcw.cn/article/xiHmSQAndC.shtml

相关文章

Android SMS发送技术指南

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;本文详细介绍了在Android平台上如何使用编程接口&#xff08;API&#xff09;发送短信&#xff0c;包括 SmsManager 类的使用、调试技巧和设备兼容性处理。通过实例代码展示了如何实现文本消息的发送&#xf…

AndroidStudio创建Android虚拟机教程

前言 在 Android 开发的世界中&#xff0c;拥有一个可靠且灵活的测试环境是至关重要的。Android Studio 提供了虚拟设备&#xff08;AVD&#xff09;管理器&#xff0c;这是一个强大的工具&#xff0c;允许开发者创建自定义的虚拟设备来模拟不同的 Android 设备。通过 AVD&…

uniapp 小程序 web-view 打开H5页面传参以及调用postMessage回传参数

uniapp 小程序 web-view 打开H5页面传参以及调用postMessage回传参数 uniapp 运行微信小程序&#xff0c;在小程序内利用 web-view 打开H5页面进行数据流转的总结。 首先做点准备工作&#xff0c;官网明确的说了小程序是不支持本地的&#xff0c;那怎么进行调试呢&#xff0c;…

mac 下载nvm

先在终端查看是否安装brew brew -v显示版本&#xff0c;开始下一步&#xff0c;如果不显示版本&#xff0c;则需要先安装brew 安装brew 使用brew安装nvm 执行安装命令 brew install nvm配置环境变量 配置环境变量之前&#xff0c;先查看nvm下载的位置 brew list nvm这是…

Android的uid~package~pid的关系

UID &#xff1a; Linux 系统级用户标识&#xff0c;Android 中每个应用安装时分配唯一 UID&#xff08;如 1000&#xff09;。 Package&#xff1a; Android 应用包名(例如android)&#xff0c;一个 UID 可关联多个 Package&#xff08;共享 UID 场景如android:sharedUserI…

Rust 学习笔记:发布一个 crate 到 crates.io

Rust 学习笔记&#xff1a;发布一个 crate 到 crates.io Rust 学习笔记&#xff1a;发布一个 crate 到 crates.io提供有用的文档注释常用标题文档注释作为测试注释所包含的项目 使用 pub use 导出一个方便的公共 API设置 crates.io 账户添加 metadata 到一个新的 crate发布到 c…

大白话 Seata 分布式事务浅析,详解TCC模式

大家好&#xff0c;我是此林。 说到分布式事务&#xff0c;第一时间想到 Seata&#xff0c;它支持多种事务模型&#xff0c;比如&#xff1a;XA模式、AT模式、TCC模式、Saga模式(长事务)。 其中 TCC 模式是高性能分布式事务解决方案&#xff0c;适用于核心系统等对 性能有很高…

超标量处理器设计6-指令解码

1. 指令缓存 指令缓存本质上是一个FIFO, 它能够将指令按照程序中指定的顺序存储起来&#xff0c;这样指令在解码的时候&#xff0c;仍然可以按照程序中指定的顺序进行解码。指令缓存是超标量处理器中必须的部件&#xff0c;其原因有两个&#xff1a; 1. 每周期可以取指的个数大…

技嘉华硕微星主板BIOS开启TPM模块教程

目录 一. TPM模块安装 二. 在BIOS开启TPM功能 华硕主板&#xff08;Intel平台&#xff09; 华硕主板&#xff08;AMD平台&#xff09; 技嘉主板&#xff08;Intel平台&#xff09; 技嘉主板&#xff08;AMD平台&#xff09; 微星主板&#xff08;Intel平台&#xff09; …

java基础知识

ASCII码 1. next() 示例​​ 读取一个字符串&#xff08;遇到空格或换行符停止&#xff09; 运行示例&#xff1a;​​ 输入: 张三 李四 输出: 张三 // 只读取了"张三"&#xff0c;"李四"留在输入缓冲区

【解决】【亲测下载obsidian可行】打不开github.com 或者 加速访问 github

Windows系统 基本思路&#xff1a;通过修改IP绑定来实现加速访问 1、hosts文件目录 C:\Windows\System32\drivers\etc\hosts2、修改内容 2.1 ping github.com 在Windows的cmd页面下直接输入&#xff1a; ping github.comPS&#xff1a;这一步只是看一下&#xff0c;没在后…

逆向入门(1)

前言&#xff1a; 本篇文章面向想入门逆向的新手小白。 NSSCTF和BUUCTF是两个刷题网站&#xff0c;知识点下面会有对应的题&#xff0c;大家可以自己试着做一下 NSSCTF:https://www.nssctf.cn/problem BUUCTF:https://buuoj.cn/challenges 1.看exe模式&#xff08;位数&am…

经典算法回顾之最小生成树

最小生成树&#xff08;Minimum Spanning Tree&#xff0c;简称MST&#xff09;是图论中的一个重要概念&#xff0c;主要用于解决加权无向图中连接所有顶点且总权重最小的树结构问题。本文对两种经典的算法即Prim算法和Kruskal算法进行回顾&#xff0c;并对后者的正确性给出简单…

Java八股文智能体——Agent提示词(Prompt)

这个智能体能够为正在学习Java八股文的同学提供切实帮助&#xff1a;不仅可以帮你优化答案表述&#xff0c;还能直接解答八股文相关问题——它会以面试者的视角&#xff0c;给出贴合求职场景的专业回答。 将以下内容发送给任何一个LLM&#xff0c;他会按照你提示词的内容&…

VScode编译调试debug,gpu的cuda程序,Nsight

进行下面操作的前提是&#xff0c;我们的环境已经能跑简单的CUDA程序了。 一、安装Nsight 二、创建launch.json文件 {"version": "0.2.0","configurations": [{"name": "CUDA C: Launch","type": "cuda-gdb…

飞牛fnNAS存储空间模式详解

目录 一、NAS的存储空间 二、多硬盘对NAS速度的提升原理 三、多硬盘对数据安全的提升原理 四、多硬盘对容量的提升原理 五、磁盘阵列模式 六、飞牛NAS支持的存储模式 七、具体如何选择存储空间模式 在数字化时代,数据是个人和企业发展的核心资产,但面临硬盘损坏、病毒…

vue3: baidusubway using typescript

项目结构&#xff1a; <!--npm install -D tailwindcss-3d BaiduSubwayMap.vue npm install -D tailwindcss postcss autoprefixer--> <template><div class"relative w-full h-screen"><!-- 地图容器 --><div id"subway-container…

【递归、搜索与回溯】专题二、二叉树中的深搜

文章目录 1.计算布尔二叉树的值1.1 题目1.2 思路1.3 代码 2.求根节点到叶节点数字之和2.1 题目2.2 思路2.3 代码 3.二叉树剪枝3.1 题目3.2 思路3.3 代码 4.验证二叉搜索树4.1 题目4.2 思路4.3 代码 5.二叉搜索树中第K小的元素5.1 题目5.2 思路5.3 代码 6.二叉树的所有路径6.1 题…

Windows商店中的免费扫雷游戏应用

《扫雷》是一款经典的单人益智小游戏&#xff0c;1992年微软发布的Windows 3.1中加入该游戏&#xff0c;从此风靡全世界。游戏目标是通过逻辑推理&#xff0c;在最短的时间内根据点击格子出现的数字找出所有非雷格子&#xff0c;同时避免踩雷。 此Windows应用实现了经典扫雷的…

无法运用pytorch环境、改环境路径、隔离环境

一.未建虚拟环境时 1.创建新项目后&#xff0c;直接运行是这样的。 2.设置中Virtualenv找不到pytorch环境&#xff1f;因为此时没有创建新虚拟环境。 3.选择conda环境&#xff08;全局环境&#xff09;时&#xff0c;是可以下载环境的。 运行结果如下&#xff1a; 是全局环境…