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