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