Neovim + LazyVim 安装教程
适用环境:Ubuntu 24.04 / x86_64,SSH 连接远程服务器
目录
1. 环境确认
# 查看系统版本
cat /etc/os-release
# 查看架构
uname -m
# 查看是否已安装 Neovim
which nvim
nvim --version
# 检查必要工具
which curl wget git tar make gcc unzip
要求:LazyVim 需要 Neovim ≥ 0.9.0,推荐 0.10+。
代理配置(可选)
如果服务器位于墙内,下载可能很慢,可以启用代理:
# 你的代理命令(示例)
proxy_on
# 验证代理是否生效
curl -s https://api.github.com/repos/neovim/neovim/releases/latest | head -5
2. 安装 Neovim 最新稳定版
Ubuntu 24.04 官方 apt 源的 Neovim 版本太旧(0.4.3),不要用 apt 安装。推荐使用官方预编译 tarball。
2.1 获取最新版本号
curl -s https://api.github.com/repos/neovim/neovim/releases/latest | grep '"tag_name"'
示例输出:"tag_name": "v0.12.2"
2.2 下载 tarball
cd /tmp
curl -fSL -o nvim-linux64.tar.gz \
https://github.com/neovim/neovim/releases/download/v0.12.2/nvim-linux-x86_64.tar.gz
注意:将
v0.12.2替换为实际的最新版本号。如果是 ARM 架构(如树莓派),将x86_64改为arm64。
2.3 安装到系统
# 解压
tar xzf nvim-linux64.tar.gz
# 安装到 /usr/local(需要 sudo)
sudo rm -rf /usr/local/share/nvim /usr/local/lib/nvim /usr/local/bin/nvim
sudo cp -r nvim-linux-x86_64/* /usr/local/
# 验证
nvim --version
无 sudo 方案:也可以安装到
~/.local:mkdir -p ~/.local cp -r nvim-linux-x86_64/* ~/.local/ # 确保 ~/.local/bin 在 PATH 中
3. 安装系统依赖
LazyVim 和一些常用插件需要以下工具:
sudo apt-get update
sudo apt-get install -y ripgrep fd-find xclip xsel
| 工具 | 用途 |
|---|---|
ripgrep |
Telescope 模糊搜索(全文搜索) |
fd-find |
Telescope 模糊搜索(文件搜索) |
xclip / xsel |
系统剪贴板支持(本地桌面可用时) |
4. 安装 LazyVim
4.1 备份现有配置(如果有)
# 如果已有配置,先备份
mv ~/.config/nvim ~/.config/nvim.bak.$(date +%Y%m%d)
mv ~/.local/share/nvim ~/.local/share/nvim.bak.$(date +%Y%m%d)
mv ~/.local/state/nvim ~/.local/state/nvim.bak.$(date +%Y%m%d)
mv ~/.cache/nvim ~/.cache/nvim.bak.$(date +%Y%m%d)
4.2 克隆 LazyVim Starter
git clone https://github.com/LazyVim/starter.git ~/.config/nvim
4.3 移除模板的 Git 记录
rm -rf ~/.config/nvim/.git
这样你的配置就是独立的,而不是 GitHub 模板的一个 fork。你可以自己初始化 Git 仓库来管理配置。
4.4 配置目录结构
~/.config/nvim/
├── init.lua # 入口文件
├── lua/
│ ├── config/
│ │ ├── options.lua # 编辑器选项
│ │ ├── keymaps.lua # 快捷键
│ │ ├── autocmds.lua # 自动命令
│ │ └── lazy.lua # 插件管理器配置
│ └── plugins/
│ ├── example.lua # 示例插件配置
│ └── *.lua # 你的插件配置
5. 配置剪贴板(SSH 关键)
问题:通过 SSH 连接远程服务器时,系统剪贴板无法直接使用,
"+y会报错。
5.1 解决方案:OSC 52
OSC 52 是一种终端转义序列协议,可以通过 SSH 将文本从远程 Neovim 传送到本地剪贴板。大多数现代终端模拟器都支持(iTerm2、kitty、Alacritty、Windows Terminal、WezTerm 等)。
5.2 配置方法
编辑 ~/.config/nvim/lua/config/options.lua:
-- 使用系统剪贴板("+" 寄存器)
vim.opt.clipboard = "unnamedplus"
-- 配置 OSC 52 剪贴板支持(SSH 场景)
-- 如果没有 xclip/xsel 可用,使用内置 OSC 52
if vim.fn.executable("xclip") ~= 1 and vim.fn.executable("xsel") ~= 1 then
vim.g.clipboard = {
name = "osc52",
copy = {
["+"] = require("vim.ui.clipboard").osc52,
["*"] = require("vim.ui.clipboard").osc52,
},
paste = {
["+"] = require("vim.ui.clipboard").osc52,
["*"] = require("vim.ui.clipboard").osc52,
},
}
end
说明:Neovim 0.10+ 内置了 OSC 52 支持。本教程安装的 v0.12.2 完全支持。
5.3 使用方法
启用后,在 Neovim 中:
yy— 复制当前行(自动到系统剪贴板)yiw— 复制当前单词"+y— 显式复制到系统剪贴板p— 粘贴
在 SSH 终端中,这些操作会将文本发送到你的本地机器剪贴板。
5.4 本地终端要求
| 终端 | 是否支持 OSC 52 |
|---|---|
| iTerm2 (macOS) | ✅ 默认支持 |
| kitty | ✅ 默认支持 |
| Alacritty | ✅ 默认支持 |
| WezTerm | ✅ 默认支持 |
| Windows Terminal | ✅ 默认支持 |
| tmux | ⚠️ 需要配置 set -g set-clipboard on |
| macOS 终端 | ⚠️ 部分支持 |
6. 首次运行与插件安装
6.1 直接启动(交互式)
nvim
首次启动会自动:
- 下载
lazy.nvim插件管理器 - 下载 LazyVim 核心及所有预置插件(约 30+ 插件)
- 安装 Treesitter 解析器
首次安装需要联网,耗时取决于网速。如果遇到网络问题,请启用代理。
6.2 静默安装(非交互式)
nvim --headless "+Lazy! sync" +qa
6.3 安装进度查看
Lazy.nvim 的 UI 界面:
<Space>l或:Lazy— 打开插件管理器I— 安装新插件U— 更新插件S— 同步插件X— 清理未使用的插件
7. 验证安装
# 检查 Neovim 版本
nvim --version | head -3
# 检查插件数量
ls ~/.local/share/nvim/lazy/ | wc -l
# 检查健康状态
nvim --headless "+checkhealth" +qa
剪贴板测试
在 Neovim 中:
1. 输入一些文本
2. 按 V 进入可视行模式,选中文本
3. 按 y 复制(注意观察终端是否有提示)
4. 在本地机器的文本编辑器中按 Ctrl+V(或 Cmd+V)
8. 日常使用技巧
8.1 LazyVim 常用快捷键
| 快捷键 | 功能 |
|---|---|
<Space> |
空格键作为 Leader 键,调出 which-key 菜单 |
<Space>ff |
查找文件(Telescope) |
<Space>fg |
全文搜索(Telescope) |
<Space>fb |
查找缓冲区 |
<Space>e |
文件浏览器 |
<Space>lr |
LazyVim 插件更新 |
<Space>th |
切换主题 |
gd |
跳转到定义(LSP) |
K |
查看文档(LSP) |
<Space>ca |
代码动作(Code Action) |
<Space>sr |
替换文本 |
8.2 自定义配置
在 ~/.config/nvim/lua/plugins/ 下创建 .lua 文件即可添加插件:
-- ~/.config/nvim/lua/plugins/my-plugin.lua
return {
"作者/插件名",
config = function()
-- 插件配置
end,
}
8.3 更新 LazyVim
nvim --headless "+Lazy! update" +qa
或在 Neovim 中执行 :Lazy update。
9. 常见问题
Q: 启动报错 “Failed to clone lazy.nvim”
网络问题,请启用代理后重试:
proxy_on
nvim
Q: 剪贴板不工作 / "+y 报错
- 确认终端模拟器支持 OSC 52(见 5.4 节)
- 如果在 tmux 内,需要添加配置:
set -g set-clipboard on - 也可以在本地终端中测试 OSC 52 支持:
echo -e "\e]52;c;$(echo "test" | base64)\a"
Q: 插件安装失败
# 清理所有插件后重新安装
rm -rf ~/.local/share/nvim/lazy
nvim
Q: 想恢复到默认设置
# 备份当前配置
mv ~/.config/nvim ~/.config/nvim.bak.$(date +%Y%m%d)
# 重新克隆
git clone https://github.com/LazyVim/starter.git ~/.config/nvim
rm -rf ~/.config/nvim/.git
nvim
Q: LSP 自动补全不工作
LazyVim 使用 Mason 自动管理 LSP 服务器。首次打开文件时会提示安装:
:LspInfo — 查看当前 LSP 状态
:Mason — 打开 Mason 管理界面
或在 ~/.config/nvim/lua/plugins/ 中手动配置 LSP:
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
pyright = {}, -- Python
rust_analyzer = {}, -- Rust
gopls = {}, -- Go
-- 更多 LSP 配置
},
setup = {},
},
},
}
教程信息:适用 Neovim v0.12.2 + LazyVim 最新版
最后更新:2026-06-04
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com