LazyVim 使用
在使用 Neovim 之前,我也花费了大量的时间进行配置自己的 Neovim 体系,无论是插件,快捷键还是 UI,都花费了大量的心思。 但是维护一套自己的配置说实话很费时间,例如插件的更新,版本升级等。
LazyVim 是一款已经 集成了大量插件的 Neovim 软件。 基本做到了开箱即用,方便快捷,大量的默认配置减少了上手时间,唯一的缺点可能就是快捷键不是自己熟悉的那套,需要修改或者适应。
安装
LazyVim 的安装其实很简单,首先打开官方的启动模板 LazyVim/starter。 点击右上角 Use this template ,将模板 fork 成为自己的仓库。 接下来就是备份本地原有的配置,将自己的仓库 clone 下来。
简单来说就是一个命令进行备份 另外一个命令进行 clone。 这部分可以直接参考官方网站对于安装的介绍文档。
安装完成之后,启动就是一个已经有了大量基础配置的 neovim 了,基本做到了开箱即用。
完成 LazyVim 的配置,记得看一下是否系统安装了 fzf。
配置说明
在 LazyVim 的项目中,配置可以分成两大块:基础配置(config) 和 插件(plugins)。
config 配置
config 配置主要是一些基础的配置,文件夹内区分了四个文件, 分别是基础配置(options.lua),快捷键配置(keymaps.lua),自动化命令(autocmds.lua)和 lazy 初始化配置。
plugins 配置
默认 LazyVim 已经集成了很多插件,有的已经默认开启,有的需要手动开启。如果需要覆盖原有的插件配置或者安装新的插件, 可以在该文件夹下直接填写相关配置,最后在外层的 init.lua 中添加即可。
快捷键
LazyVim 已经集成了大量的插件,并且默认了很多快捷键。默认的 Leader 为 空格。可以针对自己的习惯修改快捷键,也可以直接按下 Leader 来查看快捷键。
默认的快捷键我认为是比较合理,而且使用几次基本也会记住,这里我除了修改了一下 blink 候选提示的上下选择之后,并没有做其他修改。 默认的快捷键也可以在官方文档中找到 keymaps
LazyExtras
LazyVim 一些默认的插件已经启用,但是除了默认插件,还有一些其他插件可以根据具体的情况按需使用。
通过 :LazyExtras
命令可以查看其他扩展插件。如果有自己使用的,需要的可以直接通过 x
进行启用。
需要注意的是启用后需要重新启动一些 neovim。
自动命令
LazyVim 中自带了一些配置,例如 tab 为 2,在一些缩进比较多语言中,tab 为 2是比较友好的,例如 lua,但是对于一些项目,尤其是很团队合作的项目, tab 改成2 就会让代码一团乱。
在 options.lua
中新增一些 tab 相关的配置。
local opt = vim.opt
opt.expandtab = true
opt.tabstop = 4
opt.shiftwidth = 4
opt.softtabstop = 4
同时为了让 lua 还保持 tab 为2的缩进,在 autocmds.lua
中新增自动化命令。
vim.api.nvim_create_autocmd("FileType", {
pattern = { "lua" },
callback = function()
vim.opt_local.expandtab = true
vim.opt_local.tabstop = 2
vim.opt_local.shiftwidth = 2
vim.opt_local.softtabstop = 2
end,
})
还有一个就是中文拼写问题,默认的 spell 一直检查,尤其是在进行 markdown 的时候,大量的波浪线导致编辑的感官太差,可以新增命令来解决。
vim.api.nvim_create_autocmd("FileType", {
pattern = { "markdown", "txt" },
callback = function()
vim.opt_local.spell = false
end,
})
vscode 使用 LazyVim
LazyVim 对 vscode 支持比较好,并且 vscode-neovim 也推荐使用 lazyvim。通过这个插件,可以让我们在 Vscode 中加载一些 Neovim 的插件,做到一个配置两处使用。
首先需要在 LazyExtras 中打开 Vscode 。 然后在 Vscode 中安装 Vscode Neovim 插件。
在 LazyVim 中可以通过 vim.g.vscode
来判断当前的运行环境。
首先是对快捷键进行配置,比如常用的重命名、格式化等。
local map = vim.keymap.set
if vim.g.vscode then
map("n", "<leader>cf", "<Cmd>lua require('vscode').call('editor.action.formatDocument')<CR>", { desc = "Format" })
map("v", "<leader>cf", "<Cmd>lua require('vscode').call('editor.action.formatSelection')<CR>", { desc = "Format" })
map("n", "<leader>cr", "<Cmd>lua require('vscode').call('editor.action.rename')<CR>", { desc = "Rename" })
end
Golang 开发
针对 Golang 开发,首先就是语言的相关配置:
- LSP:通过
Mason
安装gopls
; - Testing: 通过
LazyExtras
进行安装test.core
; - DAP: 通过
Mason
安装dlv
。
安装完成就可以进行编辑,运行,测试和调试。
可以通过 <Leader>tr
进行测试运行。
通过 <Leader>db
进行打断点。
通过 <Leader>dc
进行 Debug 运行。
相关内容
如果你觉得这篇文章对你有所帮助,欢迎赞赏~
赞赏