感觉这个东西配起来十分的恶心,我打算按照官方的操作来做一遍。

一方面自己大四闲的要死,找点事做总是好的,另一方面网络上确实关于 lazyvim 的教程要么收费,要么浅尝辄止没有深入或系统的指导,所以我自己开个坑,希望能系统而全面的介绍在 windows 系统下的对于 LazyVim 和 NeoVim 的使用和书写方法。

当然我也没学过 lua,若有不够严谨的地方多多包涵。

# Windows Terminal

首先我们参考官方推荐的在 Windows 使用的终端。

推荐安装 Windows Terminal,然后再打开系统自带的 PowerShell,这里可以直接在开始菜单搜索 Power Shell,效果如下:

neovim1

然后可以去 Nerd Font 中下载自己感兴趣的字体,这里我使用的是 JetBrainsMono Nerd Font, 解压安装包,双击其中一个 ttf 文件,点击安装。然后重新打开 PowerShell,点击上方的倒三角,点击设置,即可设置字体。

# NeoVim 安装

官网安装。
我的 Windows 杂七杂八安装了太多东西,例如 WSL,所以有的问题可能我没遇到但是作者提及了。

在 Windows 上,我建议使用 Windows Linux 子系统 (WSL) 并在其中进行所有开发。WSL 远远超出了本书的讨论范围,但微软和许多在线教程都对它进行了详尽的说明。选择兼容 WSL 的 Linux 发行版、进行设置并在所选终端中运行后,即可按照以下 Linux 说明安装 Neovim。

如果您有理由(或偏好)在原生 Windows 上进行开发,最简单的方法是从 GitHub 上的 neovim/neovim 存储库的发布部分获取 MSI 安装程序。

如果您已经使用 Winget、Chocolatey 或 Scoop 来管理 Windows 机器上的包,那么它们每个中都有一个 Neovim 包。

请注意,如果您使用的 Windows 系统没有 WSL,则还需要安装 C 编译器才能获得 treesitter 支持(这基本上意味着更好的语法高亮和代码导航支持)。遗憾的是,这并非易事。相关文档已记录在 nvim-treesitter/nvim-treesitter GitHub 仓库中,因此我在此不再赘述。

这里可以先跳过这个所谓的 C 语言编译的板块,后面遇到了再做处理。

# 安装 LazyVim

一般我们涉及到的文件夹是在 C:\Users\你的名字\AppData\Local 下的 nvim (自己创建的) 和 nvim-data 文件夹,这里先对它们进行清空。
然后我们便可以克隆 LazyVim 的启动模板,然后删除.git 文件夹(要是 powershell 内删不了直接手动定位过去删除一样的)

1
2
git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force

在 PowerShell 中输入 nvim 回车,等待它下载。


然后就进入到 LazyVim 界面了

按 l 键可以进入插件管理界面,Lazy.nvim 拥有众多实用功能,其中最引人注目的是仅在需要时加载插件(因此得名 “Lazy”),这样你的编辑器启动速度就能飞快。它还拥有一个美观的用户界面,方便管理插件的安装和更新。如下图所示

# 插件的安装

# markdown-preview

我自己有写日志的习惯,所以我首先安装了对于 Markdown 的相关配置
我在这个网站搜索 markdown,并选择了 markdown-preview 插件,然后我们可以看到它提供的相关代码:

接下来我们可以在./lua/plugins/ 下创建 markdown-preview.lua 文件,并在文件中写入 return 加上大括号里面的内容即可。同时我们也可以进入它提供的 github 的官网。在 MarkdownPreview Config 中可以看到它默认的配置和相关的键位。这里我认为 MarkdownPreview 指令太长了,于是我改了一下键位,并且设置了不自动预览和当离开 markdown buffer 时 Zion 给关闭浏览器预览。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
return {
"iamcco/markdown-preview.nvim",
build = "cd app && npm install",
ft = { "markdown" },
cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" },
init = function()
vim.g.mkdp_auto_start = 0
vim.g.mkdp_auto_close = 1
vim.g.mkdp_refresh_slow = 0
vim.g.mkdp_open_to_the_world = false
vim.g.mkdp_browser = ""
vim.g.mkdp_theme = "dark"
end,
keys = {
{ "<leader>mp", "<cmd>MarkdownPreviewToggle<cr>", desc = "Toggle Markdown Preview" },
},
}

# 中文标红的解决

在写 markdown 文档时我发现中文的字符往往由于拼写检查标红了。我又添加了拼写检查英文、中日韩都合法的操作,完整的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
return {
"iamcco/markdown-preview.nvim",
build = "cd app && npm install",
ft = { "markdown" },
cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" },
init = function()
vim.g.mkdp_auto_start = 0
vim.g.mkdp_auto_close = 1
vim.g.mkdp_refresh_slow = 0
vim.g.mkdp_open_to_the_world = false
vim.g.mkdp_browser = ""
vim.g.mkdp_theme = "dark"
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
callback = function()
vim.opt.spell = true
vim.opt.spelllang = { "en", "cjk" }
end,
})
end,
keys = {
{ "<leader>mp", "<cmd>\begin{figure}
\centering
\includegraphics[width=1\linewidth]{bioPic.png}
\caption{Human Liver和Stereo-seq的空间域划分}
\label{fig:enter-label}
\end{figure}MarkdownPreviewToggle<cr>", desc = "Toggle Markdown Preview" },
},
}\begin{figure}
\centering
\includegraphics[width=1\linewidth]{bioPic.png}
\caption{Human Liver和Stereo-seq的空间域划分}
\label{fig:enter-label}
\end{figure}

# 配置 AI

在 PowerShell 中输入 nvim 回车,输入 x 进入 Lazy Extras,然后找到 copilot,定位到对应的位置输入 x 启用。重新进入 nvim。输入 :Copilot auth 启用账户并按照提示操作,具体是找到对应的弹窗,进入它提示的网址,输入弹窗给出的验证码进入 github 进行验证。验证完毕后即可使用。具体操作我简单试了一下 Copilot-bot,应该还具有代码补全的操作:

# 个性化的一些设置

# 打开 terminal 时自动定位到当前文件夹

考虑到跑 python 代码时,重新 ding