SublimeText 3 Key Bindings (OSX) Ver. 2015

```json
[
    {
        "keys": ["j"],
        "command": "move",
        "args": {"by": "lines", "forward": true},
        "context": [
            {"key": "control", "operand": "sidebar_tree"}
        ]
    },
    {
        "keys": ["k"],
        "command": "move",
        "args": {"by": "lines", "forward": false},
        "context": [
            {"key": "control", "operand": "sidebar_tree"}
        ]
    },
    {
        "keys": ["l"],
        "command": "move",
        "args": {"by": "characters", "forward": true},
        "context": [
            {"key": "control", "operand": "sidebar_tree"}
        ]
    },
    {
        "keys": ["h"],
        "command": "move",
        "args": {"by": "characters", "forward": false},
        "context": [
            {"key": "control", "operand": "sidebar_tree"}
        ]
    },

    {
        "keys": ["super+h"],
        "command": "show_panel",
        "args": {"panel": "replace", "reverse": false}
    },
    {// ESCを代行
        "keys": ["ctrl+j"],
        "command": "press_key",
        "args": {"key": "<esc>"}
    },
    {// ノーマルモードに代わる時に、クォーテーションとか、ブラケットの終端の場合はキャレットを右に移動させる
        "keys": ["ctrl+j"],
        "command": "run_multiple_commands",
        "args": {
            "commands": [
                {"command": "press_key", "args": {"key" : "<right>"}, "context" : "window"},
                {"command": "press_key", "args": {"key" : "<esc>"}, "context" : "window"}
            ]
        },
        "context": [
            {"key": "vi_insert_mode_aware"},
            {"key": "vi_use_ctrl_keys"},
            {"key": "following_text", "operator" : "regex_match", "operand" : "[\"'\\}\\]\\)].*"}
        ]
    },
    {// ノーマルモードでも行末ペーストできるようにする
        "keys": ["super+v"],
        "command": "run_multiple_commands",
        "args": {
            "commands": [
                {"command": "press_key", "args": {"key" : "a"}, "context" : "window"},
                {"command": "paste", "context" : "window"},
                {"command": "press_key", "args": {"key" : "<esc>"}, "context" : "window"}
            ]
        },
        "context": [
            {"key": "vi_command_mode_aware"},
            {"key": "vi_use_ctrl_keys"}
        ]
    },
    {
        "keys": ["/"],
        "command": "show_panel",
        "args": {"panel": "find", "reverse": false},
        "context": [
            {"key": "vi_command_mode_aware"},
            {"key": "vi_use_ctrl_keys"}
        ]
    },
    {
        "keys" : ["["],
        "command" : "press_key",
        "args" : {
            "key" : "<home>"
        },
        "context" : [
            {"key": "vi_command_mode_aware"},
            {"key": "vi_use_ctrl_keys"}
        ]
    },
    {
        "keys" : ["]"],
        "command" : "press_key",
        "args" : {
            "key" : "<end>"
        },
        "context" : [
            {"key": "vi_command_mode_aware"},
            {"key": "vi_use_ctrl_keys"}

        ]
    },
    {// オートコンプリートをタブで移動
        "keys": ["tab"],
        "command": "auto_complete",
        "context": [
            {"key": "vi_insert_mode_aware"},
            {"key": "vi_use_ctrl_keys"},
            {"key": "auto_complete_visible", "operator": "equal", "operand" : true}
        ]
    },
    {// オートコンプリートをタブで移動
        "keys": ["shift+tab"],
        "command": "auto_complete_prev",
        "context": [
            {"key": "vi_insert_mode_aware"},
            {"key": "vi_use_ctrl_keys"},
            {"key": "auto_complete_visible", "operand": "equal", "operand" : true}
        ]
    },
    {// ノーマルモードに代わる時に、クォーテーションとか、ブラケットの終端の場合はキャレットを右に移動させる
        "keys": ["escape"],
        "command": "run_multiple_commands",
        "args": {
            "commands": [
                {"command": "press_key", "args": {"key" : "<right>"}, "context" : "window"},
                {"command": "press_key", "args": {"key" : "<esc>"}, "context" : "window"}
            ]
        },
        "context": [
            {"key": "vi_insert_mode_aware"},
            {"key": "vi_use_ctrl_keys"},
            {"key": "following_text", "operator" : "regex_match", "operand" : "[\"'\\}\\]\\)].*"}
        ]
    }
]
```