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