Skip to main content
Avante.nvim provides comprehensive keybindings for all plugin actions. This guide covers all default keybindings and how to customize them.

Default Keybindings

Global Actions

File Management

Suggestion Actions

Diff Navigation

Jump Actions

Submit/Cancel Actions

Confirm Window Actions

Customizing Keybindings

All keybindings can be customized through the mappings configuration:

Safe Keymap Setting

Avante.nvim uses safe keymap setting by default. If a keybinding is already in use, Avante will not override it.
To disable auto-setting of keymaps:
When auto_set_keymaps = false, you’ll need to manually set all keybindings.

Manual Keybinding Setup

If you disable automatic keymaps, set them manually:
Some keybindings are only active when the sidebar is open:
table | nil
Close sidebar from input window:
table | nil
Toggle code window from input:

Conflict Mapping Customization

Customize diff conflict resolution mappings:

Timeout Override

Avoid operator-pending mode issues with diff mappings:

Prompt Logger Keybindings

Navigate through prompt logs:

Example: Vim-Style Keybindings

Use Vim-style hjkl for navigation:

Example: Minimal Keybindings

Minimal setup with only essential keybindings:

Integration with Other Plugins

NvimTree Integration

Add files from NvimTree to Avante:

Commands vs Keybindings

All keybindings have corresponding commands: Use commands directly if you prefer:

Tips

Use :verbose map <leader>aa to check if a keybinding is already in use before setting it.
The ask, new_ask, and other top-level mappings are only set if behaviour.auto_set_keymaps = true.
Sidebar-specific mappings (like apply_all, retry_user_request) are always active when the sidebar is focused.