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