dotfiles/dot_config/zed/keymap.json
2025-09-27 12:51:25 +01:00

112 lines
2.8 KiB
JSON

// $DOTFILES/tools/zed/keymaps.json
// Date: 2025-01-25
// Author: js0ny
// Description: Zed keymaps
// Location:
// GNU/Linux: ~/.config/zed/keymaps.json
// Windows: %APPDATA%\Zed\keymaps.json
// Linking: (link the whole directory)
// ln -sf $DOTFILES/tools/zed ~/.config/zed
// 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.
// https://github.com/zed-industries/zed/tree/main/assets/keymaps
// Sequence: https://zed.dev/docs/key-bindings#remapping-keys
[
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
}
},
{
"context": "Editor",
"bindings": {
// "j k": ["workspace::SendKeystrokes", "escape"]
"alt-e": "editor::AddSelectionAbove", // Insert Cursor Above
"alt-n": "editor::AddSelectionBelow" // Insert Cursor Below
}
},
{
"context": "vim_mode == normal || vim_mode == visual",
"bindings": {
"N": "vim::JoinLines",
"l": "vim::InsertBefore",
"L": "vim::InsertFirstNonWhitespace"
}
},
{
"context": "vim_mode == visual || vim_mode == operator",
"bindings": {
"H": "vim::StartOfLine",
"I": "vim::EndOfLine"
}
},
{
"context": "vim_mode == normal",
"bindings": {
"H": "pane::ActivatePreviousItem",
"I": "pane::ActivateNextItem"
}
},
{
"context": "GitPanel || ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView",
"bindings": {
"space space": "file_finder::Toggle",
"space ;": "command_palette::Toggle",
"space f c": "zed::OpenSettings",
"space f e c": "zed::OpenSettings",
"space f t": "project_panel::ToggleFocus",
"ctrl-w h": "workspace::ActivatePaneLeft",
"ctrl-w i": "workspace::ActivatePaneRight",
"ctrl-w e": "workspace::ActivatePaneUp",
"ctrl-w n": "workspace::ActivatePaneDown"
}
},
{
"context": "vim_mode == normal || vim_mode == visual || vim_mode == operator",
"bindings": {
"n": "vim::Down",
"e": "vim::Up",
"i": "vim::Right",
"k": "search::SelectNextMatch",
"K": "search::SelectPreviousMatch",
"N": ["workspace::SendKeystrokes", "n n n n n"],
"E": ["workspace::SendKeystrokes", "e e e e e"],
"Y": ["workspace::SendKeystrokes", "y $"]
}
},
{
"context": "ProjectPanel && not_editing",
"bindings": {
"n": "menu::SelectNext",
"e": "menu::SelectPrevious",
"i": "project_panel::ExpandSelectedEntry",
"A": "project_panel::NewDirectory",
"a": "project_panel::NewFile",
"d": "project_panel::Delete"
}
}
]