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 }
150 },
151 {
152 "context": "Editor && vim_mode == normal && (vim_operator == none || vim_operator == n) && !VimWaiting",
153 "bindings": {
154 "c": [
155 "vim::PushOperator",
156 "Change"
157 ],
158 "shift-c": "vim::ChangeToEndOfLine",
159 "d": [
160 "vim::PushOperator",
161 "Delete"
162 ],
163 "shift-d": "vim::DeleteToEndOfLine",
164 "shift-j": "editor::JoinLines",
165 "y": [
166 "vim::PushOperator",
167 "Yank"
168 ],
169 "z": [
170 "vim::PushOperator",
171 {
172 "Namespace": "Z"
173 }
174 ],
175 "i": [
176 "vim::SwitchMode",
177 "Insert"
178 ],
179 "shift-i": "vim::InsertFirstNonWhitespace",
180 "a": "vim::InsertAfter",
181 "shift-a": "vim::InsertEndOfLine",
182 "x": "vim::DeleteRight",
183 "shift-x": "vim::DeleteLeft",
184 "o": "vim::InsertLineBelow",
185 "shift-o": "vim::InsertLineAbove",
186 "~": "vim::ChangeCase",
187 "v": [
188 "vim::SwitchMode",
189 {
190 "Visual": {
191 "line": false
192 }
193 }
194 ],
195 "shift-v": [
196 "vim::SwitchMode",
197 {
198 "Visual": {
199 "line": true
200 }
201 }
202 ],
203 "p": "vim::Paste",
204 "u": "editor::Undo",
205 "ctrl-r": "editor::Redo",
206 "/": "vim::Search",
207 "?": [
208 "vim::Search",
209 {
210 "backwards": true
211 }
212 ],
213 "ctrl-f": "vim::PageDown",
214 "pagedown": "vim::PageDown",
215 "ctrl-b": "vim::PageUp",
216 "pageup": "vim::PageUp",
217 "ctrl-d": "vim::ScrollDown",
218 "ctrl-u": "vim::ScrollUp",
219 "ctrl-e": "vim::LineDown",
220 "ctrl-y": "vim::LineUp",
221 "r": [
222 "vim::PushOperator",
223 "Replace"
224 ],
225 "s": "vim::Substitute",
226 "> >": "editor::Indent",
227 "< <": "editor::Outdent",
228 "ctrl-pagedown": "pane::ActivateNextItem",
229 "ctrl-pageup": "pane::ActivatePrevItem"
230 }
231 },
232 {
233 "context": "Editor && vim_operator == n",
234 "bindings": {
235 "0": [
236 "vim::Number",
237 0
238 ]
239 }
240 },
241 {
242 "context": "Editor && vim_operator == g",
243 "bindings": {
244 "g": "vim::StartOfDocument",
245 "h": "editor::Hover",
246 "t": "pane::ActivateNextItem",
247 "shift-t": "pane::ActivatePrevItem",
248 "d": "editor::GoToDefinition",
249 "shift-d": "editor::GoToTypeDefinition",
250 "*": [
251 "vim::MoveToNext",
252 {
253 "partialWord": true
254 }
255 ],
256 "#": [
257 "vim::MoveToPrev",
258 {
259 "partialWord": true
260 }
261 ]
262 }
263 },
264 {
265 "context": "Editor && vim_operator == c",
266 "bindings": {
267 "c": "vim::CurrentLine"
268 }
269 },
270 {
271 "context": "Editor && vim_operator == d",
272 "bindings": {
273 "d": "vim::CurrentLine"
274 }
275 },
276 {
277 "context": "Editor && vim_operator == y",
278 "bindings": {
279 "y": "vim::CurrentLine"
280 }
281 },
282 {
283 "context": "Editor && vim_operator == z",
284 "bindings": {
285 "t": "editor::ScrollCursorTop",
286 "z": "editor::ScrollCursorCenter",
287 "b": "editor::ScrollCursorBottom"
288 }
289 },
290 {
291 "context": "Editor && VimObject",
292 "bindings": {
293 "w": "vim::Word",
294 "shift-w": [
295 "vim::Word",
296 {
297 "ignorePunctuation": true
298 }
299 ],
300 "s": "vim::Sentence",
301 "'": "vim::Quotes",
302 "`": "vim::BackQuotes",
303 "\"": "vim::DoubleQuotes",
304 "(": "vim::Parentheses",
305 ")": "vim::Parentheses",
306 "[": "vim::SquareBrackets",
307 "]": "vim::SquareBrackets",
308 "{": "vim::CurlyBrackets",
309 "}": "vim::CurlyBrackets",
310 "<": "vim::AngleBrackets",
311 ">": "vim::AngleBrackets"
312 }
313 },
314 {
315 "context": "Editor && vim_mode == visual && !VimWaiting",
316 "bindings": {
317 "u": "editor::Undo",
318 "c": "vim::VisualChange",
319 "d": "vim::VisualDelete",
320 "x": "vim::VisualDelete",
321 "y": "vim::VisualYank",
322 "p": "vim::VisualPaste",
323 "s": "vim::Substitute",
324 "~": "vim::ChangeCase",
325 "r": [
326 "vim::PushOperator",
327 "Replace"
328 ],
329 "ctrl-c": [
330 "vim::SwitchMode",
331 "Normal"
332 ],
333 ">": "editor::Indent",
334 "<": "editor::Outdent"
335 }
336 },
337 {
338 "context": "Editor && vim_mode == insert",
339 "bindings": {
340 "escape": "vim::NormalBefore",
341 "ctrl-c": "vim::NormalBefore",
342 "ctrl-[": "vim::NormalBefore"
343 }
344 },
345 {
346 "context": "Editor && VimWaiting",
347 "bindings": {
348 "tab": "vim::Tab",
349 "enter": "vim::Enter",
350 "escape": [
351 "vim::SwitchMode",
352 "Normal"
353 ],
354 "ctrl+[": [
355 "vim::SwitchMode",
356 "Normal"
357 ]
358 }
359 },
360 {
361 "context": "BufferSearchBar",
362 "bindings": {
363 "enter": "vim::SearchSubmit",
364 "escape": "buffer_search::Dismiss"
365 }
366 }
367]