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      "escape": "editor::Cancel",
 98      "0": "vim::StartOfLine", // When no number operator present, use start of line motion
 99      "1": [
100        "vim::Number",
101        1
102      ],
103      "2": [
104        "vim::Number",
105        2
106      ],
107      "3": [
108        "vim::Number",
109        3
110      ],
111      "4": [
112        "vim::Number",
113        4
114      ],
115      "5": [
116        "vim::Number",
117        5
118      ],
119      "6": [
120        "vim::Number",
121        6
122      ],
123      "7": [
124        "vim::Number",
125        7
126      ],
127      "8": [
128        "vim::Number",
129        8
130      ],
131      "9": [
132        "vim::Number",
133        9
134      ]
135    }
136  },
137  {
138    "context": "Editor && vim_mode == normal && vim_operator == none && !VimWaiting",
139    "bindings": {
140      "c": [
141        "vim::PushOperator",
142        "Change"
143      ],
144      "shift-c": "vim::ChangeToEndOfLine",
145      "d": [
146        "vim::PushOperator",
147        "Delete"
148      ],
149      "shift-d": "vim::DeleteToEndOfLine",
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      "^": "vim::FirstNonWhitespace",
170      "o": "vim::InsertLineBelow",
171      "shift-o": "vim::InsertLineAbove",
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      "ctrl-o": "pane::GoBack",
192      "/": [
193        "buffer_search::Deploy",
194        {
195          "focus": true
196        }
197      ],
198      "ctrl-f": [
199        "vim::Scroll",
200        "PageDown"
201      ],
202      "ctrl-b": [
203        "vim::Scroll",
204        "PageUp"
205      ],
206      "ctrl-d": [
207        "vim::Scroll",
208        "HalfPageDown"
209      ],
210      "ctrl-u": [
211        "vim::Scroll",
212        "HalfPageUp"
213      ],
214      "ctrl-e": [
215        "vim::Scroll",
216        "LineDown"
217      ],
218      "r": [
219        "vim::PushOperator",
220        "Replace"
221      ]
222    }
223  },
224  {
225    "context": "Editor && vim_operator == n",
226    "bindings": {
227      "0": [
228        "vim::Number",
229        0
230      ]
231    }
232  },
233  {
234    "context": "Editor && vim_operator == g",
235    "bindings": {
236      "g": "vim::StartOfDocument",
237      "h": "editor::Hover",
238      "escape": [
239        "vim::SwitchMode",
240        "Normal"
241      ],
242      "d": "editor::GoToDefinition"
243    }
244  },
245  {
246    "context": "Editor && vim_operator == c",
247    "bindings": {
248      "c": "vim::CurrentLine"
249    }
250  },
251  {
252    "context": "Editor && vim_operator == d",
253    "bindings": {
254      "d": "vim::CurrentLine"
255    }
256  },
257  {
258    "context": "Editor && vim_operator == y",
259    "bindings": {
260      "y": "vim::CurrentLine"
261    }
262  },
263  {
264    "context": "Editor && vim_operator == z",
265    "bindings": {
266      "t": "editor::ScrollCursorTop",
267      "z": "editor::ScrollCursorCenter",
268      "b": "editor::ScrollCursorBottom",
269      "escape": [
270        "vim::SwitchMode",
271        "Normal"
272      ]
273    }
274  },
275  {
276    "context": "Editor && VimObject",
277    "bindings": {
278      "w": "vim::Word",
279      "shift-w": [
280        "vim::Word",
281        {
282          "ignorePunctuation": true
283        }
284      ],
285      "s": "vim::Sentence",
286      "'": "vim::Quotes",
287      "`": "vim::BackQuotes",
288      "\"": "vim::DoubleQuotes",
289      "(": "vim::Parentheses",
290      ")": "vim::Parentheses",
291      "[": "vim::SquareBrackets",
292      "]": "vim::SquareBrackets",
293      "{": "vim::CurlyBrackets",
294      "}": "vim::CurlyBrackets",
295      "<": "vim::AngleBrackets",
296      ">": "vim::AngleBrackets"
297    }
298  },
299  {
300    "context": "Editor && vim_mode == visual && !VimWaiting",
301    "bindings": {
302      "u": "editor::Undo",
303      "c": "vim::VisualChange",
304      "d": "vim::VisualDelete",
305      "x": "vim::VisualDelete",
306      "y": "vim::VisualYank",
307      "p": "vim::VisualPaste",
308      "r": [
309        "vim::PushOperator",
310        "Replace"
311      ]
312    }
313  },
314  {
315    "context": "Editor && vim_mode == insert",
316    "bindings": {
317      "escape": "vim::NormalBefore",
318      "ctrl-c": "vim::NormalBefore"
319    }
320  },
321  {
322    "context": "Editor && VimWaiting",
323    "bindings": {
324      "tab": "vim::Tab",
325      "enter": "vim::Enter",
326      "escape": "editor::Cancel"
327    }
328  }
329]