-
Notifications
You must be signed in to change notification settings - Fork 0
Keybindings
🌍 English · Polski · Français · Deutsch · 中文
Complete keyboard shortcut reference for ECLI. All bindings can be customized in config.toml under the [keybindings] section.
| Shortcut | Action |
|---|---|
Ctrl+N |
New file |
Ctrl+O |
Open file (file picker opens) |
Ctrl+S |
Save current file |
Ctrl+Shift+S |
Save as… |
Ctrl+W |
Close current buffer |
Ctrl+Q |
Quit ECLI (prompts if unsaved changes) |
| Shortcut | Action |
|---|---|
Arrow keys |
Move cursor one char/line |
Ctrl+Left / Ctrl+Right
|
Move by word |
Home / End
|
Start / end of line |
Ctrl+Home / Ctrl+End
|
Start / end of file |
Page Up / Page Down
|
Scroll one page |
Ctrl+G |
Go to line number (when no panel open) |
| Shortcut | Action |
|---|---|
Shift+Arrow |
Extend selection |
Ctrl+Shift+Arrow |
Extend selection by word |
Ctrl+A (no panel) |
Select all |
Esc |
Clear selection |
⚠️ Note:Ctrl+Atoggles the AI panel by default. Select-all usesCtrl+Shift+Ato avoid conflict. Configurable.
| Shortcut | Action |
|---|---|
Ctrl+C |
Copy selection |
Ctrl+X |
Cut selection |
Ctrl+V |
Paste |
Ctrl+Z |
Undo |
Ctrl+Y / Ctrl+Shift+Z
|
Redo |
Ctrl+D |
Duplicate current line |
Ctrl+K |
Cut current line to clipboard |
Ctrl+/ |
Toggle comment (uses CodeCommenter) |
Tab / Shift+Tab
|
Indent / dedent line or selection |
| Shortcut | Action |
|---|---|
Ctrl+F |
Find in file |
Ctrl+H |
Find and replace |
F3 / Shift+F3
|
Next / previous match |
Esc |
Close search |
ECLI has several side panels. They're opened by their shortcut and closed with Esc.
| Shortcut | Panel |
|---|---|
Ctrl+A |
AI Assistant — ask for code, explain, refactor |
Ctrl+G |
Git — status, stage, commit, push, pull, diff |
Ctrl+B |
File Manager — multi-pane file browser |
Ctrl+P |
Command Palette — fuzzy command finder |
Ctrl+L |
LSP Diagnostics — errors and warnings from language server |
F1 |
Help — keybinding reference and quick guide |
Only one panel is visible at a time. Opening a new one closes the current.
When a language server is active for the current file:
| Shortcut | Action |
|---|---|
F12 |
Go to definition |
Shift+F12 |
Find references |
Ctrl+Space |
Trigger autocomplete |
Ctrl+. |
Show code actions / quick fixes |
F2 |
Rename symbol |
Ctrl+Shift+F |
Format document |
When the Git panel is open (Ctrl+G):
| Shortcut | Action |
|---|---|
Enter |
View diff for current file |
s |
Stage selected file |
u |
Unstage selected file |
c |
Commit (opens message prompt) |
p |
Push |
f |
Fetch |
Tab |
Switch between status / log / branches view |
When the AI panel is open (Ctrl+A):
| Shortcut | Action |
|---|---|
Enter (in input) |
Submit prompt |
Shift+Enter |
New line in prompt |
Ctrl+Enter |
Insert AI response at cursor in editor |
Tab |
Cycle providers (if multiple configured) |
Override any shortcut in config.toml:
[keybindings]
# Disable AI panel default, swap to Ctrl+I
"ctrl+a" = "select_all"
"ctrl+i" = "panel:ai"
# Add a custom binding for Git status
"alt+g" = "panel:git"
# Disable a binding
"ctrl+w" = ""Available action names:
- File:
file:new,file:open,file:save,file:save_as,file:close,file:quit - Edit:
edit:copy,edit:cut,edit:paste,edit:undo,edit:redo,edit:duplicate_line,edit:cut_line,edit:toggle_comment - Search:
search:find,search:replace,search:next,search:prev - Panels:
panel:ai,panel:git,panel:files,panel:palette,panel:lsp,panel:help - LSP:
lsp:goto_definition,lsp:find_references,lsp:autocomplete,lsp:code_actions,lsp:rename,lsp:format - Selection:
selection:all,selection:clear - Cursor:
cursor:line_start,cursor:line_end,cursor:file_start,cursor:file_end,cursor:goto_line
Restart ECLI after editing [keybindings].
If you want to see all default bindings explicitly:
ecli --print-default-keybindingsThis prints the [keybindings] section that ECLI uses internally.
ecli.io · PyPI · GitHub · Apache-2.0
ECLI — The Next-Generation Terminal IDE · © 2026 Siergej Sobolewski