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            "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]