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