LazyVim 默认集成了 nvim-dap 和 nvim-dap-ui,用于调试功能(DAP = Debug Adapter Protocol)。
📦 默认的调试插件(LazyVim 中)包括:
mfussenegger/nvim-dap:核心 DAP 支持rcarriga/nvim-dap-ui:图形化调试界面jay-babu/mason-nvim-dap.nvim:DAP 适配器安装器(配合 mason 使用)
🧩 默认快捷键(来自 LazyVim 的 which-key 配置)
在 Normal 模式下按 <leader>d 后,会显示 DAP 的全部快捷键,默认如下:
| 快捷键 | 功能说明 |
|---|---|
<leader>db | 切换断点(Toggle Breakpoint) |
<leader>dc | 启动或继续执行(Continue) |
<leader>dC | 运行到光标(Run to Cursor) |
<leader>di | 单步进入(Step Into) |
<leader>do | 单步跳出(Step Out) |
<leader>dO | 单步跳过(Step Over) |
<leader>dp | 暂停(Pause) |
<leader>dr | 重新开始调试(Restart) |
<leader>dq | 终止调试(Quit / Close) |
<leader>du | 打开/关闭 UI 窗口(Toggle UI) |
<leader>dh | 悬停查看变量(Hover) |
<leader>df | 查看栈帧(Frame) |
<leader>ds | 查看变量(Scopes) |
<leader>dl | 查看日志输出(REPL) |
🧭 查看所有 LazyVim 快捷键的方式
在 Neovim 中按:
<leader>dk
如果你有 which-key 插件,会列出所有和调试相关的命令。
🛠️ 附加建议
你可以通过执行以下命令查看当前启用的调试配置:
:lua require("dap").adapters
:lua require("dap").configurations
🧰 如果想自定义快捷键:
你可以在 ~/.config/nvim/lua/plugins/dap.lua(或类似)添加自定义 keymap,比如:
vim.keymap.set("n", "<F5>", function() require("dap").continue() end)
vim.keymap.set("n", "<F9>", function() require("dap").toggle_breakpoint() end)
换成 vscode 配置快捷键
return {
-- 这是一个配置模块,不安装新插件
{
"mfussenegger/nvim-dap",
config = function()
local dap = require("dap")
local dapui = require("dapui")
-- 你可以绑定调试相关的键位到 F 键
vim.keymap.set("n", "<F5>", function()
dap.continue()
end, { desc = "Debug: Start/Continue" })
vim.keymap.set("n", "<F9>", function()
dap.toggle_breakpoint()
end, { desc = "Debug: Toggle Breakpoint" })
vim.keymap.set("n", "<F10>", function()
dap.step_over()
end, { desc = "Debug: Step Over" })
vim.keymap.set("n", "<F11>", function()
dap.step_into()
end, { desc = "Debug: Step Into" })
vim.keymap.set("n", "<S-F11>", function()
dap.step_out()
end, { desc = "Debug: Step Out" })
vim.keymap.set("n", "<F12>", function()
dapui.toggle()
end, { desc = "Debug: Toggle UI" })
vim.keymap.set("n", "<S-F5>", function()
dap.terminate()
end, { desc = "Debug: Terminate" })
end,
},
}