summaryrefslogtreecommitdiff
path: root/zed/keymap.json
blob: b06f33b7cec43ceba5034df3db0a70ead6710aa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// 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.
[
  {
    // idk why this needs to be editor
    "context": "vim_mode == normal && Editor",
    "bindings": {
      "space space": "file_finder::Toggle"
    }
  },
  {
    "context": "Editor",
    "bindings": {
      // "j k": ["workspace::SendKeystrokes", "escape"]
    }
  },
  {
    "context": "vim_mode == normal && !menu",
    "bindings": {
      "shift-y": ["workspace::SendKeystrokes", "y $"], // Use neovim's yank behavior: yank to end of line.
      "space l f": "editor::Format",
      "space f x": "workspace::CloseAllDocks"
    }
  },
  {
    "context": "vim_mode == visual",
    "bindings": {
      "shift-s": ["vim::PushAddSurrounds", {}]
    }
  },
  {
    "context": "vim_mode == insert",
    "bindings": {
      "ctrl-y": "editor::ConfirmCompletion"
    }
  },
  {
    "context": "Dock",
    "bindings": {
      "ctrl-w h": "workspace::ActivatePaneLeft",
      "ctrl-w l": "workspace::ActivatePaneRight",
      "ctrl-w k": "workspace::ActivatePaneUp",
      "ctrl-w j": "workspace::ActivatePaneDown"
      // ... or other keybindings
    }
  },

  {
    // like the command picker and stuff
    "context": "Editor && mode == single_line",
    "bindings": {
      "ctrl-w": "editor::DeleteToPreviousWordStart"
    }
  }
]