vim.json

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