docs(vim): document input and heading navigation
- commit
- 0afb76ec1451dfea76e756f63beef3af305412bc
- author
- brice · · 2026-08-14 13:55 UTC
- parent
- fc18cde
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
3 files · +41 -9
M docs/config/index.md +17 -2
| @@ -433,6 +433,18 @@ desc = "Scroll page down fast" | |||
| 433 | 433 | keys = ["shift+k"] | |
| 434 | 434 | desc = "Scroll page up fast" | |
| 435 | 435 | ||
| 436 | + | [workspace.vim_mode.actions.focus-input] | |
| 437 | + | keys = ["gi"] | |
| 438 | + | desc = "Focus next page input" | |
| 439 | + | ||
| 440 | + | [workspace.vim_mode.actions.heading-next] | |
| 441 | + | keys = ["]]"] | |
| 442 | + | desc = "Jump to next heading" | |
| 443 | + | ||
| 444 | + | [workspace.vim_mode.actions.heading-prev] | |
| 445 | + | keys = ["[["] | |
| 446 | + | desc = "Jump to previous heading" | |
| 447 | + | ||
| 436 | 448 | [workspace.vim_mode.actions.confirm] | |
| 437 | 449 | keys = ["enter"] | |
| 438 | 450 | desc = "Confirm action" | |
| @@ -443,9 +455,12 @@ desc = "Cancel/exit mode" | |||
| 443 | 455 | ``` | |
| 444 | 456 | ||
| 445 | 457 | Notes: | |
| 446 | - | - Vim Mode scrolls the active webpage inside the active pane only. | |
| 447 | - | - The default `timeout_ms = 0` means Vim Mode stays active until you exit it or focus moves into an editable/browser UI context. | |
| 458 | + | - Vim Mode scrolls and navigates the active webpage inside the active pane only. | |
| 459 | + | - `gi` focuses the next visible editable page input, starting at the first when no input is active and wrapping after the last. | |
| 460 | + | - `]]` and `[[` move through visible `h1`–`h6` headings and use the current Dumber theme accent for the selected-heading outline. | |
| 461 | + | - The default `timeout_ms = 0` means Vim Mode stays active until you exit it or focus moves into an editable/browser UI context. `Ctrl+Y` can still activate it when a page input is already focused. | |
| 448 | 462 | - Arrow keys still use the browser engine's native page-navigation path while Vim Mode is active. | |
| 463 | + | - `Tab` and `Shift+Tab` keep focus traversal inside the page while a page input is focused. | |
| 449 | 464 | - Other app-level shortcuts stay suspended until Vim Mode exits, except for the Vim Mode toggle itself. | |
| 450 | 465 | - `workspace.styling.pane_mode_color`, `workspace.styling.transition_duration`, and `workspace.styling.mode_indicator_toaster_enabled` control the pane-local Vim Mode visuals. | |
| 451 | 466 | - Scroll execution: CEF and WebKit both use the shared `BuildPageScrollByJS` resolver when the page is ready. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. The application repeater owns held-key cadence; each engine executes one immediate scroll step per tick. Cross-origin frame contents remain best-effort. CEF may use native precision-wheel input only as a pre-frame fallback before the browser/main frame is ready. | |
| @@ -433,6 +433,18 @@ desc = "Scroll page down fast" | |||||
| 433 | keys = ["shift+k"] | 433 | keys = ["shift+k"] | ||
| 434 | desc = "Scroll page up fast" | 434 | desc = "Scroll page up fast" | ||
| 435 | 435 | ||||
| 436 | + | [workspace.vim_mode.actions.focus-input] | |||
| 437 | + | keys = ["gi"] | |||
| 438 | + | desc = "Focus next page input" | |||
| 439 | + | ||||
| 440 | + | [workspace.vim_mode.actions.heading-next] | |||
| 441 | + | keys = ["]]"] | |||
| 442 | + | desc = "Jump to next heading" | |||
| 443 | + | ||||
| 444 | + | [workspace.vim_mode.actions.heading-prev] | |||
| 445 | + | keys = ["[["] | |||
| 446 | + | desc = "Jump to previous heading" | |||
| 447 | + | ||||
| 436 | [workspace.vim_mode.actions.confirm] | 448 | [workspace.vim_mode.actions.confirm] | ||
| 437 | keys = ["enter"] | 449 | keys = ["enter"] | ||
| 438 | desc = "Confirm action" | 450 | desc = "Confirm action" | ||
| @@ -443,9 +455,12 @@ desc = "Cancel/exit mode" | |||||
| 443 | ``` | 455 | ``` | ||
| 444 | 456 | ||||
| 445 | Notes: | 457 | Notes: | ||
| 446 | - | - Vim Mode scrolls the active webpage inside the active pane only. | 458 | + | - Vim Mode scrolls and navigates the active webpage inside the active pane only. |
| 447 | - | - The default `timeout_ms = 0` means Vim Mode stays active until you exit it or focus moves into an editable/browser UI context. | 459 | + | - `gi` focuses the next visible editable page input, starting at the first when no input is active and wrapping after the last. |
| 460 | + | - `]]` and `[[` move through visible `h1`–`h6` headings and use the current Dumber theme accent for the selected-heading outline. | |||
| 461 | + | - The default `timeout_ms = 0` means Vim Mode stays active until you exit it or focus moves into an editable/browser UI context. `Ctrl+Y` can still activate it when a page input is already focused. | |||
| 448 | - Arrow keys still use the browser engine's native page-navigation path while Vim Mode is active. | 462 | - Arrow keys still use the browser engine's native page-navigation path while Vim Mode is active. | ||
| 463 | + | - `Tab` and `Shift+Tab` keep focus traversal inside the page while a page input is focused. | |||
| 449 | - Other app-level shortcuts stay suspended until Vim Mode exits, except for the Vim Mode toggle itself. | 464 | - Other app-level shortcuts stay suspended until Vim Mode exits, except for the Vim Mode toggle itself. | ||
| 450 | - `workspace.styling.pane_mode_color`, `workspace.styling.transition_duration`, and `workspace.styling.mode_indicator_toaster_enabled` control the pane-local Vim Mode visuals. | 465 | - `workspace.styling.pane_mode_color`, `workspace.styling.transition_duration`, and `workspace.styling.mode_indicator_toaster_enabled` control the pane-local Vim Mode visuals. | ||
| 451 | - Scroll execution: CEF and WebKit both use the shared `BuildPageScrollByJS` resolver when the page is ready. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. The application repeater owns held-key cadence; each engine executes one immediate scroll step per tick. Cross-origin frame contents remain best-effort. CEF may use native precision-wheel input only as a pre-frame fallback before the browser/main frame is ready. | 466 | - Scroll execution: CEF and WebKit both use the shared `BuildPageScrollByJS` resolver when the page is ready. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. The application repeater owns held-key cadence; each engine executes one immediate scroll step per tick. Cross-origin frame contents remain best-effort. CEF may use native precision-wheel input only as a pre-frame fallback before the browser/main frame is ready. | ||
M docs/getting-started.md +6 -4
| @@ -16,7 +16,7 @@ Dumber uses modal keybindings inspired by Zellij: | |||
| 16 | 16 | |------|------------|---------| | |
| 17 | 17 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | |
| 18 | 18 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | |
| 19 | - | | Vim Mode | `Ctrl+Y` | Scroll the active webpage with `h/j/k/l` and `Shift+J/K`; arrow keys stay native and other app shortcuts wait until exit | | |
| 19 | + | | Vim Mode | `Ctrl+Y` | Scroll, navigate headings, and focus page inputs with Vim-style commands; arrow keys stay native and page focus stays inside the page while other app shortcuts wait until exit | | |
| 20 | 20 | | Resize Mode | `Ctrl+N` | Resize pane splits | | |
| 21 | 21 | | Session Mode | `Ctrl+O` | Session management | | |
| 22 | 22 | ||
| @@ -36,9 +36,11 @@ Vim Mode stays local to the active pane and automatically leaves the mode when f | |||
| 36 | 36 | 2. Use `h`, `j`, `k`, `l` to scroll left, down, up, or right | |
| 37 | 37 | 3. Use `Shift+J` / `Shift+K` for faster vertical jumps | |
| 38 | 38 | 4. Arrow keys continue to use the browser engine's native page navigation while Vim Mode is active | |
| 39 | - | 5. Other app-level shortcuts stay suspended until you leave Vim Mode | |
| 40 | - | 6. Press `Escape` or `Enter` to leave the mode | |
| 41 | - | 7. If a page input or editor is already focused, `Ctrl+Y` is passed through instead of stealing the keypress | |
| 39 | + | 5. Use `gi` to cycle through visible page inputs; use `]]` and `[[` to move through headings | |
| 40 | + | 6. `Tab` and `Shift+Tab` traverse focusable page controls while a page input is focused | |
| 41 | + | 7. Other app-level shortcuts stay suspended until you leave Vim Mode | |
| 42 | + | 8. Press `Escape` or `Enter` to leave the mode | |
| 43 | + | 9. `Ctrl+Y` can activate Vim Mode even when a page input or editor is already focused | |
| 42 | 44 | ||
| 43 | 45 | > **Engine behavior**: CEF and WebKit execute Vim Mode scroll steps with the | |
| 44 | 46 | > shared `BuildPageScrollByJS` resolver (viewport-center start, nested-scroller | |
| @@ -16,7 +16,7 @@ Dumber uses modal keybindings inspired by Zellij: | |||||
| 16 | |------|------------|---------| | 16 | |------|------------|---------| | ||
| 17 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | 17 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | ||
| 18 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | 18 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | ||
| 19 | - | | Vim Mode | `Ctrl+Y` | Scroll the active webpage with `h/j/k/l` and `Shift+J/K`; arrow keys stay native and other app shortcuts wait until exit | | 19 | + | | Vim Mode | `Ctrl+Y` | Scroll, navigate headings, and focus page inputs with Vim-style commands; arrow keys stay native and page focus stays inside the page while other app shortcuts wait until exit | |
| 20 | | Resize Mode | `Ctrl+N` | Resize pane splits | | 20 | | Resize Mode | `Ctrl+N` | Resize pane splits | | ||
| 21 | | Session Mode | `Ctrl+O` | Session management | | 21 | | Session Mode | `Ctrl+O` | Session management | | ||
| 22 | 22 | ||||
| @@ -36,9 +36,11 @@ Vim Mode stays local to the active pane and automatically leaves the mode when f | |||||
| 36 | 2. Use `h`, `j`, `k`, `l` to scroll left, down, up, or right | 36 | 2. Use `h`, `j`, `k`, `l` to scroll left, down, up, or right | ||
| 37 | 3. Use `Shift+J` / `Shift+K` for faster vertical jumps | 37 | 3. Use `Shift+J` / `Shift+K` for faster vertical jumps | ||
| 38 | 4. Arrow keys continue to use the browser engine's native page navigation while Vim Mode is active | 38 | 4. Arrow keys continue to use the browser engine's native page navigation while Vim Mode is active | ||
| 39 | - | 5. Other app-level shortcuts stay suspended until you leave Vim Mode | 39 | + | 5. Use `gi` to cycle through visible page inputs; use `]]` and `[[` to move through headings |
| 40 | - | 6. Press `Escape` or `Enter` to leave the mode | 40 | + | 6. `Tab` and `Shift+Tab` traverse focusable page controls while a page input is focused |
| 41 | - | 7. If a page input or editor is already focused, `Ctrl+Y` is passed through instead of stealing the keypress | 41 | + | 7. Other app-level shortcuts stay suspended until you leave Vim Mode |
| 42 | + | 8. Press `Escape` or `Enter` to leave the mode | |||
| 43 | + | 9. `Ctrl+Y` can activate Vim Mode even when a page input or editor is already focused | |||
| 42 | 44 | ||||
| 43 | > **Engine behavior**: CEF and WebKit execute Vim Mode scroll steps with the | 45 | > **Engine behavior**: CEF and WebKit execute Vim Mode scroll steps with the | ||
| 44 | > shared `BuildPageScrollByJS` resolver (viewport-center start, nested-scroller | 46 | > shared `BuildPageScrollByJS` resolver (viewport-center start, nested-scroller | ||
M docs/reference/keybindings.md +18 -3
| @@ -8,12 +8,12 @@ Dumber uses modal keybindings inspired by Zellij. Press a mode activation key, t | |||
| 8 | 8 | |------|-----|---------| | |
| 9 | 9 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | |
| 10 | 10 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | |
| 11 | - | | Vim Mode | `Ctrl+Y` | Scroll the active webpage with `h/j/k/l` and `Shift+J/K`; arrow keys stay native and other app shortcuts wait until exit | | |
| 11 | + | | Vim Mode | `Ctrl+Y` | Scroll, navigate headings, and focus page inputs with Vim-style commands; arrow keys stay native and page focus stays inside the page while other app shortcuts wait until exit | | |
| 12 | 12 | | Resize Mode | `Ctrl+N` | Resize pane splits | | |
| 13 | 13 | | Session Mode | `Ctrl+O` | Session management | | |
| 14 | 14 | ||
| 15 | 15 | Press `Escape` or `Enter` to exit any mode. | |
| 16 | - | Vim Mode activation is passed through when the focused webpage element is already editable, so browser-page editors keep their own `Ctrl+Y` behavior. | |
| 16 | + | `Ctrl+Y` can activate Vim Mode even when a page input is already focused, so you can use Vim commands without first moving focus away from the editor. | |
| 17 | 17 | ||
| 18 | 18 | Keybinding tables use uppercase letters as visual labels for unshifted letter keys. In config, use lowercase (for example, `["w"]` for Pane Mode eject). Shifted keys are shown with an explicit `Shift+` prefix. | |
| 19 | 19 | ||
| @@ -55,10 +55,12 @@ Keybinding tables use uppercase letters as visual labels for unshifted letter ke | |||
| 55 | 55 | ||
| 56 | 56 | ## Vim Mode (`Ctrl+Y`) | |
| 57 | 57 | ||
| 58 | - | Vim Mode is an explicit Vim-style scrolling mode for the active pane only. It applies a pane-local accent from `workspace.styling.pane_mode_color`, and when `workspace.styling.mode_indicator_toaster_enabled` is true, shows a persistent bottom-left `VIM MODE` toaster while the mode is active; the toaster hides on exit, when the mode is toggled off, or when the toaster is disabled in config. The mode exits automatically when focus moves into the omnibox, find bar, overlays, or an editable element inside the page. The default `timeout_ms` is `0`, so Vim Mode does not auto-time out unless you configure one. Arrow keys continue to flow through the browser engine's native page-navigation path while Vim Mode is active, while other app-level shortcuts stay suspended until you leave the mode. | |
| 58 | + | Vim Mode is an explicit Vim-style navigation mode for the active pane only. It applies a pane-local accent from `workspace.styling.pane_mode_color`, and when `workspace.styling.mode_indicator_toaster_enabled` is true, shows a persistent bottom-left `VIM MODE` toaster while the mode is active; the toaster hides on exit, when the mode is toggled off, or when the toaster is disabled in config. The mode exits automatically when focus moves into the omnibox, find bar, overlays, or an editable element inside the page. The default `timeout_ms` is `0`, so Vim Mode does not auto-time out unless you configure one. Arrow keys continue to flow through the browser engine's native page-navigation path while Vim Mode is active, while other app-level shortcuts stay suspended until you leave the mode. `Ctrl+Y` remains available when an editable page control is already focused. | |
| 59 | 59 | ||
| 60 | 60 | CEF and WebKit execute Vim Mode scroll commands (`h/j/k/l`, `Shift+J/K`) with the shared `BuildPageScrollByJS` resolver. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. Cross-origin frame contents remain best-effort. | |
| 61 | 61 | ||
| 62 | + | `gi` focuses the next visible, editable page input. With no eligible input focused it starts at the first one; repeated `gi` commands cycle through the inputs. `]]` and `[[` move through visible `h1`–`h6` headings and outline the selected heading with the current Dumber theme accent. When a page input is focused, `Tab` and `Shift+Tab` keep focus traversal inside the page; traversal stops safely at the page boundaries instead of moving into the host window. | |
| 63 | + | ||
| 62 | 64 | | Action | Keys | | |
| 63 | 65 | |--------|------| | |
| 64 | 66 | | Scroll left | `H` | | |
| @@ -67,6 +69,10 @@ CEF and WebKit execute Vim Mode scroll commands (`h/j/k/l`, `Shift+J/K`) with th | |||
| 67 | 69 | | Scroll right | `L` | | |
| 68 | 70 | | Scroll down fast | `Shift+J` | | |
| 69 | 71 | | Scroll up fast | `Shift+K` | | |
| 72 | + | | Focus next page input | `gi` | | |
| 73 | + | | Next heading | `]]` | | |
| 74 | + | | Previous heading | `[[` | | |
| 75 | + | | Page focus traversal | `Tab`, `Shift+Tab` | | |
| 70 | 76 | | Confirm | `Enter` | | |
| 71 | 77 | | Cancel | `Escape` | | |
| 72 | 78 | ||
| @@ -159,6 +165,15 @@ keys = ["shift+j"] | |||
| 159 | 165 | [workspace.vim_mode.actions.vim-scroll-up-fast] | |
| 160 | 166 | keys = ["shift+k"] | |
| 161 | 167 | ||
| 168 | + | [workspace.vim_mode.actions.focus-input] | |
| 169 | + | keys = ["gi"] | |
| 170 | + | ||
| 171 | + | [workspace.vim_mode.actions.heading-next] | |
| 172 | + | keys = ["]]"] | |
| 173 | + | ||
| 174 | + | [workspace.vim_mode.actions.heading-prev] | |
| 175 | + | keys = ["[["] | |
| 176 | + | ||
| 162 | 177 | [workspace.shortcuts.actions.close-pane] | |
| 163 | 178 | keys = ["ctrl+w"] | |
| 164 | 179 | ||
| @@ -8,12 +8,12 @@ Dumber uses modal keybindings inspired by Zellij. Press a mode activation key, t | |||||
| 8 | |------|-----|---------| | 8 | |------|-----|---------| | ||
| 9 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | 9 | | Pane Mode | `Ctrl+P` | Split, close, focus panes | | ||
| 10 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | 10 | | Tab Mode | `Ctrl+T` | Create, close, switch tabs | | ||
| 11 | - | | Vim Mode | `Ctrl+Y` | Scroll the active webpage with `h/j/k/l` and `Shift+J/K`; arrow keys stay native and other app shortcuts wait until exit | | 11 | + | | Vim Mode | `Ctrl+Y` | Scroll, navigate headings, and focus page inputs with Vim-style commands; arrow keys stay native and page focus stays inside the page while other app shortcuts wait until exit | |
| 12 | | Resize Mode | `Ctrl+N` | Resize pane splits | | 12 | | Resize Mode | `Ctrl+N` | Resize pane splits | | ||
| 13 | | Session Mode | `Ctrl+O` | Session management | | 13 | | Session Mode | `Ctrl+O` | Session management | | ||
| 14 | 14 | ||||
| 15 | Press `Escape` or `Enter` to exit any mode. | 15 | Press `Escape` or `Enter` to exit any mode. | ||
| 16 | - | Vim Mode activation is passed through when the focused webpage element is already editable, so browser-page editors keep their own `Ctrl+Y` behavior. | 16 | + | `Ctrl+Y` can activate Vim Mode even when a page input is already focused, so you can use Vim commands without first moving focus away from the editor. |
| 17 | 17 | ||||
| 18 | Keybinding tables use uppercase letters as visual labels for unshifted letter keys. In config, use lowercase (for example, `["w"]` for Pane Mode eject). Shifted keys are shown with an explicit `Shift+` prefix. | 18 | Keybinding tables use uppercase letters as visual labels for unshifted letter keys. In config, use lowercase (for example, `["w"]` for Pane Mode eject). Shifted keys are shown with an explicit `Shift+` prefix. | ||
| 19 | 19 | ||||
| @@ -55,10 +55,12 @@ Keybinding tables use uppercase letters as visual labels for unshifted letter ke | |||||
| 55 | 55 | ||||
| 56 | ## Vim Mode (`Ctrl+Y`) | 56 | ## Vim Mode (`Ctrl+Y`) | ||
| 57 | 57 | ||||
| 58 | - | Vim Mode is an explicit Vim-style scrolling mode for the active pane only. It applies a pane-local accent from `workspace.styling.pane_mode_color`, and when `workspace.styling.mode_indicator_toaster_enabled` is true, shows a persistent bottom-left `VIM MODE` toaster while the mode is active; the toaster hides on exit, when the mode is toggled off, or when the toaster is disabled in config. The mode exits automatically when focus moves into the omnibox, find bar, overlays, or an editable element inside the page. The default `timeout_ms` is `0`, so Vim Mode does not auto-time out unless you configure one. Arrow keys continue to flow through the browser engine's native page-navigation path while Vim Mode is active, while other app-level shortcuts stay suspended until you leave the mode. | 58 | + | Vim Mode is an explicit Vim-style navigation mode for the active pane only. It applies a pane-local accent from `workspace.styling.pane_mode_color`, and when `workspace.styling.mode_indicator_toaster_enabled` is true, shows a persistent bottom-left `VIM MODE` toaster while the mode is active; the toaster hides on exit, when the mode is toggled off, or when the toaster is disabled in config. The mode exits automatically when focus moves into the omnibox, find bar, overlays, or an editable element inside the page. The default `timeout_ms` is `0`, so Vim Mode does not auto-time out unless you configure one. Arrow keys continue to flow through the browser engine's native page-navigation path while Vim Mode is active, while other app-level shortcuts stay suspended until you leave the mode. `Ctrl+Y` remains available when an editable page control is already focused. |
| 59 | 59 | ||||
| 60 | CEF and WebKit execute Vim Mode scroll commands (`h/j/k/l`, `Shift+J/K`) with the shared `BuildPageScrollByJS` resolver. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. Cross-origin frame contents remain best-effort. | 60 | CEF and WebKit execute Vim Mode scroll commands (`h/j/k/l`, `Shift+J/K`) with the shared `BuildPageScrollByJS` resolver. Each step starts under the viewport center, walks up through ancestors that can move in the requested direction, and hands scrolling to the document when a nested container reaches its boundary. Cross-origin frame contents remain best-effort. | ||
| 61 | 61 | ||||
| 62 | + | `gi` focuses the next visible, editable page input. With no eligible input focused it starts at the first one; repeated `gi` commands cycle through the inputs. `]]` and `[[` move through visible `h1`–`h6` headings and outline the selected heading with the current Dumber theme accent. When a page input is focused, `Tab` and `Shift+Tab` keep focus traversal inside the page; traversal stops safely at the page boundaries instead of moving into the host window. | |||
| 63 | + | ||||
| 62 | | Action | Keys | | 64 | | Action | Keys | | ||
| 63 | |--------|------| | 65 | |--------|------| | ||
| 64 | | Scroll left | `H` | | 66 | | Scroll left | `H` | | ||
| @@ -67,6 +69,10 @@ CEF and WebKit execute Vim Mode scroll commands (`h/j/k/l`, `Shift+J/K`) with th | |||||
| 67 | | Scroll right | `L` | | 69 | | Scroll right | `L` | | ||
| 68 | | Scroll down fast | `Shift+J` | | 70 | | Scroll down fast | `Shift+J` | | ||
| 69 | | Scroll up fast | `Shift+K` | | 71 | | Scroll up fast | `Shift+K` | | ||
| 72 | + | | Focus next page input | `gi` | | |||
| 73 | + | | Next heading | `]]` | | |||
| 74 | + | | Previous heading | `[[` | | |||
| 75 | + | | Page focus traversal | `Tab`, `Shift+Tab` | | |||
| 70 | | Confirm | `Enter` | | 76 | | Confirm | `Enter` | | ||
| 71 | | Cancel | `Escape` | | 77 | | Cancel | `Escape` | | ||
| 72 | 78 | ||||
| @@ -159,6 +165,15 @@ keys = ["shift+j"] | |||||
| 159 | [workspace.vim_mode.actions.vim-scroll-up-fast] | 165 | [workspace.vim_mode.actions.vim-scroll-up-fast] | ||
| 160 | keys = ["shift+k"] | 166 | keys = ["shift+k"] | ||
| 161 | 167 | ||||
| 168 | + | [workspace.vim_mode.actions.focus-input] | |||
| 169 | + | keys = ["gi"] | |||
| 170 | + | ||||
| 171 | + | [workspace.vim_mode.actions.heading-next] | |||
| 172 | + | keys = ["]]"] | |||
| 173 | + | ||||
| 174 | + | [workspace.vim_mode.actions.heading-prev] | |||
| 175 | + | keys = ["[["] | |||
| 176 | + | ||||
| 162 | [workspace.shortcuts.actions.close-pane] | 177 | [workspace.shortcuts.actions.close-pane] | ||
| 163 | keys = ["ctrl+w"] | 178 | keys = ["ctrl+w"] | ||
| 164 | 179 | ||||