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      "shift-g": "vim::EndOfDocument",
 39      "w": "vim::NextWordStart",
 40      "{": "vim::StartOfParagraph",
 41      "}": "vim::EndOfParagraph",
 42      "shift-w": [
 43        "vim::NextWordStart",
 44        {
 45          "ignorePunctuation": true
 46        }
 47      ],
 48      "e": "vim::NextWordEnd",
 49      "shift-e": [
 50        "vim::NextWordEnd",
 51        {
 52          "ignorePunctuation": true
 53        }
 54      ],
 55      "b": "vim::PreviousWordStart",
 56      "shift-b": [
 57        "vim::PreviousWordStart",
 58        {
 59          "ignorePunctuation": true
 60        }
 61      ],
 62      "%": "vim::Matching",
 63      "f": [
 64        "vim::PushOperator",
 65        {
 66          "FindForward": {
 67            "before": false
 68          }
 69        }
 70      ],
 71      "t": [
 72        "vim::PushOperator",
 73        {
 74          "FindForward": {
 75            "before": true
 76          }
 77        }
 78      ],
 79      "shift-f": [
 80        "vim::PushOperator",
 81        {
 82          "FindBackward": {
 83            "after": false
 84          }
 85        }
 86      ],
 87      "shift-t": [
 88        "vim::PushOperator",
 89        {
 90          "FindBackward": {
 91            "after": true
 92          }
 93        }
 94      ],
 95      "ctrl-o": "pane::GoBack",
 96      "ctrl-]": "editor::GoToDefinition",
 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 || vim_operator == n) && !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      "shift-j": "editor::JoinLines",
151      "y": [
152        "vim::PushOperator",
153        "Yank"
154      ],
155      "z": [
156        "vim::PushOperator",
157        {
158          "Namespace": "Z"
159        }
160      ],
161      "i": [
162        "vim::SwitchMode",
163        "Insert"
164      ],
165      "shift-i": "vim::InsertFirstNonWhitespace",
166      "a": "vim::InsertAfter",
167      "shift-a": "vim::InsertEndOfLine",
168      "x": "vim::DeleteRight",
169      "shift-x": "vim::DeleteLeft",
170      "^": "vim::FirstNonWhitespace",
171      "o": "vim::InsertLineBelow",
172      "shift-o": "vim::InsertLineAbove",
173      "~": "vim::ChangeCase",
174      "v": [
175        "vim::SwitchMode",
176        {
177          "Visual": {
178            "line": false
179          }
180        }
181      ],
182      "shift-v": [
183        "vim::SwitchMode",
184        {
185          "Visual": {
186            "line": true
187          }
188        }
189      ],
190      "p": "vim::Paste",
191      "u": "editor::Undo",
192      "ctrl-r": "editor::Redo",
193      "/": [
194        "buffer_search::Deploy",
195        {
196          "focus": true
197        }
198      ],
199      "ctrl-f": "vim::PageDown",
200      "pagedown": "vim::PageDown",
201      "ctrl-b": "vim::PageUp",
202      "pageup": "vim::PageUp",
203      "ctrl-d": "vim::ScrollDown",
204      "ctrl-u": "vim::ScrollUp",
205      "ctrl-e": "vim::LineDown",
206      "ctrl-y": "vim::LineUp",
207      "r": [
208        "vim::PushOperator",
209        "Replace"
210      ],
211      "s": "vim::Substitute",
212      "> >": "editor::Indent",
213      "< <": "editor::Outdent",
214      "ctrl-pagedown": "pane::ActivateNextItem",
215      "ctrl-pageup": "pane::ActivatePrevItem"
216    }
217  },
218  {
219    "context": "Editor && vim_operator == n",
220    "bindings": {
221      "0": [
222        "vim::Number",
223        0
224      ]
225    }
226  },
227  {
228    "context": "Editor && vim_operator == g",
229    "bindings": {
230      "g": "vim::StartOfDocument",
231      "h": "editor::Hover",
232      "t": "pane::ActivateNextItem",
233      "shift-t": "pane::ActivatePrevItem",
234      "escape": [
235        "vim::SwitchMode",
236        "Normal"
237      ],
238      "d": "editor::GoToDefinition"
239    }
240  },
241  {
242    "context": "Editor && vim_operator == c",
243    "bindings": {
244      "c": "vim::CurrentLine"
245    }
246  },
247  {
248    "context": "Editor && vim_operator == d",
249    "bindings": {
250      "d": "vim::CurrentLine"
251    }
252  },
253  {
254    "context": "Editor && vim_operator == y",
255    "bindings": {
256      "y": "vim::CurrentLine"
257    }
258  },
259  {
260    "context": "Editor && vim_operator == z",
261    "bindings": {
262      "t": "editor::ScrollCursorTop",
263      "z": "editor::ScrollCursorCenter",
264      "b": "editor::ScrollCursorBottom",
265      "escape": [
266        "vim::SwitchMode",
267        "Normal"
268      ]
269    }
270  },
271  {
272    "context": "Editor && VimObject",
273    "bindings": {
274      "w": "vim::Word",
275      "shift-w": [
276        "vim::Word",
277        {
278          "ignorePunctuation": true
279        }
280      ],
281      "s": "vim::Sentence",
282      "'": "vim::Quotes",
283      "`": "vim::BackQuotes",
284      "\"": "vim::DoubleQuotes",
285      "(": "vim::Parentheses",
286      ")": "vim::Parentheses",
287      "[": "vim::SquareBrackets",
288      "]": "vim::SquareBrackets",
289      "{": "vim::CurlyBrackets",
290      "}": "vim::CurlyBrackets",
291      "<": "vim::AngleBrackets",
292      ">": "vim::AngleBrackets"
293    }
294  },
295  {
296    "context": "Editor && vim_mode == visual && !VimWaiting",
297    "bindings": {
298      "u": "editor::Undo",
299      "c": "vim::VisualChange",
300      "d": "vim::VisualDelete",
301      "x": "vim::VisualDelete",
302      "y": "vim::VisualYank",
303      "p": "vim::VisualPaste",
304      "s": "vim::Substitute",
305      "~": "vim::ChangeCase",
306      "r": [
307        "vim::PushOperator",
308        "Replace"
309      ],
310      "> >": "editor::Indent",
311      "< <": "editor::Outdent"
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]