1[
2 {
3 "context": "Editor && VimControl",
4 "bindings": {
5 "g": [
6 "vim::PushOperator",
7 {
8 "Namespace": "G"
9 }
10 ],
11 "h": "vim::Left",
12 "backspace": "vim::Backspace",
13 "j": "vim::Down",
14 "k": "vim::Up",
15 "l": "vim::Right",
16 "$": "vim::EndOfLine",
17 "shift-g": "vim::EndOfDocument",
18 "w": "vim::NextWordStart",
19 "shift-w": [
20 "vim::NextWordStart",
21 {
22 "ignorePunctuation": true
23 }
24 ],
25 "e": "vim::NextWordEnd",
26 "shift-e": [
27 "vim::NextWordEnd",
28 {
29 "ignorePunctuation": true
30 }
31 ],
32 "b": "vim::PreviousWordStart",
33 "shift-b": [
34 "vim::PreviousWordStart",
35 {
36 "ignorePunctuation": true
37 }
38 ],
39 "%": "vim::Matching",
40 "escape": "editor::Cancel",
41 "0": "vim::StartOfLine", // When no number operator present, use start of line motion
42 "1": [
43 "vim::Number",
44 1
45 ],
46 "2": [
47 "vim::Number",
48 2
49 ],
50 "3": [
51 "vim::Number",
52 3
53 ],
54 "4": [
55 "vim::Number",
56 4
57 ],
58 "5": [
59 "vim::Number",
60 5
61 ],
62 "6": [
63 "vim::Number",
64 6
65 ],
66 "7": [
67 "vim::Number",
68 7
69 ],
70 "8": [
71 "vim::Number",
72 8
73 ],
74 "9": [
75 "vim::Number",
76 9
77 ]
78 }
79 },
80 {
81 //Operators
82 "context": "Editor && VimControl && vim_operator == none",
83 "bindings": {
84 "i": [
85 "vim::PushOperator",
86 {
87 "Object": {
88 "around": false
89 }
90 }
91 ],
92 "a": [
93 "vim::PushOperator",
94 {
95 "Object": {
96 "around": true
97 }
98 }
99 ]
100 }
101 },
102 {
103 "context": "Editor && vim_mode == normal && vim_operator == none",
104 "bindings": {
105 "c": [
106 "vim::PushOperator",
107 "Change"
108 ],
109 "shift-c": "vim::ChangeToEndOfLine",
110 "d": [
111 "vim::PushOperator",
112 "Delete"
113 ],
114 "shift-d": "vim::DeleteToEndOfLine",
115 "y": [
116 "vim::PushOperator",
117 "Yank"
118 ],
119 "z": [
120 "vim::PushOperator",
121 {
122 "Namespace": "Z"
123 }
124 ],
125 "i": [
126 "vim::SwitchMode",
127 "Insert"
128 ],
129 "shift-i": "vim::InsertFirstNonWhitespace",
130 "a": "vim::InsertAfter",
131 "shift-a": "vim::InsertEndOfLine",
132 "x": "vim::DeleteRight",
133 "shift-x": "vim::DeleteLeft",
134 "^": "vim::FirstNonWhitespace",
135 "o": "vim::InsertLineBelow",
136 "shift-o": "vim::InsertLineAbove",
137 "v": [
138 "vim::SwitchMode",
139 {
140 "Visual": {
141 "line": false
142 }
143 }
144 ],
145 "shift-v": [
146 "vim::SwitchMode",
147 {
148 "Visual": {
149 "line": true
150 }
151 }
152 ],
153 "p": "vim::Paste",
154 "u": "editor::Undo",
155 "ctrl-r": "editor::Redo",
156 "ctrl-o": "pane::GoBack",
157 "/": [
158 "buffer_search::Deploy",
159 {
160 "focus": true
161 }
162 ],
163 "ctrl-f": [
164 "vim::Scroll",
165 "PageDown"
166 ],
167 "ctrl-b": [
168 "vim::Scroll",
169 "PageUp"
170 ],
171 "ctrl-d": [
172 "vim::Scroll",
173 "HalfPageDown"
174 ],
175 "ctrl-u": [
176 "vim::Scroll",
177 "HalfPageUp"
178 ],
179 "ctrl-e": [
180 "vim::Scroll",
181 "LineDown"
182 ],
183 "ctrl-y": [
184 "vim::Scroll",
185 "LineUp"
186 ]
187 }
188 },
189 {
190 "context": "Editor && vim_operator == n",
191 "bindings": {
192 "0": [
193 "vim::Number",
194 0
195 ]
196 }
197 },
198 {
199 "context": "Editor && vim_operator == g",
200 "bindings": {
201 "g": "vim::StartOfDocument",
202 "h": "editor::Hover",
203 "escape": [
204 "vim::SwitchMode",
205 "Normal"
206 ]
207 }
208 },
209 {
210 "context": "Editor && vim_operator == c",
211 "bindings": {
212 "c": "vim::CurrentLine"
213 }
214 },
215 {
216 "context": "Editor && vim_operator == d",
217 "bindings": {
218 "d": "vim::CurrentLine"
219 }
220 },
221 {
222 "context": "Editor && vim_operator == y",
223 "bindings": {
224 "y": "vim::CurrentLine"
225 }
226 },
227 {
228 "context": "Editor && vim_operator == z",
229 "bindings": {
230 "t": "editor::ScrollCursorTop",
231 "z": "editor::ScrollCursorCenter",
232 "b": "editor::ScrollCursorBottom",
233 "escape": [
234 "vim::SwitchMode",
235 "Normal"
236 ]
237 }
238 },
239 {
240 "context": "Editor && VimObject",
241 "bindings": {
242 "w": "vim::Word",
243 "shift-w": [
244 "vim::Word",
245 {
246 "ignorePunctuation": true
247 }
248 ],
249 "s": "vim::Sentence",
250 "'": "vim::Quotes",
251 "`": "vim::BackQuotes",
252 "\"": "vim::DoubleQuotes",
253 "(": "vim::Parentheses",
254 ")": "vim::Parentheses",
255 "[": "vim::SquareBrackets",
256 "]": "vim::SquareBrackets",
257 "{": "vim::CurlyBrackets",
258 "}": "vim::CurlyBrackets",
259 "<": "vim::AngleBrackets",
260 ">": "vim::AngleBrackets"
261 }
262 },
263 {
264 "context": "Editor && vim_mode == visual",
265 "bindings": {
266 "u": "editor::Undo",
267 "c": "vim::VisualChange",
268 "d": "vim::VisualDelete",
269 "x": "vim::VisualDelete",
270 "y": "vim::VisualYank",
271 "p": "vim::VisualPaste"
272 }
273 },
274 {
275 "context": "Editor && vim_mode == insert",
276 "bindings": {
277 "escape": "vim::NormalBefore",
278 "ctrl-c": "vim::NormalBefore"
279 }
280 }
281]