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