主要面向c/c++的精简neovim配置,
blog中有对每个插件更加详细一点的介绍
配色: molokai
插件管理:lazy.nvim 使用插件:
- nvim-lspconfig: lsp server配置工具
- mason:lsp server 管理工具
- mason-lspconfig: lspconfig与lsp server之间的桥接工具
- 补全相关:
- "hrsh7th/cmp-nvim-lsp",
- "hrsh7th/cmp-buffer",
- "hrsh7th/cmp-path",
- "hrsh7th/cmp-cmdline",
- "hrsh7th/nvim-cmp",
- "hrsh7th/cmp-vsnip",
- "hrsh7th/vim-vsnip"
- nvim-treesitter/nvim-treesitter: 基于lsp的高亮显示
- nvim-tree/nvim-web-devicons: 各种特殊字符
- stevearc/aerial.nvim: 用于显示文件内符号大纲
- nvim-tree/nvim-tree.lua: 用于显示文件列表,文件浏览
- akinsho/bufferline.nvim: 用于在插件内跳转打开新文件时,把新文件当作新标签
- nvim-lualine/lualine.nvim: 用于显示各种状态,比如插入模式,编辑模式等
neovim 0.9+ xsel/pbcopy(可选)
xsel/pbcopy可实现neovim复制的内容到系统剪切板, linux系统下使用xsel,macos使用pbcopy
git clone https://github.com/leeyeel/vim-config.git ~/.config/nvim
安装完成后使用nvim启动,nvim会自动安装所需插件
如果需要自己添加插件,可在lua/plugin.lua文件中,
require("lazy").setup()后追加一行自己的插件即可,注意要版本兼容。
- alt + m: 打开或关闭文件浏览
- alt + l: 打开或关闭大纲浏览
- ctl + h: 查看上一个标签
- ctl + l: 查看下一个标签
- ctl + n: 补全时选中下个候选
- ctl + n: 补全时选中上个候选
- lsp server安装
使用:LspInstall xxx 命令即可
- compile_commands.json 文件生成
lsp的跳转依赖compile_commands.json, 在CMake及Make工具链下生成compile_commands.json略有不同,CMake下生成可通过添加
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
选项开启, Make工具链下可在make前添加bear命令:
baer -- make
测bear生成效果更好,因为bear可以捕获真实的编译命令,所以通常 比CMake生成的compile_commands.json更完整。