
欢迎来到已读乱码的 018 期,上次配置 neovim 还是 2019 年,当时流行的包管理器还是 vim-plug,现在推荐使用的包管理器已经是 lazy.nvim,技术圈总是在不断发展。本周的周刊大概描述下我使用的一些 neovim 插件,详细的插件配置等我使用一段时间之后会单独写篇文章描述。
删除现有配置
原有配置还是在 2019 年使用 vim-plug 插件管理其他插件配置的,需要先备份并删除这些配置,由于我的 init.vim
本身配置就只是软链接到我真正的配置,删除该配置文件和 vim-plug 的配置即可。
# 删除 init.vim
rm ~/.config/nvim/init.vim
# 删除 vim-plug 配置
rm -rf /.local/share/nvim
配置 neovim
我的配置主要参考了下面这些博主的文章或配置:
- 从零开始配置 Neovim(Nvim) - MartinLwx’s Blog
- Neovim 常用插件介绍 | GoHalo
- jdhao/nvim-config: A modern Neovim configuration with full battery for Python, Lua, C++, Markdown, LaTeX, and more…
结构化配置目录
结构化配置目录我是参考的 MartinLwx 的方式,整体的配置目录结构和文章描述的类似。如下:
.
├── lua
│ ├── config
│ │ ├── telescope.lua
│ ├── plugins
│ │ ├── telescope.lua
│ ├── colorscheme.lua
│ ├── keymaps.lua
│ ├── lsp.lua
│ ├── options.lua
│ └── package_manager.lua
└── init.lua
- 配置入口文件是
init.lua
,其他配置都在lua
目录下。 lua/package_manager.lua
为 lazy.nvim 的配置文件,会加载lua/plugins
下的所有文件,lua/plugins
下部分插件会加载lua/config
下对应插件名称的配置。lua/colorscheme.lua
为主题配色的配置。lua/keymaps.lua
用于配置通用快捷键绑定。lua/lsp.lua
用于配置 lsp 相关。lua/options.lua
用户配置 neovim 相关的选项。
配置 Lazy.nvim
当前时间点,比较推荐使用的 neovim 插件管理器是 lazy.nvim,所以先安装 lazy.nvim 插件。
安装 lazy.nvim 本身比较简单,且我采用的是分文件安装插件的方式,也是和 LazyVim 项目类似的插件管理目录结构。就是一开始没有理解 lazy.nvim 文档的描述,在安装配置插件上走了一些弯路。
在按照官方文档在 package_manager.lua
中配置 lazy.nvim 后,在 plugins
中依次配置需要的插件即可,但是文件内容需要是下面的格式,具体每个插件都不一样,但是需要是合法的 lua
语法,使用 return 返回。
return {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require("config.telescope")
end,
}
我目前使用的插件
- 自动补全插件:Saghen/blink.cmp
- lsp 配置:williamboman/mason-lspconfig.nvim
- 快捷键提示:folke/awhich-key.nvim
- 状态栏优化:[lualine.nvim](https://github.com/nvim-lualine/lualine.nvim
- 终端:toggleterm.nvim
- 文件搜索:telescope.nvim
- 需要安装 rg 和 fd
brew install ripgrep
brew install fd
- 自动补全括号 nvim-autopairs
- git 集成 gitsigns.nvim
- markdown 渲染 render-markdown.nvim
- 目前在编写 markdown 文章的时候,我是关闭渲染的,不然会在 insert 模式下展示原始文档,在 normal 下展示渲染后的文档,由于我编写文章会反复在这两个模式之间切换,一会儿渲染,一会儿不渲染,就没有很舒服。
- 启动页配置(没有生效) dashboard-nvim
neovide
我原本是想要为 neovim 寻找一个使用方便的 gui 客户端,这样就不用每次都从终端启动,最后找到的 nevide。只是很可惜,就和 vscode 终端存在的问题一样,neovide 无法输入使用 RIME 输入的中文标点,对于母语是中文,并且使用的输入法是 RIME 的我来说,是没法接受的,只能被迫放弃。
终端
我一直使用的终端是 iTerm2,因为 iTerm2 有个功能是可以使用快捷键唤起下拉 terminal,我是比较喜欢这个功能的,这样每次在需要使用终端的场景都可以快速定位到终端。可惜 iTerm2 对中文的展示只是也不够好,只能切换到其他终端。
尝试 ghostty 之后,发现对终端渲染还算不错,目前就使用 ghostty 作为 neovim 的启动终端。至于字体,使用的是最近比较推荐的 Maple mono。
展示

最后
我没能找到比较合适的工作区/项目管理插件,也还没配置到在不同模式下自动切换输入法的配置/插件,只有有空再慢慢折腾。
我在 2019 年配置完成 neovim 之后,也只是把 neovim 当然终端的文本编辑器,大部分场景还是使用 vscode 这样的编辑器,然后在编辑器中安装上 vim 插件,可以使用 vim 的基本功能。配置编辑器也许只是浪费时间,没有意义,有这个时间不如去折腾点别的,有时候我是这么想的。 不过已经配置了大半,先用起来。
即使是现在,使用 neovim 总是哪哪都有一种别扭的感觉,这种别扭感我也能理解,就是需要不断在中文输入法和英文输入法和不同 vim 模式切换下的别扭感。虽然这篇博客是使用 neovim 写下的,但是也不见得就比之前使用 vscode 或者其他文本编辑器写文章来得舒服,只是配置好了,自然要使用体验下。总之,使用一段时间之后,我会再给出评论。