基于 LazyVim 将 nvim 打造成 c++ IDE
工欲善其事,必先利其器. (以下这部分时废话)
从事 C++ 开发这么多年,一直都在用 vscode 作为 IDE, 其插件丰富以及优雅的 UI 交互让人爱不释手.直到有一天发现身边同事用 nvim 一通行云流水的操作,让我意识到自己过去的开发过程中,实际操作效率并不高.于是我决定有必要开始做些改变. 目前开源有不少非常优秀的 nvim 插件管理项目开箱即用,对于小白来说非常友好.但由于其默认集成了了不少通用插件,导致 nvim 启动的时候不够丝滑. 并且这些通用插件又未必都是你需要的,这时候你可能需要了解一些自定义安装插件的方法. 这几天花了一些时间将 nvim 打造成 c++ 开发利器,中间遇到不少坑,总结了些配置,仅供参考.
下载并安装 nvim
主要参考官方手册: https://github.com/neovim/neovim/blob/master/INSTALL.md
macos
brew install neovim
linux
sudo apt-get install neovim
基于 LazyVim 安装初始版本
如果你之前已经安装过 nvim, 为了保险起见,可以先备份或者删除;但确保本次启动前你的配置目录是干净的;
备份原有配置(必须)
mv ~/.config/nvim{,.bak}
备份插件及缓存(可选)
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}
克隆官方给的 starter, 这个项目只是一个空壳,主要是用于安装 lazy 以及默认的一些插件
git clone https://github.com/LazyVim/starter ~/.config/nvim
删除 .git 目录,后续你可以创建为自己的 git repo
rm -rf ~/.config/nvim/.git
nvim
首次启动效果如下:
接下来开始配置插件
lazyvim 安装完后,默认的目录结构如下,其中 config 目录下的文件是固定的,不可改变;每个文件对应的功能也有对应的解释,这里不再赘述. Plugins 目录是用来自定义插件的,这里的文件名无所谓, lazyvim 会自动扫描这个目录下的所有文件并尝试加载;
自定义主题
这里已经有一个 example.lua
,从这里入手,将文件改名为 default.lua
; 并安装自己喜欢的主题, 默认使用的是 tokyonightly
; 个人更喜欢 github_dark
;
-- Plugins/default.lua
return {
{ "projekt0n/github-nvim-theme" },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "github_dark",
},
},
}
设置 tab 宽度并显示空格,
-- config/options.lua
-- utf8
vim.g.encoding = "UTF-8"
-- 缩进4个空格等于一个Tab
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
-- >> << 时移动长度
vim.opt.shiftwidth = 4
-- 空格替代tab
vim.opt.expandtab = true
-- 不可见字符的显示,这里只把空格显示为一个点
vim.opt.listchars = "space:·"
-- 默认关闭保存文件时自动格式化
vim.g.autoformat = false
neo-tree 配置
默认情况下,neo-tree 不显示隐藏的文件和目录,但有时候我们是需要的;
return {
"nvim-neo-tree/neo-tree.nvim",
opts = {
filesystem = {
filtered_items = {
visible = true,
show_hidden_count = true,
hide_dotfiles = false,
hide_gitignored = true,
hide_by_name = {
--'.git', '.DS_Store', -- 'thumbs.db',
},
never_show = {'.git'},
},
}
}
}
No Comments