【Mac 从 0 到 1 保姆级配置教程 08】08. 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
文章目录
- 1. Vim、Neovim 及区别
- 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 保姆级配置教程目录,点击即可跳转对应文章:
【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 常用基础命令
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. 安装依赖
- Neovim、Git 已经安装过了。
- Nerd Font 字体看过前面文章的小伙伴应该也有了。
- lazygit 可选,给你在终端下提供一个 Git 的可视化界面,不知道的可以了解一下https://github.com/jesseduffield/lazygit
brew install jesseduffield/lazygit/lazygit
- 一个 C 编译器给 nvim-treesitter 使用,gcc 就是一个 C 编译器,一般都是默认系统自带的,
gcc -v
可以查看一下对应的版本,treesitter 是一个编程语言解析器,基于它可以做语言高亮、代码导航、代码格式化等等功能,在安装 Neovim 的时候已经安装了这个依赖。 - telescope.nvim 搜索插件要安装一下,用起来非常方便,可以搜索文件、内容等,安装相关依赖。
brew install ripgrep
brew install fd
- 终端我们就用 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. 问题修复
- 安装 luarocks
brew install luarocks
- 安装 wget
brew install wget
- 安装 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
:左右切换 Bufferctrl + 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. 系列教程
【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 常用基础命令