Skip to content

Debugging

timvim provides full Debug Adapter Protocol (DAP) support with a visual debug UI. Controls live under Space d, and the most common actions also have single-press function-key shortcuts.

Breakpoints & stepping

Key F-key Action
<leader>db F8 Toggle breakpoint (persistent)
<leader>dc F5 Continue
<leader>dv F9 Step over
<leader>dn F10 Step into
F11 Step out
<leader>dt F12 Run to cursor
<leader>dq Shift+F5 Terminate
Shift+F8 Clear all breakpoints

Conditional breakpoints

<leader>dB sets a conditional breakpoint and <leader>dL sets a log point — handy for narrowing down without stopping every iteration.

The debug UI

Key F-key Action
<leader>du Shift+F9 Toggle the DAP UI
<leader>dr Toggle the REPL
<leader>dh Hover to inspect a value
<leader>dR Restart the session
<leader>d. Run last

Python debugging

Key Action
<leader>dl Start / continue local debugging
<leader>da Attach to a remote Python debugger
<leader>ds Show debug status
<leader>di Check the debugpy installation
<leader>dk Kill hanging debug processes

Remote attach

<leader>da prompts for a port at runtime, defaulting to the last used value (or 9000). Pair it with a debugpy listener in your application.

Debugging tests

Neotest integrates with DAP — press <leader>Td to debug the nearest test.