Repository navigation
feat(linux-editor): Vim keybindings in the SQL editor - #3804
Merged
Merged
Conversation
… names next to a remote file
datlechin
enabled auto-merge (squash)
October 23, 2026 06:55
# Conflicts: # linux/ROADMAP.md # linux/crates/storage/tests/settings.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
vim-keybindings, off by default). Open editor tabs follow it at once.GtkSourceVimIMContext: normal, insert, replace and visual modes. A bar under the text shows the mode and the pending command.:wsaves as Ctrl+S does.:w namecreates that file next to the tab's file and leaves an existing one alone;:w! namereplaces it.:ereads the tab's file again and asks before it drops changes;:e!does not ask.:e nameopens a file in the tab as Open SQL File does.:qcloses the tab through the same prompts as Ctrl+W.:wqand:xsave, then close, and keep the tab when the save fails or is cancelled.:wqwaits on.file_write::create_filewrites a new file only when none has its name.docs/storage.md.Test plan
:q,:w,:wq(a failed write keeps the tab),:x,:w name,:w! name,:e,:e!,:e name;:qgoes through the workspace close prompts and closes its own tab.x,i, Escape andvin Vim; Ctrl+Return and Ctrl+Shift+Return run from normal and insert mode; Ctrl+/ and Ctrl+F from normal mode and the command line; Escape stays Vim's while a query runs;:wReturn saves and:qReturn asks to close; leaving insert mode closes the completion list and it stays closed in normal mode; turning Vim off gives completion back.verify.shbuild, test, lint, l10n and data;meson testunder xvfb as the CI fast job.Screenshots
Preferences → Editor, before and after:
The editor with Vim on: insert mode, visual line mode, a pending
2d, and:wtyped on the command line.Fixes #3651