Leader 键: , | 配色: Solarized Dark | 字体: Hack Nerd Font Mono
./install.sh # 自动检测 nvim/vim,安装依赖、Nerd Font
brew upgrade neovim # 建议升级到 0.11+
首次启动 Neovim 会自动通过 lazy.nvim 安装所有插件。Mason 会自动下载 LSP 服务器(clangd, rust_analyzer, pyright, jdtls, lua_ls)。
查看所有快捷键: 按任意前缀键后等待 500ms,which-key 会弹出提示面板。
| 按键 |
功能 |
VS Code |
Ctrl-b |
开关文件树 |
Cmd+B 切换侧栏 |
<Space>nn |
开关文件树(同上) |
— |
,n |
在文件树中定位当前文件 |
— |
,m |
关闭文件树 |
— |
<Space>to |
聚焦文件树窗口 |
— |
文件树内操作: a 新建文件, d 删除, r 重命名, c/p 复制/粘贴, Enter 打开。
| 按键 |
功能 |
← / → |
上/下一个缓冲区 |
[b / ]b |
上/下一个缓冲区(同上) |
Ctrl-n |
Telescope 缓冲区列表 |
| 按键 |
功能 |
,wa |
保存所有文件 |
,ae |
统一设为 UTF-8 + Unix 换行 |
,dir |
为当前文件创建父目录 |
自动保存: 切换窗口 (FocusLost) 或退出插入模式 (InsertLeave) 时自动保存。
| 按键 |
功能 |
VS Code |
Ctrl-p |
搜索文件 |
Cmd+P Quick Open |
,f |
全文搜索 (live grep) |
Cmd+Shift+F |
Ctrl-n |
缓冲区列表 |
— |
<Space>c |
命令列表 |
Cmd+Shift+P |
<Space>j |
Jumplist |
— |
<Space>p |
恢复上次搜索 |
— |
<Space>o |
文档符号 (LSP) |
Cmd+Shift+O |
<Space>s |
工作区符号 (LSP) |
Cmd+T |
,st |
搜索所有 TODO/FIXME 注释 |
— |
Telescope 内: Esc 关闭, Ctrl-j/k 上下选择, Enter 确认, Ctrl-v 垂直分屏打开, Ctrl-x 水平分屏打开。
| 按键 |
功能 |
s |
输入字符后跳转到匹配位置 |
S |
Treesitter 结构选择(选中函数/类等) |
s 是此配置中最强大的移动方式之一:按 s,输入目标字符,然后按提示标签直接跳转。
| 按键 |
功能 |
af / if |
函数外部/内部 |
ac / ic |
类外部/内部 |
]m / [m |
下/上一个函数 |
示例: daf 删除整个函数, vif 选中函数体, yac 复制整个类。
当 LSP 服务器就绪后(右下角 fidget 显示进度),以下快捷键在代码文件中可用:
| 按键 |
功能 |
gd |
跳转到定义 |
gy |
跳转到类型定义 |
gi |
跳转到实现 |
gr |
查看所有引用 (Trouble 面板) |
K |
悬浮文档 |
Ctrl-o 跳回上一个位置, Ctrl-i 跳到下一个位置。
| 按键 |
功能 |
VS Code |
F2 / ,rn |
重命名符号 (全项目) |
F2 |
,ac |
代码操作 (自动导入、提取函数等) |
Cmd+. |
,a |
代码操作 (可视模式下) |
— |
,qf |
快速修复 (自动应用首选方案) |
— |
,af |
格式化代码 |
Shift+Alt+F |
| 按键 |
功能 |
[g / ]g |
上/下一个诊断 |
[t / ]t |
上/下一个 TODO 注释 |
| 语言 |
格式化工具 |
| Python |
ruff_format |
| Rust |
rustfmt |
| Go |
gofmt + goimports |
| C/C++ |
clang-format |
| Java |
google-java-format |
:Mason — 打开 Mason UI,查看/安装/更新 LSP 服务器
:LspInfo — 查看当前缓冲区的 LSP 状态
:LspLog — 查看 LSP 日志(调试用)
| 按键 |
功能 |
示例 |
ys{motion}{char} |
添加包围 |
ysiw" → word 变 "word" |
cs{old}{new} |
修改包围 |
cs"' → "hello" 变 'hello' |
ds{char} |
删除包围 |
ds" → "hello" 变 hello |
S{char} |
可视模式添加包围 |
选中后 S( → 加括号 |
Comment (注释)
| 按键 |
功能 |
gcc |
切换当前行注释 |
gc{motion} |
切换区域注释 (如 gcap 注释段落) |
gbc |
切换当前行块注释 |
gc |
可视模式下切换注释 |
选中多行后按 \=,然后: = 按等号对齐, : 按冒号对齐, <Space> 按空格对齐。
| 按键 |
功能 |
Tab |
下一个补全项 / 展开代码片段 |
Shift-Tab |
上一个补全项 |
Enter |
确认选择 |
Ctrl-Space |
手动触发补全 |
Ctrl-e |
关闭补全菜单 |
Ctrl-b / Ctrl-f |
滚动文档窗口 |
补全来源优先级: LSP > 代码片段 > 缓冲区 > 路径。
| 按键 |
功能 |
VS Code |
Alt-j |
当前行下移 |
Alt+↓ |
Alt-k |
当前行上移 |
Alt+↑ |
可视模式下同样生效,可以移动选中的多行。
| 按键 |
功能 |
jk |
退出插入模式 (代替 Esc) |
,u |
打开撤销历史树 |
Ctrl-R d |
插入当前日期 (2026-02-12 格式) |
. |
可视模式下重复上次操作 |
| 按键 |
功能 |
]c / [c |
下/上一个修改块 (hunk) |
,hs |
暂存当前修改块 |
,hr |
还原当前修改块 |
,hp |
预览当前修改块 |
,hb |
显示当前行的 blame 信息 |
| 按键 |
功能 |
<Space>gst |
Git 状态面板 |
<Space>gd |
Git diff (分屏对比) |
<Space>gbl |
Git blame (全文件) |
<Space>glol |
Git log (图形化) |
Fugitive 状态面板内: s 暂存, u 取消暂存, = 展开 diff, cc 提交。
| 按键 |
功能 |
<Space>a |
工作区所有诊断 |
<Space>d |
当前缓冲区诊断 |
<Space>q |
Quickfix 列表 |
<Space>l |
Location 列表 |
gr |
LSP 引用列表 |
| 按键 |
功能 |
[q / ]q |
上/下一个 quickfix 条目 |
[l / ]l |
上/下一个 location 条目 |
yoq |
开关 quickfix 窗口 |
Ctrl-j |
开关终端 (底部分屏,终端内也可用) |
代码中的 TODO, FIXME, HACK, NOTE, WARN 会被高亮显示。
| 按键 |
功能 |
]t / [t |
跳转到下/上一个 TODO |
,st |
Telescope 搜索所有 TODO |
| 插件 |
用途 |
加载时机 |
| solarized.nvim |
配色方案 |
启动时 |
| nvim-treesitter |
语法高亮 + 文本对象 |
启动时 |
| nvim-lspconfig |
LSP 客户端 |
打开文件 |
| mason.nvim |
LSP 服务器管理 |
:Mason |
| lazydev.nvim |
Lua/Neovim API 补全 |
打开 .lua 文件 |
| conform.nvim |
代码格式化 |
保存文件时 |
| nvim-lint |
代码检查 |
打开/保存文件 |
| nvim-cmp |
自动补全 |
启动时 |
| LuaSnip |
代码片段 |
补全时 |
| telescope.nvim |
模糊搜索 |
快捷键触发 |
| trouble.nvim |
诊断/引用面板 |
快捷键触发 |
| fidget.nvim |
LSP 进度指示器 |
LSP 就绪时 |
| nvim-tree.lua |
文件树 |
快捷键触发 |
| lualine.nvim |
状态栏 |
启动时 |
| bufferline.nvim |
缓冲区标签栏 |
启动时 |
| alpha-nvim |
启动界面 |
启动时 |
| which-key.nvim |
快捷键提示 |
启动时 |
| dressing.nvim |
美化选择/输入 UI |
启动时 |
| gitsigns.nvim |
Git 行级标记 |
打开文件 |
| vim-fugitive |
Git 命令 |
命令触发 |
| flash.nvim |
快速跳转 |
启动时 |
| nvim-surround |
包围编辑 |
启动时 |
| Comment.nvim |
注释 |
启动时 |
| nvim-autopairs |
括号自动配对 |
插入模式 |
| vim-easy-align |
文本对齐 |
快捷键触发 |
| undotree |
撤销历史树 |
快捷键触发 |
| todo-comments.nvim |
TODO 高亮 |
打开文件 |
| indent-blankline.nvim |
缩进参考线 |
打开文件 |
| nvim-colorizer.lua |
颜色代码预览 |
打开文件 |
| rainbow-delimiters.nvim |
彩虹括号 |
打开文件 |
| vim-repeat |
. 重复插件操作 |
启动时 |
掌握文本对象能极大提升编辑效率。格式: {操作}{范围}{对象}
| 命令 |
功能 |
ciw |
修改当前单词 (不含空格) |
caw |
修改当前单词 (含空格) |
ci" |
修改引号内内容 |
ci( |
修改括号内内容 |
ci{ |
修改花括号内内容 |
cit |
修改 HTML 标签内内容 |
cap |
修改整个段落 |
dap |
删除整个段落 |
yiw |
复制当前单词 |
vi{ |
选中花括号内内容 |
i = inner (不含分隔符), a = around (含分隔符)。c/d/y/v 都可搭配。
| 命令 |
功能 |
"ayy |
复制当前行到寄存器 a |
"ap |
粘贴寄存器 a 的内容 |
"Ayy |
追加到寄存器 a (大写) |
"+y |
复制到系统剪贴板 |
"0p |
粘贴上次复制的内容 (不受删除影响) |
:reg |
查看所有寄存器内容 |
"0 寄存器永远保存上次 y 复制的内容。删除 (d/x) 不会覆盖它。
| 命令 |
功能 |
qa |
开始录制宏到寄存器 a |
q |
停止录制 |
@a |
执行宏 a |
@@ |
重复上次执行的宏 |
10@a |
执行宏 a 10 次 |
| 命令 |
功能 |
ma |
在当前位置设标记 a |
`a |
跳转到标记 a (精确位置) |
'a |
跳转到标记 a (行首) |
`. |
跳转到上次修改的位置 |
`^ |
跳转到上次插入的位置 |
:marks |
查看所有标记 |
小写标记 (a-z) 是文件局部的,大写标记 (A-Z) 是全局的,可跨文件跳转。
| 命令 |
功能 |
Ctrl-v |
列选择 (块可视模式) |
Ctrl-v → I → 输入 → Esc |
多行同时插入 |
Ctrl-v → $A → 输入 → Esc |
多行行尾追加 |
gv |
重新选中上次的可视区域 |
o |
可视模式下切换选区起止端 |
Ctrl-v → g Ctrl-a |
递增数字序列 (1,2,3...) |
| 命令 |
功能 |
Ctrl-w v |
垂直分屏 |
Ctrl-w s |
水平分屏 |
Ctrl-w h/j/k/l |
切换到左/下/上/右窗口 |
Ctrl-w = |
均分窗口大小 |
Ctrl-w _ |
最大化当前窗口高度 |
Ctrl-w | |
最大化当前窗口宽度 |
Ctrl-w r |
轮换窗口位置 |
Ctrl-w T |
将当前窗口移到新标签页 |
| 命令 |
功能 |
:!command |
执行外部命令 |
:%!sort |
用 sort 处理整个文件 |
:'<,'>!sort |
用 sort 处理选中区域 |
:r !date |
插入命令输出 |
:earlier 5m |
回到 5 分钟前的状态 |
:later 5m |
前进到 5 分钟后的状态 |
g Ctrl-g |
显示光标位置/字数统计 |
| 命令 |
功能 |
:%s/old/new/gc |
全文替换(逐个确认) |
* |
搜索光标下的单词 |
# |
反向搜索光标下的单词 |
gn |
选中下一个搜索匹配 |
cgn |
修改下一个匹配 → 然后 . 重复 |
:noh |
清除搜索高亮 |
cgn + . 是最高效的多处替换方式: 先 * 搜索单词,cgn 修改第一个,然后 . 逐个替换,n 跳过。
| 命令 |
功能 |
Ctrl-a / Ctrl-x |
数字递增/递减 |
gf |
打开光标下的文件路径 |
gx |
用浏览器打开光标下的 URL |
J |
合并下一行到当前行 |
gJ |
合并行 (不加空格) |
g; / g, |
跳转到上/下一个修改位置 |
Ctrl-o / Ctrl-i |
跳转历史 后退/前进 |
zz / zt / zb |
当前行居中/顶部/底部 |
za |
切换折叠 |
= |
自动缩进 (如 =ap 缩进段落, gg=G 缩进全文) |
~ |
切换大小写 |
gU{motion} / gu{motion} |
转大写/小写 (如 gUiw) |
Ctrl-r = |
插入模式下计算表达式 |
:Lazy " 插件管理器 (安装/更新/清理)
:Mason " LSP 服务器管理
:Telescope " 搜索面板
:Trouble " 诊断面板
:ConformInfo " 查看格式化工具状态
:LspInfo " 查看 LSP 状态
:checkhealth " 健康检查 (排错必备)
:WhichKey " 查看所有快捷键映射