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