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 "i": [
42 "vim::PushOperator",
43 {
44 "Object": {
45 "around": false
46 }
47 }
48 ],
49 "a": [
50 "vim::PushOperator",
51 {
52 "Object": {
53 "around": true
54 }
55 }
56 ],
57 "0": "vim::StartOfLine", // When no number operator present, use start of line motion
58 "1": [
59 "vim::Number",
60 1
61 ],
62 "2": [
63 "vim::Number",
64 2
65 ],
66 "3": [
67 "vim::Number",
68 3
69 ],
70 "4": [
71 "vim::Number",
72 4
73 ],
74 "5": [
75 "vim::Number",
76 5
77 ],
78 "6": [
79 "vim::Number",
80 6
81 ],
82 "7": [
83 "vim::Number",
84 7
85 ],
86 "8": [
87 "vim::Number",
88 8
89 ],
90 "9": [
91 "vim::Number",
92 9
93 ]
94 }
95 },
96 {
97 "context": "Editor && vim_mode == normal && vim_operator == none",
98 "bindings": {
99 "c": [
100 "vim::PushOperator",
101 "Change"
102 ],
103 "shift-c": "vim::ChangeToEndOfLine",
104 "d": [
105 "vim::PushOperator",
106 "Delete"
107 ],
108 "shift-d": "vim::DeleteToEndOfLine",
109 "y": [
110 "vim::PushOperator",
111 "Yank"
112 ],
113 "i": [
114 "vim::SwitchMode",
115 "Insert"
116 ],
117 "shift-i": "vim::InsertFirstNonWhitespace",
118 "a": "vim::InsertAfter",
119 "shift-a": "vim::InsertEndOfLine",
120 "x": "vim::DeleteRight",
121 "shift-x": "vim::DeleteLeft",
122 "^": "vim::FirstNonWhitespace",
123 "o": "vim::InsertLineBelow",
124 "shift-o": "vim::InsertLineAbove",
125 "v": [
126 "vim::SwitchMode",
127 {
128 "Visual": {
129 "line": false
130 }
131 }
132 ],
133 "shift-v": [
134 "vim::SwitchMode",
135 {
136 "Visual": {
137 "line": true
138 }
139 }
140 ],
141 "p": "vim::Paste",
142 "u": "editor::Undo",
143 "ctrl-r": "editor::Redo",
144 "ctrl-o": "pane::GoBack",
145 "/": [
146 "buffer_search::Deploy",
147 {
148 "focus": true
149 }
150 ]
151 }
152 },
153 {
154 "context": "Editor && vim_operator == n",
155 "bindings": {
156 "0": [
157 "vim::Number",
158 0
159 ]
160 }
161 },
162 {
163 "context": "Editor && vim_operator == g",
164 "bindings": {
165 "g": "vim::StartOfDocument",
166 "h": "editor::Hover",
167 "escape": [
168 "vim::SwitchMode",
169 "Normal"
170 ]
171 }
172 },
173 {
174 "context": "Editor && vim_operator == c",
175 "bindings": {
176 "c": "vim::CurrentLine"
177 }
178 },
179 {
180 "context": "Editor && vim_operator == d",
181 "bindings": {
182 "d": "vim::CurrentLine"
183 }
184 },
185 {
186 "context": "Editor && vim_operator == y",
187 "bindings": {
188 "y": "vim::CurrentLine"
189 }
190 },
191 {
192 "context": "Editor && VimObject",
193 "bindings": {
194 "w": "vim::Word",
195 "shift-w": [
196 "vim::Word",
197 {
198 "ignorePunctuation": true
199 }
200 ],
201 "s": "vim::Sentence",
202 "'": "vim::Quotes",
203 "`": "vim::BackQuotes",
204 "\"": "vim::DoubleQuotes",
205 "(": "vim::Parentheses",
206 ")": "vim::Parentheses",
207 "[": "vim::SquareBrackets",
208 "]": "vim::SquareBrackets",
209 "{": "vim::CurlyBrackets",
210 "}": "vim::CurlyBrackets",
211 "<": "vim::AngleBrackets",
212 ">": "vim::AngleBrackets"
213 }
214 },
215 {
216 "context": "Editor && vim_mode == visual",
217 "bindings": {
218 "u": "editor::Undo",
219 "c": "vim::VisualChange",
220 "d": "vim::VisualDelete",
221 "x": "vim::VisualDelete",
222 "y": "vim::VisualYank",
223 "p": "vim::VisualPaste"
224 }
225 },
226 {
227 "context": "Editor && vim_mode == insert",
228 "bindings": {
229 "escape": "vim::NormalBefore",
230 "ctrl-c": "vim::NormalBefore"
231 }
232 }
233]