vim.json

  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]