From bc0c2e0cae1ef39f58460ae256e3f2510bd3f46c Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Fri, 12 Apr 2024 08:05:38 +0200 Subject: [PATCH] Extend Vim default keybindings (#10461) This implements some of #10457. Release notes: - Added `g c c` and `g c` to Vim keybindings to toggle comments in normal and visual mode respectively. - Added `g ]` and `g [` to Vim keybindings to go to next and previous diagnostic error. - Changed `[ x` and `] x` (which select larger/smaller syntax node) in Vim mode to also work in visual mode. --- assets/keymaps/vim.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/assets/keymaps/vim.json b/assets/keymaps/vim.json index 020bfe578db79dcb1b67431cf1d0db8ff6fb3c32..3ce9865d00507920d43b9d2efeb1c8dc26ef2532 100644 --- a/assets/keymaps/vim.json +++ b/assets/keymaps/vim.json @@ -234,6 +234,8 @@ "displayLines": true } ], + "g ]": "editor::GoToDiagnostic", + "g [": "editor::GoToPrevDiagnostic", "shift-h": "vim::WindowTop", "shift-m": "vim::WindowMiddle", "shift-l": "vim::WindowBottom", @@ -367,6 +369,15 @@ "< <": "vim::Outdent", "ctrl-pagedown": "pane::ActivateNextItem", "ctrl-pageup": "pane::ActivatePrevItem", + // tree-sitter related commands + "[ x": "editor::SelectLargerSyntaxNode", + "] x": "editor::SelectSmallerSyntaxNode" + } + }, + { + "context": "Editor && vim_mode == visual && vim_operator == none && !VimWaiting", + "bindings": { + // tree-sitter related commands "[ x": "editor::SelectLargerSyntaxNode", "] x": "editor::SelectSmallerSyntaxNode" } @@ -532,6 +543,18 @@ ] } }, + { + "context": "Editor && vim_mode == normal", + "bindings": { + "g c c": "editor::ToggleComments" + } + }, + { + "context": "Editor && vim_mode == visual", + "bindings": { + "g c": "editor::ToggleComments" + } + }, { "context": "Editor && vim_mode == insert", "bindings": {