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": "editor::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": [
 41                "vim::SwitchMode",
 42                "Normal"
 43            ]
 44        }
 45    },
 46    {
 47        "context": "Editor && vim_mode == normal",
 48        "bindings": {
 49            "escape": "editor::Cancel",
 50            "c": [
 51                "vim::PushOperator",
 52                "Change"
 53            ],
 54            "shift-C": "vim::ChangeToEndOfLine",
 55            "d": [
 56                "vim::PushOperator",
 57                "Delete"
 58            ],
 59            "shift-D": "vim::DeleteToEndOfLine",
 60            "y": [
 61                "vim::PushOperator",
 62                "Yank"
 63            ],
 64            "i": [
 65                "vim::SwitchMode",
 66                "Insert"
 67            ],
 68            "shift-I": "vim::InsertFirstNonWhitespace",
 69            "a": "vim::InsertAfter",
 70            "shift-A": "vim::InsertEndOfLine",
 71            "x": "vim::DeleteRight",
 72            "shift-X": "vim::DeleteLeft",
 73            "shift-^": "vim::FirstNonWhitespace",
 74            "o": "vim::InsertLineBelow",
 75            "shift-O": "vim::InsertLineAbove",
 76            "v": [
 77                "vim::SwitchMode",
 78                "Visual"
 79            ],
 80            "shift-V": [
 81                "vim::SwitchMode",
 82                "VisualLine"
 83            ],
 84            "p": "vim::Paste",
 85            "u": "editor::Undo",
 86            "ctrl-r": "editor::Redo",
 87            "ctrl-o": "pane::GoBack"
 88        }
 89    },
 90    {
 91        "context": "Editor && vim_operator == g",
 92        "bindings": {
 93            "g": "vim::StartOfDocument",
 94            "escape": [
 95                "vim::SwitchMode",
 96                "Normal"
 97            ]
 98        }
 99    },
100    {
101        "context": "Editor && vim_operator == c",
102        "bindings": {
103            "w": "vim::ChangeWord",
104            "shift-W": [
105                "vim::ChangeWord",
106                {
107                    "ignorePunctuation": true
108                }
109            ],
110            "c": "vim::CurrentLine"
111        }
112    },
113    {
114        "context": "Editor && vim_operator == d",
115        "bindings": {
116            "d": "vim::CurrentLine"
117        }
118    },
119    {
120        "context": "Editor && vim_operator == y",
121        "bindings": {
122            "y": "vim::CurrentLine"
123        }
124    },
125    {
126        "context": "Editor && vim_mode == visual",
127        "bindings": {
128            "c": "vim::VisualChange",
129            "d": "vim::VisualDelete",
130            "x": "vim::VisualDelete",
131            "y": "vim::VisualYank"
132        }
133    },
134    {
135        "context": "Editor && vim_mode == visual_line",
136        "bindings": {
137            "c": "vim::VisualLineChange",
138            "d": "vim::VisualLineDelete",
139            "x": "vim::VisualLineDelete",
140            "y": "vim::VisualLineYank"
141        }
142    },
143    {
144        "context": "Editor && vim_mode == insert",
145        "bindings": {
146            "escape": "vim::NormalBefore",
147            "ctrl-c": "vim::NormalBefore"
148        }
149    },
150    {
151        "context": "Editor && mode == singleline",
152        "bindings": {
153            "escape": "editor::Cancel"
154        }
155    }
156]