vim.json

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