Neovim 中最常见、最实用的操作, 主要针对C++ 开发需求:
基础操作
操作 |
快捷键 |
说明 |
保存 |
:w 或 ZZ |
保存当前文件 |
退出 |
:q 或 ZQ |
退出当前窗口 |
保存并退出 |
:wq 或 ZZ |
保存并退出 |
强制退出 |
:q! |
不保存直接退出 |
撤销 |
u |
撤销上一步 |
重做 |
|
重做撤销 |
搜索 |
/xxx |
向下搜索 xxx |
搜索下一个 |
n |
向后查找下一个匹配 |
替换 |
:%s/foo/bar/g |
全文替换 foo 为 bar |
️ 窗口 & buffer 操作
操作 |
快捷键 |
说明 |
水平分屏 |
:split 或 :sp |
|
垂直分屏 |
:vsplit 或 :vsp |
|
切换窗口 |
h/j/k/l |
切换到上下左右窗口 |
新 buffer |
:e 文件名 |
|
切换 buffer |
:bnext , :bprev |
|
关闭 buffer |
:bd |
|
项目管理(使用插件如 telescope
, nvim-tree
)
功能 |
快捷键(建议) |
插件 |
打开文件树 |
e |
nvim-tree |
文件模糊搜索 |
ff |
telescope |
查找函数/变量 |
fs |
telescope |
列出打开的 buffer |
fb |
telescope |
打开大纲视图 |
o |
symbols-outline.nvim 或 aerial.nvim |
LSP 功能(代码跳转、诊断)
(这些依赖你已经安装 LSP,比如 clangd)
操作 |
快捷键(常见) |
插件 |
跳转定义 |
gd |
内置 LSP |
跳转声明 |
gD |
|
跳转实现 |
gi |
|
查找引用 |
gr |
|
弹出文档 |
K |
|
格式化代码 |
f |
null-ls , clang-format |
显示诊断信息 |
e |
|
代码重命名 |
rn |
|
代码操作(修复) |
ca |
|
调试(DAP)
你已安装 nvim-dap
+ nvim-dap-ui
,推荐快捷键如下:
功能 |
快捷键 |
启动调试 |
|
断点切换 |
|
单步跳过 |
|
单步进入 |
|
单步跳出 |
|
重启调试 |
dr |
停止调试 |
dq |
✍️ 插入模式快捷操作
快捷键 |
功能 |
|
光标移动到行首 |
|
光标移动到行尾 |
|
删除光标前字符 |
|
删除前一个单词 |
|
删除光标到行首 |
插件操作(Lazy.nvim)
操作 |
命令 |
打开插件管理界面 |
:Lazy |
安装插件 |
:Lazy install |
更新插件 |
:Lazy update |
同步插件 |
:Lazy sync |
检查插件状态 |
:Lazy health |
✅ 建议设置的一些常用快捷键
vim.keymap.set("n", "", ":w")
vim.keymap.set("n", "e", ":NvimTreeToggle")
vim.keymap.set("n", "ff", ":Telescope find_files")
vim.keymap.set("n", "fg", ":Telescope live_grep")
vim.keymap.set("n", "", function() require("dap").continue() end)
vim.keymap.set("n", "", function() require("dap").toggle_breakpoint() end)