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 "*": "vim::MoveToNext",
105 "#": "vim::MoveToPrev",
106 "0": "vim::StartOfLine", // When no number operator present, use start of line motion
107 "1": [
108 "vim::Number",
109 1
110 ],
111 "2": [
112 "vim::Number",
113 2
114 ],
115 "3": [
116 "vim::Number",
117 3
118 ],
119 "4": [
120 "vim::Number",
121 4
122 ],
123 "5": [
124 "vim::Number",
125 5
126 ],
127 "6": [
128 "vim::Number",
129 6
130 ],
131 "7": [
132 "vim::Number",
133 7
134 ],
135 "8": [
136 "vim::Number",
137 8
138 ],
139 "9": [
140 "vim::Number",
141 9
142 ]
143 }
144 },
145 {
146 "context": "Editor && vim_mode == normal && (vim_operator == none || vim_operator == n) && !VimWaiting",
147 "bindings": {
148 "c": [
149 "vim::PushOperator",
150 "Change"
151 ],
152 "shift-c": "vim::ChangeToEndOfLine",
153 "d": [
154 "vim::PushOperator",
155 "Delete"
156 ],
157 "shift-d": "vim::DeleteToEndOfLine",
158 "shift-j": "editor::JoinLines",
159 "y": [
160 "vim::PushOperator",
161 "Yank"
162 ],
163 "z": [
164 "vim::PushOperator",
165 {
166 "Namespace": "Z"
167 }
168 ],
169 "i": [
170 "vim::SwitchMode",
171 "Insert"
172 ],
173 "shift-i": "vim::InsertFirstNonWhitespace",
174 "a": "vim::InsertAfter",
175 "shift-a": "vim::InsertEndOfLine",
176 "x": "vim::DeleteRight",
177 "shift-x": "vim::DeleteLeft",
178 "o": "vim::InsertLineBelow",
179 "shift-o": "vim::InsertLineAbove",
180 "~": "vim::ChangeCase",
181 "v": [
182 "vim::SwitchMode",
183 {
184 "Visual": {
185 "line": false
186 }
187 }
188 ],
189 "shift-v": [
190 "vim::SwitchMode",
191 {
192 "Visual": {
193 "line": true
194 }
195 }
196 ],
197 "p": "vim::Paste",
198 "u": "editor::Undo",
199 "ctrl-r": "editor::Redo",
200 "/": [
201 "buffer_search::Deploy",
202 {
203 "focus": true
204 }
205 ],
206 "ctrl-f": "vim::PageDown",
207 "pagedown": "vim::PageDown",
208 "ctrl-b": "vim::PageUp",
209 "pageup": "vim::PageUp",
210 "ctrl-d": "vim::ScrollDown",
211 "ctrl-u": "vim::ScrollUp",
212 "ctrl-e": "vim::LineDown",
213 "ctrl-y": "vim::LineUp",
214 "r": [
215 "vim::PushOperator",
216 "Replace"
217 ],
218 "s": "vim::Substitute",
219 "> >": "editor::Indent",
220 "< <": "editor::Outdent",
221 "ctrl-pagedown": "pane::ActivateNextItem",
222 "ctrl-pageup": "pane::ActivatePrevItem"
223 }
224 },
225 {
226 "context": "Editor && vim_operator == n",
227 "bindings": {
228 "0": [
229 "vim::Number",
230 0
231 ]
232 }
233 },
234 {
235 "context": "Editor && vim_operator == g",
236 "bindings": {
237 "g": "vim::StartOfDocument",
238 "h": "editor::Hover",
239 "t": "pane::ActivateNextItem",
240 "shift-t": "pane::ActivatePrevItem",
241 "escape": [
242 "vim::SwitchMode",
243 "Normal"
244 ],
245 "d": "editor::GoToDefinition",
246 "*": [
247 "vim::MoveToNext",
248 {
249 "partialWord": true
250 }
251 ],
252 "#": [
253 "vim::MoveToPrev",
254 {
255 "partialWord": true
256 }
257 ]
258 }
259 },
260 {
261 "context": "Editor && vim_operator == c",
262 "bindings": {
263 "c": "vim::CurrentLine"
264 }
265 },
266 {
267 "context": "Editor && vim_operator == d",
268 "bindings": {
269 "d": "vim::CurrentLine"
270 }
271 },
272 {
273 "context": "Editor && vim_operator == y",
274 "bindings": {
275 "y": "vim::CurrentLine"
276 }
277 },
278 {
279 "context": "Editor && vim_operator == z",
280 "bindings": {
281 "t": "editor::ScrollCursorTop",
282 "z": "editor::ScrollCursorCenter",
283 "b": "editor::ScrollCursorBottom",
284 "escape": [
285 "vim::SwitchMode",
286 "Normal"
287 ]
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 }
343 },
344 {
345 "context": "Editor && VimWaiting",
346 "bindings": {
347 "tab": "vim::Tab",
348 "enter": "vim::Enter",
349 "escape": [
350 "vim::SwitchMode",
351 "Normal"
352 ]
353 }
354 },
355 {
356 "context": "BufferSearchBar",
357 "bindings": {
358 "enter": "buffer_search::FocusEditor"
359 }
360 }
361]