Documentation Index
Fetch the complete documentation index at: https://mintlify.com/yetone/avante.nvim/llms.txt
Use this file to discover all available pages before exploring further.
Avante.nvim provides comprehensive keybindings organized by category. All keymaps can be customized in your configuration.
Keymaps are only set if behaviour.auto_set_keymaps = true (default). Avante uses safe keymap setting, meaning existing mappings won’t be overridden.
Keymaps active when the Avante sidebar is focused.
| Key | Action | Description | Config Path |
|---|
| ]p | Next prompt | Navigate to next prompt in history | mappings.sidebar.next_prompt |
| [p | Previous prompt | Navigate to previous prompt in history | mappings.sidebar.prev_prompt |
| A | Apply all | Apply all suggested changes | mappings.sidebar.apply_all |
| a | Apply cursor | Apply change at cursor position | mappings.sidebar.apply_cursor |
| r | Retry request | Retry the last user request | mappings.sidebar.retry_user_request |
| e | Edit request | Edit the last user request | mappings.sidebar.edit_user_request |
| Tab | Switch windows | Switch between sidebar windows | mappings.sidebar.switch_windows |
| Shift+Tab | Reverse switch | Switch windows in reverse order | mappings.sidebar.reverse_switch_windows |
| Shift+Tab | Expand tool use | Expand tool usage details | mappings.sidebar.expand_tool_use |
| x | Toggle code window | Show/hide code window | mappings.sidebar.toggle_code_window |
| d | Remove file | Remove file from context | mappings.sidebar.remove_file |
| @ | Add file | Add file to context | mappings.sidebar.add_file |
| q | Close sidebar | Close the sidebar | mappings.sidebar.close |
Default Configuration:
mappings = {
sidebar = {
expand_tool_use = "<S-Tab>",
next_prompt = "]p",
prev_prompt = "[p",
apply_all = "A",
apply_cursor = "a",
retry_user_request = "r",
edit_user_request = "e",
switch_windows = "<Tab>",
reverse_switch_windows = "<S-Tab>",
toggle_code_window = "x",
remove_file = "d",
add_file = "@",
close = { "q" },
close_from_input = nil, -- e.g., { normal = "<Esc>", insert = "<C-d>" }
toggle_code_window_from_input = nil, -- e.g., { normal = "x", insert = "<C-;>" }
},
}
Source: lua/avante/config.lua:649-669
Global Keymaps
Keymaps available globally in normal and visual modes.
| Key | Action | Description | Config Path |
|---|
| Leaderaa | Ask | Ask AI about code | mappings.ask |
| Leaderan | New ask | Create new ask session | mappings.new_ask |
| Leaderaz | Zen mode | Toggle Zen Mode (full-screen chat) | mappings.zen_mode |
| Leaderae | Edit | Edit selected code blocks | mappings.edit |
| Leaderar | Refresh | Refresh sidebar | mappings.refresh |
| Leaderaf | Focus | Switch focus between windows | mappings.focus |
| LeaderaS | Stop | Stop current AI request | mappings.stop |
| Leaderat | Toggle | Toggle sidebar visibility | mappings.toggle.default |
| Leaderad | Toggle debug | Toggle debug mode | mappings.toggle.debug |
| LeaderaC | Toggle selection | Toggle selection hints | mappings.toggle.selection |
| Leaderas | Toggle suggestion | Toggle auto-suggestions | mappings.toggle.suggestion |
| LeaderaR | Toggle repomap | Show/hide repository map | mappings.toggle.repomap |
| Leadera? | Select model | Open model selector | mappings.select_model |
| Leaderah | Select history | Browse chat histories | mappings.select_history |
Default Configuration:
mappings = {
ask = "<leader>aa",
new_ask = "<leader>an",
zen_mode = "<leader>az",
edit = "<leader>ae",
refresh = "<leader>ar",
focus = "<leader>af",
stop = "<leader>aS",
toggle = {
default = "<leader>at",
debug = "<leader>ad",
selection = "<leader>aC",
suggestion = "<leader>as",
repomap = "<leader>aR",
},
select_model = "<leader>a?",
select_history = "<leader>ah",
}
Source: lua/avante/config.lua:635-648, 674-675
Suggestion Keymaps
Keymaps for auto-suggestion mode (insert mode).
These keymaps are only available when behaviour.auto_suggestions = true.
| Key | Action | Description | Config Path |
|---|
| Alt+l | Accept | Accept current suggestion | mappings.suggestion.accept |
| Alt+] | Next | Show next suggestion | mappings.suggestion.next |
| Alt+[ | Previous | Show previous suggestion | mappings.suggestion.prev |
| Ctrl+] | Dismiss | Dismiss current suggestion | mappings.suggestion.dismiss |
Default Configuration:
mappings = {
suggestion = {
accept = "<M-l>",
next = "<M-]>",
prev = "<M-[>",
dismiss = "<C-]>",
},
}
Source: lua/avante/config.lua:616-621
Diff Keymaps
Keymaps for resolving code conflicts.
| Key | Action | Description | Config Path |
|---|
| co | Choose ours | Accept current version | mappings.diff.ours |
| ct | Choose theirs | Accept incoming change | mappings.diff.theirs |
| ca | Choose all theirs | Accept all incoming changes | mappings.diff.all_theirs |
| cb | Choose both | Keep both versions | mappings.diff.both |
| cc | Choose cursor | Accept change at cursor | mappings.diff.cursor |
| ]x | Next conflict | Jump to next conflict | mappings.diff.next |
| [x | Previous conflict | Jump to previous conflict | mappings.diff.prev |
Default Configuration:
mappings = {
diff = {
ours = "co",
theirs = "ct",
all_theirs = "ca",
both = "cb",
cursor = "cc",
next = "]x",
prev = "[x",
},
}
Source: lua/avante/config.lua:607-615
Files Keymaps
Keymaps for managing files in the chat context.
| Key | Action | Description | Config Path |
|---|
| Leaderac | Add current | Add current buffer to context | mappings.files.add_current |
| LeaderaB | Add all buffers | Add all open buffers to context | mappings.files.add_all_buffers |
Default Configuration:
mappings = {
files = {
add_current = "<leader>ac",
add_all_buffers = "<leader>aB",
},
}
Source: lua/avante/config.lua:670-673
Submit & Cancel Keymaps
Keymaps for submitting or canceling actions.
| Key | Mode | Action | Config Path |
|---|
| Enter | Normal | Submit | mappings.submit.normal |
| Ctrl+s | Insert | Submit | mappings.submit.insert |
| Ctrl+c | Both | Cancel | mappings.cancel.normal / insert |
| Esc | Normal | Cancel | mappings.cancel.normal |
| q | Normal | Cancel | mappings.cancel.normal |
Default Configuration:
mappings = {
submit = {
normal = "<CR>",
insert = "<C-s>",
},
cancel = {
normal = { "<C-c>", "<Esc>", "q" },
insert = { "<C-c>" },
},
}
Source: lua/avante/config.lua:626-633
Jump Keymaps
Keymaps for jumping between sections.
| Key | Action | Description | Config Path |
|---|
| ]] | Next | Jump to next section | mappings.jump.next |
| [[ | Previous | Jump to previous section | mappings.jump.prev |
Default Configuration:
mappings = {
jump = {
next = "]]",
prev = "[[",
},
}
Source: lua/avante/config.lua:622-625
Confirm Keymaps
Keymaps for confirmation windows.
| Key | Action | Description | Config Path |
|---|
| Ctrl+wf | Focus window | Focus confirm window | mappings.confirm.focus_window |
| c | Confirm code | Confirm code changes | mappings.confirm.code |
| r | Confirm response | Confirm response | mappings.confirm.resp |
| i | Confirm input | Confirm input | mappings.confirm.input |
Default Configuration:
mappings = {
confirm = {
focus_window = "<C-w>f",
code = "c",
resp = "r",
input = "i",
},
}
Source: lua/avante/config.lua:676-681
Plug Mappings
Low-level plug mappings available for custom keybinding.
| Plug Mapping | Description | Modes |
|---|
<Plug>(AvanteAsk) | Ask AI | n, v |
<Plug>(AvanteAskNew) | New ask session | n, v |
<Plug>(AvanteChat) | Start chat | n, v |
<Plug>(AvanteEdit) | Edit selection | v |
<Plug>(AvanteRefresh) | Refresh windows | n |
<Plug>(AvanteFocus) | Switch focus | n |
<Plug>(AvanteBuild) | Build dependencies | n |
<Plug>(AvanteToggle) | Toggle sidebar | n |
<Plug>(AvanteToggleDebug) | Toggle debug | n |
<Plug>(AvanteToggleSelection) | Toggle selection | n |
<Plug>(AvanteToggleSuggestion) | Toggle suggestion | n |
<Plug>(AvanteConflictOurs) | Choose ours | n, v |
<Plug>(AvanteConflictTheirs) | Choose theirs | n, v |
<Plug>(AvanteConflictBoth) | Choose both | n, v |
<Plug>(AvanteConflictAllTheirs) | Choose all theirs | n, v |
<Plug>(AvanteConflictCursor) | Choose at cursor | n, v |
<Plug>(AvanteConflictNextConflict) | Next conflict | n |
<Plug>(AvanteConflictPrevConflict) | Previous conflict | n |
<Plug>(AvanteSelectModel) | Select model | n |
Example:
-- Custom keymap using plug mapping
vim.keymap.set('n', '<leader>ai', '<Plug>(AvanteAsk)', { desc = 'Avante Ask' })
vim.keymap.set('v', '<leader>ae', '<Plug>(AvanteEdit)', { desc = 'Avante Edit' })
Source: lua/avante/init.lua:89-119
Customization Example
require('avante').setup({
mappings = {
-- Change ask keymap
ask = "<leader>ai",
-- Disable auto keymaps
-- behaviour = { auto_set_keymaps = false },
-- Custom sidebar keymaps
sidebar = {
apply_all = "<leader>A",
apply_cursor = "<leader>a",
close = { "q", "<Esc>" },
},
-- Custom diff keymaps
diff = {
ours = "<leader>co",
theirs = "<leader>ct",
next = "]c",
prev = "[c",
},
-- Custom suggestion keymaps (insert mode)
suggestion = {
accept = "<C-l>",
next = "<C-j>",
prev = "<C-k>",
dismiss = "<C-h>",
},
},
})