// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
//
// For vim docs see: https://zed.dev/docs/vim
[
{
"context": "VimControl && !menu",
"bindings": {
// Put key bindings here if you want them to work in normal & visual mode.
// "ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
// "ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
"ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
"ctrl-j": ["workspace::ActivatePaneInDirection", "Down"],
"ctrl-l": "pane::ActivateNextItem",
"ctrl-h": "pane::ActivatePrevItem",
"ctrl-3": "tab_switcher::Toggle"
}
},
{
"context": "vim_mode == normal && !menu",
"bindings": {
// "shift-y": ["workspace::SendKeystrokes", "y $"] // Use neovim's yank behavior: yank to end of line.
}
},
{
"context": "vim_mode == insert",
"bindings": {
// "j k": "vim::NormalBefore" // In insert mode, make jk escape to normal mode.
}
},
{
"context": "EmptyPane || SharedScreen",
"bindings": {
// Put key bindings here (in addition to the context above) if you want them to
// work when no editor exists.
// "space f": "file_finder::Toggle"
}
},
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
"alt-`": "workspace::ToggleBottomDock",
"alt-b": "workspace::ToggleLeftDock",
"alt-w": "pane::CloseActiveItem",
"alt-enter": "editor::ToggleCodeActions"
}
},
{
"context": "Editor",
"bindings": {
// "j k": ["workspace::SendKeystrokes", "escape"]
}
}
]