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