Neovim 新手入門:安裝、Normal/Insert 模式、儲存退出與 lazy.nvim 外掛
安裝 nvim,切換基本模式,安全儲存或退出,並用 lazy.nvim 搭可擴充設定。
想在終端里快速改設定、搜日志、SSH 到远程机,又不愿每次开图形 IDE,Neovim 是 Vim 的现代分支:默认终端运行、可脚本化、插件生态活跃。本教程覆盖 安裝、Normal/Insert 模式、儲存退出,并介绍用 lazy.nvim 管理插件的最小配置,面向 hereink 读者常用的本地开发环境。
檢索詞是Neovim 新手入门:安装、基本模式、保存退出与 lazy.nvim。讀完应能启动 nvim、在模式间切换、安全保存或放弃修改,并有一个可扩展的 init.lua 起点。
Neovim 解决什么问题
终端里就能改文件
SSH 进服务器、在 tmux 里、或在 CI 容器里,GUI 编辑器往往不可用。Neovim 在纯终端完成编辑、搜索与宏,和 rg、git 同一工作流。
配置即代码
设置写在 ~/.config/nvim/init.lua(或 init.vim),可版本控制、团队共享。插件管理器如 lazy.nvim 按需加载,启动比老式「一次装全」更快。
官方文档:
neovim.io/doc。安装后运行nvim --version确认版本;内置:help是最完整的参考。
在 macOS、Linux 与 Windows 安装
- 1macOS(Homebrew)
執行
brew install neovim。驗證:which nvim与nvim --version。若已有旧版 Vim,nvim命令不会覆盖系统vi。 - 2Linux 發行版包
Debian/Ubuntu:
sudo apt update && sudo apt install neovim。Fedora:sudo dnf install neovim。Arch:sudo pacman -S neovim。仓库版本偏旧时,可从 GitHub Releases 下载 AppImage 或 tarball。 - 3Windows
Scoop:
scoop install neovim;或winget install Neovim.Neovim。安装后在新终端运行nvim。 - 4第一次启动
在项目目录执行
nvim .開啟当前目录文件树(需插件才好用;裸 Neovim 可先nvim README.md)。按i進入插入模式试打几个字,再按Esc回到 Normal。
基本模式:Normal、Insert、Visual
| 模式 | 如何进入 | 典型用途 |
|---|---|---|
| Normal | 默认;按 Esc 返回 | 移动光标、删除、复制、运行命令(dd、yy、p) |
| Insert | i 光标前、a 光标后、o 下方新行 | 输入文字 |
| Visual | v 字符选区、V 行选区 | 选中后 d 删除、y 复制 |
| Command | : 进入命令行 | :w 保存、:q 退出、:help 查文档 |
保存、退出与放弃修改
# 在 Normal 模式下输入(冒号会出现在底部)
:w " 保存当前文件
:q " 退出(有未保存修改时会拒绝)
:wq 或 :x " 保存并退出
:q! " 强制退出,丢弃未保存修改
ZZ " Normal 下大写 ZZ:保存并退出(等同 :wq)多文件时用 :wqa 全部保存、:qa! 全部放弃退出。文件名在启动参数里:nvim src/main.ts。
用 lazy.nvim 引入插件(入门)
lazy.nvim 是 Neovim 常用的 Lua 插件管理器:宣告式配置、懒加载、内置更新命令。最小步骤:
- 1建立配置目录
mkdir -p ~/.config/nvim。主文件为~/.config/nvim/init.lua。 - 2寫入 bootstrap
在
init.lua粘贴 lazy 官方安装段(从github.com/folke/lazy.nvim的 README「Installation」复制),它会克隆 lazy 到~/.local/share/nvim/lazy/lazy.nvim。 - 3声明第一个插件
在
require("lazy").setup({ ... })里加一项,例如 treesitter 或 gruvbox 主题;保存后重启nvim,lazy 会自动安装。 - 4日常命令
在 Neovim 里运行
:Lazy打开管理 UI;:Lazy sync同步插件列表。详见 lazy 仓库文档。
-- ~/.config/nvim/init.lua 结构示意(bootstrap 段请以官方 README 为准)
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
-- … 官方 git clone 引导 …
require("lazy").setup({
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
{ "ellisonleao/gruvbox.nvim" },
})- 適合
- 经常在终端和远程机改代码、希望配置可版本控制、愿意花一次学习 Normal/Insert 的开发者。
- 不適合
- 必须 WYSIWYG 排版或重度 GUI 重构;团队统一 VS Code 且无人维护 Neovim 配置时。
Neovim 和 Vim 有什么差異?
Neovim 是 Vim 的分支,默认启用更多现代特性(内置 LSP 客户端、Lua 配置一等等)。多数 Vim 键位在 Neovim 仍有效;插件生态以 Lua 为主。
为什么 :q 退不出?
通常是有未保存修改。用 :wq 保存退出,或 :q! 放弃。多个窗口时用 :qa 或 :qa!。
lazy.nvim 和 packer 选哪个?
2026 年新配置更常选 lazy.nvim(维护活跃、内置 UI)。已有 packer 配置可继续用;本教程只演示 lazy 入门路径。
终端配好后,對齊一张架构图
本地编辑器顺手之后,服务边界仍适合摊在同一张白板上。见 如何建立空間。