Description
Summary
Some key bindings seem to be shown by the UI unconditionally for the default values, ignoring any overrides that base_keymap
may have done, thus misleading users into using key combinations that don't work.
Description
Steps to reproduce:
- Set
"base_keymap": "SublimeText"
. - Focus some open buffer.
- Hover over "Project Diagnostics": it'll show the key binding being Ctrl-Shift-M.
- Press Ctrl-Shift-M (nothing happens).
- Unset
"base_keymap": "SublimeText"
. - Press Ctrl-Shift-M, it now opens the diagnostics.
Expected Behavior: For the shown key binding that reflect what'll actually work / not work.
Actual Behavior: The UI show values for default bindings, ignoring what base_keymap
sets.
The default value for Ctrl-Shift-M seems to be set here for the Workspace context, while SublimeText seems to redefine it here. Trying to set this at keymap.json
does not seem to work:
[
{
"context": "Workspace",
"bindings": {
"ctrl-shift-m": null
}
}
]
The only "fix" is to do this instead:
[
{
"context": "Editor",
"bindings": {
"ctrl-shift-m": "diagnostics::Deploy"
}
}
]
Another example of this is "editor: go to type definition Ctrl-F12": with base_keymap
unset, it works, with "base_keymap": "SublimeText"
Ctrl-F12 seems to actually do "editor: go to type definition split Ctrl-Alt-F12".
Zed Version and System Specs
Zed: v0.190.6 (Zed)
OS: Linux Wayland ubuntu 25.04
Memory: 31.2 GiB
Architecture: x86_64
GPU: AMD Radeon RX 7800 XT (RADV NAVI32) || radv || Mesa 25.0.3-1ubuntu2