vim.json

  1[
  2    {
  3        "context": "Editor && VimControl",
  4        "bindings": {
  5            "g": [
  6                "vim::PushOperator",
  7                {
  8                    "Namespace": "G"
  9                }
 10            ],
 11            "h": "vim::Left",
 12            "backspace": "vim::Left",
 13            "j": "vim::Down",
 14            "k": "vim::Up",
 15            "l": "vim::Right",
 16            "0": "vim::StartOfLine",
 17            "$": "vim::EndOfLine",
 18            "shift-g": "vim::EndOfDocument",
 19            "w": "vim::NextWordStart",
 20            "shift-w": [
 21                "vim::NextWordStart",
 22                {
 23                    "ignorePunctuation": true
 24                }
 25            ],
 26            "e": "vim::NextWordEnd",
 27            "shift-e": [
 28                "vim::NextWordEnd",
 29                {
 30                    "ignorePunctuation": true
 31                }
 32            ],
 33            "b": "vim::PreviousWordStart",
 34            "shift-b": [
 35                "vim::PreviousWordStart",
 36                {
 37                    "ignorePunctuation": true
 38                }
 39            ],
 40            "%": "vim::Matching",
 41            "escape": "editor::Cancel"
 42        }
 43    },
 44    {
 45        "context": "Editor && vim_mode == normal && vim_operator == none",
 46        "bindings": {
 47            "c": [
 48                "vim::PushOperator",
 49                "Change"
 50            ],
 51            "shift-c": "vim::ChangeToEndOfLine",
 52            "d": [
 53                "vim::PushOperator",
 54                "Delete"
 55            ],
 56            "shift-d": "vim::DeleteToEndOfLine",
 57            "y": [
 58                "vim::PushOperator",
 59                "Yank"
 60            ],
 61            "i": [
 62                "vim::SwitchMode",
 63                "Insert"
 64            ],
 65            "shift-i": "vim::InsertFirstNonWhitespace",
 66            "a": "vim::InsertAfter",
 67            "shift-a": "vim::InsertEndOfLine",
 68            "x": "vim::DeleteRight",
 69            "shift-x": "vim::DeleteLeft",
 70            "^": "vim::FirstNonWhitespace",
 71            "o": "vim::InsertLineBelow",
 72            "shift-o": "vim::InsertLineAbove",
 73            "v": [
 74                "vim::SwitchMode",
 75                {
 76                    "Visual": {
 77                        "line": false
 78                    }
 79                }
 80            ],
 81            "shift-v": [
 82                "vim::SwitchMode",
 83                {
 84                    "Visual": {
 85                        "line": true
 86                    }
 87                }
 88            ],
 89            "p": "vim::Paste",
 90            "u": "editor::Undo",
 91            "ctrl-r": "editor::Redo",
 92            "ctrl-o": "pane::GoBack",
 93            "/": [
 94                "buffer_search::Deploy",
 95                {
 96                    "focus": true
 97                }
 98            ]
 99        }
100    },
101    {
102        "context": "Editor && vim_operator == g",
103        "bindings": {
104            "g": "vim::StartOfDocument",
105            "h": "editor::Hover",
106            "escape": [
107                "vim::SwitchMode",
108                "Normal"
109            ]
110        }
111    },
112    {
113        "context": "Editor && vim_operator == c",
114        "bindings": {
115            "w": "vim::ChangeWord",
116            "shift-w": [
117                "vim::ChangeWord",
118                {
119                    "ignorePunctuation": true
120                }
121            ],
122            "c": "vim::CurrentLine"
123        }
124    },
125    {
126        "context": "Editor && vim_operator == d",
127        "bindings": {
128            "d": "vim::CurrentLine"
129        }
130    },
131    {
132        "context": "Editor && vim_operator == y",
133        "bindings": {
134            "y": "vim::CurrentLine"
135        }
136    },
137    {
138        "context": "Editor && vim_mode == visual",
139        "bindings": {
140            "c": "vim::VisualChange",
141            "d": "vim::VisualDelete",
142            "x": "vim::VisualDelete",
143            "y": "vim::VisualYank",
144            "p": "vim::VisualPaste"
145        }
146    },
147    {
148        "context": "Editor && vim_mode == insert",
149        "bindings": {
150            "escape": "vim::NormalBefore",
151            "ctrl-c": "vim::NormalBefore"
152        }
153    }
154]