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": [
 97        "vim::SwitchMode",
 98        "Normal"
 99      ],
100      "0": "vim::StartOfLine", // When no number operator present, use start of line motion
101      "1": [
102        "vim::Number",
103        1
104      ],
105      "2": [
106        "vim::Number",
107        2
108      ],
109      "3": [
110        "vim::Number",
111        3
112      ],
113      "4": [
114        "vim::Number",
115        4
116      ],
117      "5": [
118        "vim::Number",
119        5
120      ],
121      "6": [
122        "vim::Number",
123        6
124      ],
125      "7": [
126        "vim::Number",
127        7
128      ],
129      "8": [
130        "vim::Number",
131        8
132      ],
133      "9": [
134        "vim::Number",
135        9
136      ]
137    }
138  },
139  {
140    "context": "Editor && vim_mode == normal && (vim_operator == none || vim_operator == n) && !VimWaiting",
141    "bindings": {
142      "c": [
143        "vim::PushOperator",
144        "Change"
145      ],
146      "shift-c": "vim::ChangeToEndOfLine",
147      "d": [
148        "vim::PushOperator",
149        "Delete"
150      ],
151      "shift-d": "vim::DeleteToEndOfLine",
152      "shift-j": "editor::JoinLines",
153      "y": [
154        "vim::PushOperator",
155        "Yank"
156      ],
157      "z": [
158        "vim::PushOperator",
159        {
160          "Namespace": "Z"
161        }
162      ],
163      "i": [
164        "vim::SwitchMode",
165        "Insert"
166      ],
167      "shift-i": "vim::InsertFirstNonWhitespace",
168      "a": "vim::InsertAfter",
169      "shift-a": "vim::InsertEndOfLine",
170      "x": "vim::DeleteRight",
171      "shift-x": "vim::DeleteLeft",
172      "o": "vim::InsertLineBelow",
173      "shift-o": "vim::InsertLineAbove",
174      "~": "vim::ChangeCase",
175      "v": [
176        "vim::SwitchMode",
177        {
178          "Visual": {
179            "line": false
180          }
181        }
182      ],
183      "shift-v": [
184        "vim::SwitchMode",
185        {
186          "Visual": {
187            "line": true
188          }
189        }
190      ],
191      "p": "vim::Paste",
192      "u": "editor::Undo",
193      "ctrl-r": "editor::Redo",
194      "/": [
195        "buffer_search::Deploy",
196        {
197          "focus": true
198        }
199      ],
200      "ctrl-f": "vim::PageDown",
201      "pagedown": "vim::PageDown",
202      "ctrl-b": "vim::PageUp",
203      "pageup": "vim::PageUp",
204      "ctrl-d": "vim::ScrollDown",
205      "ctrl-u": "vim::ScrollUp",
206      "ctrl-e": "vim::LineDown",
207      "ctrl-y": "vim::LineUp",
208      "r": [
209        "vim::PushOperator",
210        "Replace"
211      ],
212      "s": "vim::Substitute",
213      "> >": "editor::Indent",
214      "< <": "editor::Outdent",
215      "ctrl-pagedown": "pane::ActivateNextItem",
216      "ctrl-pageup": "pane::ActivatePrevItem"
217    }
218  },
219  {
220    "context": "Editor && vim_operator == n",
221    "bindings": {
222      "0": [
223        "vim::Number",
224        0
225      ]
226    }
227  },
228  {
229    "context": "Editor && vim_operator == g",
230    "bindings": {
231      "g": "vim::StartOfDocument",
232      "h": "editor::Hover",
233      "t": "pane::ActivateNextItem",
234      "shift-t": "pane::ActivatePrevItem",
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      "~": "vim::ChangeCase",
307      "r": [
308        "vim::PushOperator",
309        "Replace"
310      ],
311      "ctrl-c": [
312        "vim::SwitchMode",
313        "Normal"
314      ],
315      "> >": "editor::Indent",
316      "< <": "editor::Outdent"
317    }
318  },
319  {
320    "context": "Editor && vim_mode == insert",
321    "bindings": {
322      "escape": "vim::NormalBefore",
323      "ctrl-c": "vim::NormalBefore"
324    }
325  },
326  {
327    "context": "Editor && VimWaiting",
328    "bindings": {
329      "tab": "vim::Tab",
330      "enter": "vim::Enter",
331      "escape": [
332        "vim::SwitchMode",
333        "Normal"
334      ]
335    }
336  }
337]