vim.json

  1[
  2  {
  3    "context": "Editor && VimControl && !VimWaiting && !menu",
  4    "bindings": {
  5      "g": [
  6        "vim::PushOperator",
  7        {
  8          "Namespace": "G"
  9        }
 10      ],
 11      "i": [
 12        "vim::PushOperator",
 13        {
 14          "Object": {
 15            "around": false
 16          }
 17        }
 18      ],
 19      "a": [
 20        "vim::PushOperator",
 21        {
 22          "Object": {
 23            "around": true
 24          }
 25        }
 26      ],
 27      "h": "vim::Left",
 28      "left": "vim::Left",
 29      "backspace": "vim::Backspace",
 30      "j": "vim::Down",
 31      "down": "vim::Down",
 32      "enter": "vim::NextLineStart",
 33      "k": "vim::Up",
 34      "up": "vim::Up",
 35      "l": "vim::Right",
 36      "right": "vim::Right",
 37      "$": "vim::EndOfLine",
 38      "shift-g": "vim::EndOfDocument",
 39      "w": "vim::NextWordStart",
 40      "shift-w": [
 41        "vim::NextWordStart",
 42        {
 43          "ignorePunctuation": true
 44        }
 45      ],
 46      "e": "vim::NextWordEnd",
 47      "shift-e": [
 48        "vim::NextWordEnd",
 49        {
 50          "ignorePunctuation": true
 51        }
 52      ],
 53      "b": "vim::PreviousWordStart",
 54      "shift-b": [
 55        "vim::PreviousWordStart",
 56        {
 57          "ignorePunctuation": true
 58        }
 59      ],
 60      "%": "vim::Matching",
 61      "f": [
 62        "vim::PushOperator",
 63        {
 64          "FindForward": {
 65            "before": false
 66          }
 67        }
 68      ],
 69      "t": [
 70        "vim::PushOperator",
 71        {
 72          "FindForward": {
 73            "before": true
 74          }
 75        }
 76      ],
 77      "shift-f": [
 78        "vim::PushOperator",
 79        {
 80          "FindBackward": {
 81            "after": false
 82          }
 83        }
 84      ],
 85      "shift-t": [
 86        "vim::PushOperator",
 87        {
 88          "FindBackward": {
 89            "after": true
 90          }
 91        }
 92      ],
 93      "ctrl-o": "pane::GoBack",
 94      "ctrl-]": "editor::GoToDefinition",
 95      "escape": "editor::Cancel",
 96      "0": "vim::StartOfLine", // When no number operator present, use start of line motion
 97      "1": [
 98        "vim::Number",
 99        1
100      ],
101      "2": [
102        "vim::Number",
103        2
104      ],
105      "3": [
106        "vim::Number",
107        3
108      ],
109      "4": [
110        "vim::Number",
111        4
112      ],
113      "5": [
114        "vim::Number",
115        5
116      ],
117      "6": [
118        "vim::Number",
119        6
120      ],
121      "7": [
122        "vim::Number",
123        7
124      ],
125      "8": [
126        "vim::Number",
127        8
128      ],
129      "9": [
130        "vim::Number",
131        9
132      ]
133    }
134  },
135  {
136    "context": "Editor && vim_mode == normal && (vim_operator == none || vim_operator == n) && !VimWaiting",
137    "bindings": {
138      "c": [
139        "vim::PushOperator",
140        "Change"
141      ],
142      "shift-c": "vim::ChangeToEndOfLine",
143      "d": [
144        "vim::PushOperator",
145        "Delete"
146      ],
147      "shift-d": "vim::DeleteToEndOfLine",
148      "shift-j": "editor::JoinLines",
149      "y": [
150        "vim::PushOperator",
151        "Yank"
152      ],
153      "z": [
154        "vim::PushOperator",
155        {
156          "Namespace": "Z"
157        }
158      ],
159      "i": [
160        "vim::SwitchMode",
161        "Insert"
162      ],
163      "shift-i": "vim::InsertFirstNonWhitespace",
164      "a": "vim::InsertAfter",
165      "shift-a": "vim::InsertEndOfLine",
166      "x": "vim::DeleteRight",
167      "shift-x": "vim::DeleteLeft",
168      "^": "vim::FirstNonWhitespace",
169      "o": "vim::InsertLineBelow",
170      "shift-o": "vim::InsertLineAbove",
171      "~": "vim::ChangeCase",
172      "v": [
173        "vim::SwitchMode",
174        {
175          "Visual": {
176            "line": false
177          }
178        }
179      ],
180      "shift-v": [
181        "vim::SwitchMode",
182        {
183          "Visual": {
184            "line": true
185          }
186        }
187      ],
188      "p": "vim::Paste",
189      "u": "editor::Undo",
190      "ctrl-r": "editor::Redo",
191      "/": [
192        "buffer_search::Deploy",
193        {
194          "focus": true
195        }
196      ],
197      "ctrl-f": "vim::PageDown",
198      "pagedown": "vim::PageDown",
199      "ctrl-b": "vim::PageUp",
200      "pageup": "vim::PageUp",
201      "ctrl-d": "vim::ScrollDown",
202      "ctrl-u": "vim::ScrollUp",
203      "ctrl-e": "vim::LineDown",
204      "ctrl-y": "vim::LineUp",
205      "r": [
206        "vim::PushOperator",
207        "Replace"
208      ],
209      "s": "vim::Substitute",
210      "ctrl-pagedown": "pane::ActivateNextItem",
211      "ctrl-pageup": "pane::ActivatePrevItem"
212    }
213  },
214  {
215    "context": "Editor && vim_operator == n",
216    "bindings": {
217      "0": [
218        "vim::Number",
219        0
220      ]
221    }
222  },
223  {
224    "context": "Editor && vim_operator == g",
225    "bindings": {
226      "g": "vim::StartOfDocument",
227      "h": "editor::Hover",
228      "t": "pane::ActivateNextItem",
229      "shift-t": "pane::ActivatePrevItem",
230      "escape": [
231        "vim::SwitchMode",
232        "Normal"
233      ],
234      "d": "editor::GoToDefinition"
235    }
236  },
237  {
238    "context": "Editor && vim_operator == c",
239    "bindings": {
240      "c": "vim::CurrentLine"
241    }
242  },
243  {
244    "context": "Editor && vim_operator == d",
245    "bindings": {
246      "d": "vim::CurrentLine"
247    }
248  },
249  {
250    "context": "Editor && vim_operator == y",
251    "bindings": {
252      "y": "vim::CurrentLine"
253    }
254  },
255  {
256    "context": "Editor && vim_operator == z",
257    "bindings": {
258      "t": "editor::ScrollCursorTop",
259      "z": "editor::ScrollCursorCenter",
260      "b": "editor::ScrollCursorBottom",
261      "escape": [
262        "vim::SwitchMode",
263        "Normal"
264      ]
265    }
266  },
267  {
268    "context": "Editor && VimObject",
269    "bindings": {
270      "w": "vim::Word",
271      "shift-w": [
272        "vim::Word",
273        {
274          "ignorePunctuation": true
275        }
276      ],
277      "s": "vim::Sentence",
278      "'": "vim::Quotes",
279      "`": "vim::BackQuotes",
280      "\"": "vim::DoubleQuotes",
281      "(": "vim::Parentheses",
282      ")": "vim::Parentheses",
283      "[": "vim::SquareBrackets",
284      "]": "vim::SquareBrackets",
285      "{": "vim::CurlyBrackets",
286      "}": "vim::CurlyBrackets",
287      "<": "vim::AngleBrackets",
288      ">": "vim::AngleBrackets"
289    }
290  },
291  {
292    "context": "Editor && vim_mode == visual && !VimWaiting",
293    "bindings": {
294      "u": "editor::Undo",
295      "c": "vim::VisualChange",
296      "d": "vim::VisualDelete",
297      "x": "vim::VisualDelete",
298      "y": "vim::VisualYank",
299      "p": "vim::VisualPaste",
300      "s": "vim::Substitute",
301      "~": "vim::ChangeCase",
302      "r": [
303        "vim::PushOperator",
304        "Replace"
305      ]
306    }
307  },
308  {
309    "context": "Editor && vim_mode == insert",
310    "bindings": {
311      "escape": "vim::NormalBefore",
312      "ctrl-c": "vim::NormalBefore"
313    }
314  },
315  {
316    "context": "Editor && VimWaiting",
317    "bindings": {
318      "tab": "vim::Tab",
319      "enter": "vim::Enter",
320      "escape": "editor::Cancel"
321    }
322  }
323]