这是我个人维护的一套 Neovim 配置(基于 💤 LazyNvim),配置简单灵活,预设一套 Web 前端 的开发环境。
- 包管理器 lazy.nvim
- 文件浏览器 nvim-tree
- 代码补全、格式化、语法检查 coc.nvim
- 语法高亮 treesitter
- Git 集成 gitsigns lazygit
- 状态栏 bufferline lualine
- 浮动终端 vim-floaterm
- 模糊搜索 telescope
- 代码调试 nvim-dap
- LazyVim 前置依赖(具体参考:LazyVim Requirements)
- coc.nvim 前置依赖
- nodejs >= 16.18.0
- watchman(volar 服务会用到,具体参考:[RECOMMENDED] Additional installation of "watchman")
- ultisnips 前置依赖
- ultisnips 需要依赖 python,因此需要提前安装 python,否则无法正常使用代码片段
- 安装 python:
brew install python
,检查是否安装成功:python3 --version
- 安装 pynvim:
pip3 install pynvim
,如果安装提示 ssl 的报错,需要断开 vpn 进行安装,检查是否安装成功:python3
->import pynvim
->print(pynvim.__vesion__)
- 检查 nvim 是否安装 python 环境:
:echo has('python3')
,若返回 1 则有,若为 0 则无
- 安装 python:
- ultisnips 需要依赖 python,因此需要提前安装 python,否则无法正常使用代码片段
- 备份你的原有配置
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
- 克隆我的配置
git clone --depth 1 https://github.com/shy-robin/shy-nvim ~/.config/nvim
- 删除
.git
文件夹,以便稍后将其添加到您自己的仓库
rm -rf ~/.config/nvim/.git
- 启动 Neovim!
nvim
功能 | 快捷键 | 描述 |
---|---|---|
搜索文件(Root Dir) | leader + leader 或 leader + f + f | 搜索当前 buffer 根目录下的文件(不包含 ignore 和 hidden 文件) |
搜索文件(cwd) | leader + f + F | 搜索当前工作目录下的文件(不包含 ignore 和 hidden 文件) |
搜索隐藏文件 | 搜索框下按 Ctrl + u | 搜索 hidden 文件(比如 .git 等) |
搜索 git 忽略文件 | 搜索框下按 Ctrl + i | 搜索 ignore 文件(比如 .gitignore 里的文件等) |
Root Dir 是指当前 buffer 的根目录,cwd 是指当前工作目录。 比如,在
~/.config/nvim/
打开 nvim 时,cwd 为~/.config/nvim/
,Root Dir 为~/.config/nvim
,如果在项目内打开~/Projects/demo/index.js
文件, cwd 为~/.config/nvim/
,Root Dir 为~/Projects/demo/
。
功能 | 快捷键 | 描述 |
---|---|---|
搜索文本(Root Dir) | leader + / 或 leader + s + g | 搜索当前 buffer 根目录下的文本(不包含 ignore 和 hidden 文件) |
搜索文本(cwd) | leader + s + G | 搜索当前工作目录下的文本(不包含 ignore 和 hidden 文件) |
搜索 git 忽略文本 | 搜索框下按 Ctrl + i | 搜索 ignore 文本(比如 .gitignore 里的文本等) |
glob 模式搜索 | 搜索框下按 Ctrl + g | 搜索 glob 模式(比如 **/*.js 等) |
筛选路径 | 搜索框下按 Ctrl + f | 筛选路径 |
冻结列表 | 搜索框下按 Ctrl + space | 冻结列表,对列表进行二次搜索,比如可以使用 !.lua 排除指定的文件类型 |
本配置基于 LazyVim,如果你不了解它的用法,可以参考以下入门教程:
- @elijahmanor 制作了一个很棒的视频,可以带领你快速入门。
- @dusty-phillips 为 LazyVim 编写了一本全面的书籍 《LazyVim for Ambitious Developers》 ,可在线上免费阅读。
如果你想寻找一些有用的插件,可以访问以下网站:
-
如何使用某个 commit 版本的插件?
使用 leader + l + r 或者
:Lazy restore
命令将插件版本恢复到 lock 文件指定版本。
- kitty
- 0.37 版本支持鼠标追随动画(参考:Cursor trails)
- neovide
- 基于 Rust 编写,提供丝滑流程的 GUI 动画