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::Left",
 13            "j": "vim::Down",
 14            "k": "vim::Up",
 15            "l": "vim::Right",
 16            "0": "vim::StartOfLine",
 17            "shift-$": "vim::EndOfLine",
 18            "shift-G": "vim::EndOfDocument",
 19            "w": "vim::NextWordStart",
 20            "shift-W": [
 21                "vim::NextWordStart",
 22                {
 23                    "ignorePunctuation": true
 24                }
 25            ],
 26            "e": "vim::NextWordEnd",
 27            "shift-E": [
 28                "vim::NextWordEnd",
 29                {
 30                    "ignorePunctuation": true
 31                }
 32            ],
 33            "b": "vim::PreviousWordStart",
 34            "shift-B": [
 35                "vim::PreviousWordStart",
 36                {
 37                    "ignorePunctuation": true
 38                }
 39            ],
 40            "escape": "editor::Cancel"
 41        }
 42    },
 43    {
 44        "context": "Editor && vim_mode == normal && vim_operator == none",
 45        "bindings": {
 46            "c": [
 47                "vim::PushOperator",
 48                "Change"
 49            ],
 50            "shift-C": "vim::ChangeToEndOfLine",
 51            "d": [
 52                "vim::PushOperator",
 53                "Delete"
 54            ],
 55            "shift-D": "vim::DeleteToEndOfLine",
 56            "y": [
 57                "vim::PushOperator",
 58                "Yank"
 59            ],
 60            "i": [
 61                "vim::SwitchMode",
 62                "Insert"
 63            ],
 64            "shift-I": "vim::InsertFirstNonWhitespace",
 65            "a": "vim::InsertAfter",
 66            "shift-A": "vim::InsertEndOfLine",
 67            "x": "vim::DeleteRight",
 68            "shift-X": "vim::DeleteLeft",
 69            "shift-^": "vim::FirstNonWhitespace",
 70            "o": "vim::InsertLineBelow",
 71            "shift-O": "vim::InsertLineAbove",
 72            "v": [
 73                "vim::SwitchMode",
 74                {
 75                    "Visual": {
 76                        "line": false
 77                    }
 78                }
 79            ],
 80            "shift-V": [
 81                "vim::SwitchMode",
 82                {
 83                    "Visual": {
 84                        "line": true
 85                    }
 86                }
 87            ],
 88            "p": "vim::Paste",
 89            "u": "editor::Undo",
 90            "ctrl-r": "editor::Redo",
 91            "ctrl-o": "pane::GoBack",
 92            "/": [
 93                "buffer_search::Deploy",
 94                {
 95                    "focus": true
 96                }
 97            ]
 98        }
 99    },
100    {
101        "context": "Editor && vim_operator == g",
102        "bindings": {
103            "g": "vim::StartOfDocument",
104            "h": "editor::Hover",
105            "escape": [
106                "vim::SwitchMode",
107                "Normal"
108            ]
109        }
110    },
111    {
112        "context": "Editor && vim_operator == c",
113        "bindings": {
114            "w": "vim::ChangeWord",
115            "shift-W": [
116                "vim::ChangeWord",
117                {
118                    "ignorePunctuation": true
119                }
120            ],
121            "c": "vim::CurrentLine"
122        }
123    },
124    {
125        "context": "Editor && vim_operator == d",
126        "bindings": {
127            "d": "vim::CurrentLine"
128        }
129    },
130    {
131        "context": "Editor && vim_operator == y",
132        "bindings": {
133            "y": "vim::CurrentLine"
134        }
135    },
136    {
137        "context": "Editor && vim_mode == visual",
138        "bindings": {
139            "c": "vim::VisualChange",
140            "d": "vim::VisualDelete",
141            "x": "vim::VisualDelete",
142            "y": "vim::VisualYank"
143        }
144    },
145    {
146        "context": "Editor && vim_mode == insert",
147        "bindings": {
148            "escape": "vim::NormalBefore",
149            "ctrl-c": "vim::NormalBefore"
150        }
151    }
152]