Documentation
{
  "keybindings": {
    "__main__": {
      "C-c": "quit",
      "C-g": "cancel",
      "M-s": "save",
      "M-r": "reload",
      "C-/": "undo",
      "C-a": "SOL",
      "C-e": "EOL",
      "M-<": "SOF",
      "M->": "EOF",
      "C-l": "recenter",
      "C- ": "mark",
      "C-w": "cut",
      "M-w": "copy",
      "C-y": "paste",
      "<VISIBLE>": "insert",
      "<DELETE>": "delete",
      "<BACKSPACE>": "backspace",
      "<ENTER>": "newline",
      "<UP>": "up",
      "<DOWN>": "down",
      "<LEFT>": "left",
      "<RIGHT>": "right",
      "__hidden__": {
        "C-0x7f": "undo",
        "C-u": "undo",
        "C-`": "mark",
        "C-p": "up",
        "C-n": "down",
        "C-b": "left",
        "C-f": "right",
        "C-<LEFT>": "up",
        "C-<RIGHT>": "down",
        "C-d": "delete",
        "C-h": "backspace",
        "C-j": "newline",
        "M-h": "niho",
        "M-l": "mark-line"
      }
    }
  },
  "keylabels": {
    "<UP>": "",
    "<DOWN>": "",
    "<LEFT>": "",
    "<RIGHT>": "",
    "<DELETE>": "",
    "<BACKSPACE>": "",
    "<ENTER>": "",
    "<VISIBLE>": "🔤"
  },
  "actions": {
    "quit": {
      "type": "quit"
    },
    "cancel": {
      "type": "cancel"
    },
    "mark": {
      "type": "mark-set"
    },
    "mark-line": [
      {
        "type": "cursor-line-start"
      },
      {
        "type": "mark-set"
      },
      {
        "type": "cursor-line-end"
      }
    ],
    "cut": {
      "type": "mark-cut"
    },
    "copy": {
      "type": "mark-copy"
    },
    "paste": {
      "type": "clipboard-paste"
    },
    "save": {
      "type": "buffer-save"
    },
    "reload": {
      "type": "buffer-reload"
    },
    "undo": {
      "type": "buffer-undo"
    },
    "backspace": {
      "type": "char-delete-backward"
    },
    "delete": {
      "type": "char-delete-forward"
    },
    "insert": {
      "type": "char-insert"
    },
    "newline": {
      "type": "newline-insert"
    },
    "up": {
      "type": "cursor-up"
    },
    "down": {
      "type": "cursor-down"
    },
    "left": {
      "type": "cursor-left"
    },
    "right": {
      "type": "cursor-right"
    },
    "SOL": {
      "type": "cursor-line-start"
    },
    "EOL": {
      "type": "cursor-line-end"
    },
    "SOF": {
      "type": "cursor-buffer-start"
    },
    "EOF": {
      "type": "cursor-buffer-end"
    },
    "recenter": {
      "type": "view-recenter"
    },
    "niho": [
      {
        "type": "cursor-line-start"
      },
      {
        "type": "mark-set"
      },
      {
        "type": "cursor-line-end"
      },
      {
        "type": "external-command",
        "command": "fish",
        "args": [
          "-c",
          "niho"
        ]
      }
    ]
  }
}