vim.json

  1[
  2    {
  3        "context": "Editor && VimControl",
  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            "k": "vim::Up",
 31            "l": "vim::Right",
 32            "$": "vim::EndOfLine",
 33            "shift-g": "vim::EndOfDocument",
 34            "w": "vim::NextWordStart",
 35            "shift-w": [
 36                "vim::NextWordStart",
 37                {
 38                    "ignorePunctuation": true
 39                }
 40            ],
 41            "e": "vim::NextWordEnd",
 42            "shift-e": [
 43                "vim::NextWordEnd",
 44                {
 45                    "ignorePunctuation": true
 46                }
 47            ],
 48            "b": "vim::PreviousWordStart",
 49            "shift-b": [
 50                "vim::PreviousWordStart",
 51                {
 52                    "ignorePunctuation": true
 53                }
 54            ],
 55            "%": "vim::Matching",
 56            "escape": "editor::Cancel",
 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            "z": [
114                "vim::PushOperator",
115                {
116                    "Namespace": "Z"
117                }
118            ],
119            "i": [
120                "vim::SwitchMode",
121                "Insert"
122            ],
123            "shift-i": "vim::InsertFirstNonWhitespace",
124            "a": "vim::InsertAfter",
125            "shift-a": "vim::InsertEndOfLine",
126            "x": "vim::DeleteRight",
127            "shift-x": "vim::DeleteLeft",
128            "^": "vim::FirstNonWhitespace",
129            "o": "vim::InsertLineBelow",
130            "shift-o": "vim::InsertLineAbove",
131            "v": [
132                "vim::SwitchMode",
133                {
134                    "Visual": {
135                        "line": false
136                    }
137                }
138            ],
139            "shift-v": [
140                "vim::SwitchMode",
141                {
142                    "Visual": {
143                        "line": true
144                    }
145                }
146            ],
147            "p": "vim::Paste",
148            "u": "editor::Undo",
149            "ctrl-r": "editor::Redo",
150            "ctrl-o": "pane::GoBack",
151            "/": [
152                "buffer_search::Deploy",
153                {
154                    "focus": true
155                }
156            ],
157            "ctrl-f": [
158                "vim::Scroll",
159                "PageDown"
160            ],
161            "ctrl-b": [
162                "vim::Scroll",
163                "PageUp"
164            ],
165            "ctrl-d": [
166                "vim::Scroll",
167                "HalfPageDown"
168            ],
169            "ctrl-u": [
170                "vim::Scroll",
171                "HalfPageUp"
172            ],
173            "ctrl-e": [
174                "vim::Scroll",
175                "LineDown"
176            ],
177            "ctrl-y": [
178                "vim::Scroll",
179                "LineUp"
180            ]
181        }
182    },
183    {
184        "context": "Editor && vim_operator == n",
185        "bindings": {
186            "0": [
187                "vim::Number",
188                0
189            ]
190        }
191    },
192    {
193        "context": "Editor && vim_operator == g",
194        "bindings": {
195            "g": "vim::StartOfDocument",
196            "h": "editor::Hover",
197            "escape": [
198                "vim::SwitchMode",
199                "Normal"
200            ]
201        }
202    },
203    {
204        "context": "Editor && vim_operator == c",
205        "bindings": {
206            "c": "vim::CurrentLine"
207        }
208    },
209    {
210        "context": "Editor && vim_operator == d",
211        "bindings": {
212            "d": "vim::CurrentLine"
213        }
214    },
215    {
216        "context": "Editor && vim_operator == y",
217        "bindings": {
218            "y": "vim::CurrentLine"
219        }
220    },
221    {
222        "context": "Editor && vim_operator == z",
223        "bindings": {
224            "t": "editor::ScrollCursorTop",
225            "z": "editor::ScrollCursorCenter",
226            "b": "editor::ScrollCursorBottom",
227            "escape": [
228                "vim::SwitchMode",
229                "Normal"
230            ]
231        }
232    },
233    {
234        "context": "Editor && VimObject",
235        "bindings": {
236            "w": "vim::Word",
237            "shift-w": [
238                "vim::Word",
239                {
240                    "ignorePunctuation": true
241                }
242            ],
243            "s": "vim::Sentence",
244            "'": "vim::Quotes",
245            "`": "vim::BackQuotes",
246            "\"": "vim::DoubleQuotes",
247            "(": "vim::Parentheses",
248            ")": "vim::Parentheses",
249            "[": "vim::SquareBrackets",
250            "]": "vim::SquareBrackets",
251            "{": "vim::CurlyBrackets",
252            "}": "vim::CurlyBrackets",
253            "<": "vim::AngleBrackets",
254            ">": "vim::AngleBrackets"
255        }
256    },
257    {
258        "context": "Editor && vim_mode == visual",
259        "bindings": {
260            "u": "editor::Undo",
261            "c": "vim::VisualChange",
262            "d": "vim::VisualDelete",
263            "x": "vim::VisualDelete",
264            "y": "vim::VisualYank",
265            "p": "vim::VisualPaste"
266        }
267    },
268    {
269        "context": "Editor && vim_mode == insert",
270        "bindings": {
271            "escape": "vim::NormalBefore",
272            "ctrl-c": "vim::NormalBefore"
273        }
274    }
275]