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 "tab": "vim::Tab",
34 "shift-tab": "vim::Tab",
35 "k": "vim::Up",
36 "up": "vim::Up",
37 "l": "vim::Right",
38 "right": "vim::Right",
39 "$": "vim::EndOfLine",
40 "^": "vim::FirstNonWhitespace",
41 "shift-g": "vim::EndOfDocument",
42 "w": "vim::NextWordStart",
43 "{": "vim::StartOfParagraph",
44 "}": "vim::EndOfParagraph",
45 "shift-w": [
46 "vim::NextWordStart",
47 {
48 "ignorePunctuation": true
49 }
50 ],
51 "e": "vim::NextWordEnd",
52 "shift-e": [
53 "vim::NextWordEnd",
54 {
55 "ignorePunctuation": true
56 }
57 ],
58 "b": "vim::PreviousWordStart",
59 "shift-b": [
60 "vim::PreviousWordStart",
61 {
62 "ignorePunctuation": true
63 }
64 ],
65 "n": "search::SelectNextMatch",
66 "shift-n": "search::SelectPrevMatch",
67 "%": "vim::Matching",
68 "f": [
69 "vim::PushOperator",
70 {
71 "FindForward": {
72 "before": false
73 }
74 }
75 ],
76 "t": [
77 "vim::PushOperator",
78 {
79 "FindForward": {
80 "before": true
81 }
82 }
83 ],
84 "shift-f": [
85 "vim::PushOperator",
86 {
87 "FindBackward": {
88 "after": false
89 }
90 }
91 ],
92 "shift-t": [
93 "vim::PushOperator",
94 {
95 "FindBackward": {
96 "after": true
97 }
98 }
99 ],
100 "ctrl-o": "pane::GoBack",
101 "ctrl-]": "editor::GoToDefinition",
102 "escape": [
103 "vim::SwitchMode",
104 "Normal"
105 ],
106 "ctrl+[": [
107 "vim::SwitchMode",
108 "Normal"
109 ],
110 "*": "vim::MoveToNext",
111 "#": "vim::MoveToPrev",
112 "0": "vim::StartOfLine", // When no number operator present, use start of line motion
113 "1": [
114 "vim::Number",
115 1
116 ],
117 "2": [
118 "vim::Number",
119 2
120 ],
121 "3": [
122 "vim::Number",
123 3
124 ],
125 "4": [
126 "vim::Number",
127 4
128 ],
129 "5": [
130 "vim::Number",
131 5
132 ],
133 "6": [
134 "vim::Number",
135 6
136 ],
137 "7": [
138 "vim::Number",
139 7
140 ],
141 "8": [
142 "vim::Number",
143 8
144 ],
145 "9": [
146 "vim::Number",
147 9
148 ],
149 // window related commands (ctrl-w X)
150 "ctrl-w left": [
151 "workspace::ActivatePaneInDirection",
152 "Left"
153 ],
154 "ctrl-w right": [
155 "workspace::ActivatePaneInDirection",
156 "Right"
157 ],
158 "ctrl-w up": [
159 "workspace::ActivatePaneInDirection",
160 "Up"
161 ],
162 "ctrl-w down": [
163 "workspace::ActivatePaneInDirection",
164 "Down"
165 ],
166 "ctrl-w h": [
167 "workspace::ActivatePaneInDirection",
168 "Left"
169 ],
170 "ctrl-w l": [
171 "workspace::ActivatePaneInDirection",
172 "Right"
173 ],
174 "ctrl-w k": [
175 "workspace::ActivatePaneInDirection",
176 "Up"
177 ],
178 "ctrl-w j": [
179 "workspace::ActivatePaneInDirection",
180 "Down"
181 ],
182 "ctrl-w ctrl-h": [
183 "workspace::ActivatePaneInDirection",
184 "Left"
185 ],
186 "ctrl-w ctrl-l": [
187 "workspace::ActivatePaneInDirection",
188 "Right"
189 ],
190 "ctrl-w ctrl-k": [
191 "workspace::ActivatePaneInDirection",
192 "Up"
193 ],
194 "ctrl-w ctrl-j": [
195 "workspace::ActivatePaneInDirection",
196 "Down"
197 ],
198 "ctrl-w g t": "pane::ActivateNextItem",
199 "ctrl-w ctrl-g t": "pane::ActivateNextItem",
200 "ctrl-w g shift-t": "pane::ActivatePrevItem",
201 "ctrl-w ctrl-g shift-t": "pane::ActivatePrevItem",
202 "ctrl-w w": "workspace::ActivateNextPane",
203 "ctrl-w ctrl-w": "workspace::ActivateNextPane",
204 "ctrl-w p": "workspace::ActivatePreviousPane",
205 "ctrl-w ctrl-p": "workspace::ActivatePreviousPane",
206 "ctrl-w shift-w": "workspace::ActivatePreviousPane",
207 "ctrl-w ctrl-shift-w": "workspace::ActivatePreviousPane",
208 "ctrl-w v": "pane::SplitLeft",
209 "ctrl-w ctrl-v": "pane::SplitLeft",
210 "ctrl-w s": "pane::SplitUp",
211 "ctrl-w shift-s": "pane::SplitUp",
212 "ctrl-w ctrl-s": "pane::SplitUp",
213 "ctrl-w c": "pane::CloseAllItems",
214 "ctrl-w ctrl-c": "pane::CloseAllItems",
215 "ctrl-w q": "pane::CloseAllItems",
216 "ctrl-w ctrl-q": "pane::CloseAllItems"
217 }
218 },
219 {
220 "context": "Editor && vim_mode == normal && (vim_operator == none || vim_operator == n) && !VimWaiting",
221 "bindings": {
222 "c": [
223 "vim::PushOperator",
224 "Change"
225 ],
226 "shift-c": "vim::ChangeToEndOfLine",
227 "d": [
228 "vim::PushOperator",
229 "Delete"
230 ],
231 "shift-d": "vim::DeleteToEndOfLine",
232 "shift-j": "editor::JoinLines",
233 "y": [
234 "vim::PushOperator",
235 "Yank"
236 ],
237 "z": [
238 "vim::PushOperator",
239 {
240 "Namespace": "Z"
241 }
242 ],
243 "i": [
244 "vim::SwitchMode",
245 "Insert"
246 ],
247 "shift-i": "vim::InsertFirstNonWhitespace",
248 "a": "vim::InsertAfter",
249 "shift-a": "vim::InsertEndOfLine",
250 "x": "vim::DeleteRight",
251 "shift-x": "vim::DeleteLeft",
252 "o": "vim::InsertLineBelow",
253 "shift-o": "vim::InsertLineAbove",
254 "~": "vim::ChangeCase",
255 "v": [
256 "vim::SwitchMode",
257 {
258 "Visual": {
259 "line": false
260 }
261 }
262 ],
263 "shift-v": [
264 "vim::SwitchMode",
265 {
266 "Visual": {
267 "line": true
268 }
269 }
270 ],
271 "p": "vim::Paste",
272 "u": "editor::Undo",
273 "ctrl-r": "editor::Redo",
274 "/": "vim::Search",
275 "?": [
276 "vim::Search",
277 {
278 "backwards": true
279 }
280 ],
281 "ctrl-f": "vim::PageDown",
282 "pagedown": "vim::PageDown",
283 "ctrl-b": "vim::PageUp",
284 "pageup": "vim::PageUp",
285 "ctrl-d": "vim::ScrollDown",
286 "ctrl-u": "vim::ScrollUp",
287 "ctrl-e": "vim::LineDown",
288 "ctrl-y": "vim::LineUp",
289 "r": [
290 "vim::PushOperator",
291 "Replace"
292 ],
293 "s": "vim::Substitute",
294 "> >": "editor::Indent",
295 "< <": "editor::Outdent",
296 "ctrl-pagedown": "pane::ActivateNextItem",
297 "ctrl-pageup": "pane::ActivatePrevItem"
298 }
299 },
300 {
301 "context": "Editor && vim_operator == n",
302 "bindings": {
303 "0": [
304 "vim::Number",
305 0
306 ]
307 }
308 },
309 {
310 "context": "Editor && vim_operator == g",
311 "bindings": {
312 "g": "vim::StartOfDocument",
313 "h": "editor::Hover",
314 "t": "pane::ActivateNextItem",
315 "shift-t": "pane::ActivatePrevItem",
316 "d": "editor::GoToDefinition",
317 "shift-d": "editor::GoToTypeDefinition",
318 "*": [
319 "vim::MoveToNext",
320 {
321 "partialWord": true
322 }
323 ],
324 "#": [
325 "vim::MoveToPrev",
326 {
327 "partialWord": true
328 }
329 ]
330 }
331 },
332 {
333 "context": "Editor && vim_operator == c",
334 "bindings": {
335 "c": "vim::CurrentLine"
336 }
337 },
338 {
339 "context": "Editor && vim_operator == d",
340 "bindings": {
341 "d": "vim::CurrentLine"
342 }
343 },
344 {
345 "context": "Editor && vim_operator == y",
346 "bindings": {
347 "y": "vim::CurrentLine"
348 }
349 },
350 {
351 "context": "Editor && vim_operator == z",
352 "bindings": {
353 "t": "editor::ScrollCursorTop",
354 "z": "editor::ScrollCursorCenter",
355 "b": "editor::ScrollCursorBottom"
356 }
357 },
358 {
359 "context": "Editor && VimObject",
360 "bindings": {
361 "w": "vim::Word",
362 "shift-w": [
363 "vim::Word",
364 {
365 "ignorePunctuation": true
366 }
367 ],
368 "s": "vim::Sentence",
369 "'": "vim::Quotes",
370 "`": "vim::BackQuotes",
371 "\"": "vim::DoubleQuotes",
372 "(": "vim::Parentheses",
373 ")": "vim::Parentheses",
374 "[": "vim::SquareBrackets",
375 "]": "vim::SquareBrackets",
376 "{": "vim::CurlyBrackets",
377 "}": "vim::CurlyBrackets",
378 "<": "vim::AngleBrackets",
379 ">": "vim::AngleBrackets"
380 }
381 },
382 {
383 "context": "Editor && vim_mode == visual && !VimWaiting",
384 "bindings": {
385 "u": "editor::Undo",
386 "c": "vim::VisualChange",
387 "d": "vim::VisualDelete",
388 "x": "vim::VisualDelete",
389 "y": "vim::VisualYank",
390 "p": "vim::VisualPaste",
391 "s": "vim::Substitute",
392 "~": "vim::ChangeCase",
393 "r": [
394 "vim::PushOperator",
395 "Replace"
396 ],
397 "ctrl-c": [
398 "vim::SwitchMode",
399 "Normal"
400 ],
401 ">": "editor::Indent",
402 "<": "editor::Outdent"
403 }
404 },
405 {
406 "context": "Editor && vim_mode == insert",
407 "bindings": {
408 "escape": "vim::NormalBefore",
409 "ctrl-c": "vim::NormalBefore",
410 "ctrl-[": "vim::NormalBefore"
411 }
412 },
413 {
414 "context": "Editor && VimWaiting",
415 "bindings": {
416 "tab": "vim::Tab",
417 "enter": "vim::Enter",
418 "escape": [
419 "vim::SwitchMode",
420 "Normal"
421 ],
422 "ctrl+[": [
423 "vim::SwitchMode",
424 "Normal"
425 ]
426 }
427 },
428 {
429 "context": "BufferSearchBar > VimEnabled",
430 "bindings": {
431 "enter": "vim::SearchSubmit",
432 "escape": "buffer_search::Dismiss"
433 }
434 }
435]