这是 MysticalDevil 的 neovim 的配置文件,包含了一些我常用的插件和自定义配置
该配置主要使用 lazy.nvim 进行插件的管理
该配置中的代码编辑的等主要针对 go、rust、javascript、typescript、lua 进行配置,其他语言只使用了 nvim-lsp 的基本功能
-
安装 neovim: 我主要使用的 Linux 发行版是 Arch、Gentoo、Debian,其他发行版请自行查看官方文档。neovim 版本需要 0.10.0(nightly) 及以上,因为inlay hints 在 0.10.0 之前无法正常工作
# Arch sudo pacman -S neovim # Gentoo sudo emerge -vj app-editors/neovim # Debian sudo apt install neovim # Windows scoop install neovim # macOS brew install neovim
Debian 建议自行构建,因为 Debian 官方仓库的 neovim 最新版本为 0.7.2,可以按照如下进行构建
# Install necessary library sudo apt install git cmake ninja-build gettext unzip curl # Clone neovim repository git clone https://github.com/neovim/neovim.git # Enter neovim source directory cd neovim # Build neovim make CMAKE_BUILD_TYPE=RelWithDebInfo # Packaged as deb cd build && cpack -G DEB # Install sudo dpkg -i nvim-linux64.deb
-
克隆该仓库:
git clone https://github.com/MysticalDevil/nvim ~/.config/nvim/ -
打开 neovim 来安装插件
Lazy install
neovim 如果使用纯 lua 配置,那么配置文件都会集中在 ./lua 目录中,所以该说明无特殊指定的话根目录指的就是 ./lua/devil 目录,devil目录是为了防止命名空间冲突
init.lua使用纯 lua 配置 neovim 时的启动文件ginit.vim使用 neovim 前端时加载的额外配置,该配置支持neovide、neovim-qtconfigs/core核心配置,主要包括了基础配置、基本按键绑定、插件列表、自定义指令、自定义 autocmd以及第一次启动时的核心插件安装configs/colorscheme主题配置,包含了多种主题,可以通过setup.lua来更改预设主题configs/gui前端的字体、动画等配置configs/plugin大多数插件的配置,不包含补全、格式化、DAP、LSPplugins默认安装的插件目录,分别为通用插件(common.lua),主题(colorscheme.lua),版本控制相关(git.lua)以及编程相关(prog.lua)complete补全引擎相关配置,补全引擎默认使用了nvim-cmp,coq_nvim作为可选项,可以通过setup.lua进行切换。代码片段使用了LuaSnip、LSP关键字图标采用了lspkinddapDebug Adapter Protocol 相关配置,主要使用nvim-dapformat代码格式化相关配置,默认使用none-ls.nvim,conform.nvim,formatter.nvim和efm作为备选项,可以通过setup.lua进行调整lint代码检查相关配置,默认使用none-ls.nvim,nvim-lint和efm作为备选项,可以通过setup.lua进行调整lspLanguage Server Protolcol 相关配置,主要使用mason进行 LSP、DAP、Linter、Formmater 等包的管理、nvim-lspconfig和mason-lspconfig进行 LSP 的配置utils常用的工具库,如全局函数,通用配置等
主要按键配置在 keybindings.lua 和 which-key.lua 文件中
以下是一些常用的快捷键
<leader>键为,<leader>w + ...保存文件及衍生操作(如保存并退出)<leader>q + ...退出及衍生操作(如强制退出)Ctrl-j/k向下/上滚动 5 行Ctrl-d/u向下/上滚动 10 行gcc/gcb快速注释sv水平分屏sh垂直分屏sc关闭分屏so关闭其他分屏Alt-h/j/k/l窗口之间跳转ts分割标签th/l/j/k前后首尾标签tc关闭标签Z打开代码块zz关闭代码块Leader-f格式化代码- 其他快捷键请参考具体配置
以下是一些使用的主要插件
lazy.nvim插件管理器,相比packer.nvim更简单易用、性能更好、配置简单onedark.nvim主体颜色,我很喜欢 onedark 配色方案,也可以更改为其他的配色方案bufferline.nvim类似其他编辑器的标签页的插件Comment.nvim行注释和块注释插件dashboard-nvim更美观的 neovim 的欢迎屏幕,配合project.nvim来快速打开最近项目或文件leap.nvim文本快速跳转插件,快捷键为-和_lualine.nvim状态栏插件neo-tree.nvim文件管理器,之前使用的是nvim-tree.luanoice.nvim通知、命令行、弹出菜单等功能的改进插件,有点不稳定nvim-treesitter语法树、语法高亮telescope.nvim查找、筛选、预览、选择插件gitsigns.nvim将 git 集成到缓冲区中
主屏幕
代码编辑页面
欢迎为我的 neovim 配置文件做出贡献!如果你想要添加新的插件或修改现有配置吗,请进行 pull request