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