Sublime Text 按键绑定

Sublime Text Key Bindings

我正在寻找绑定 ctrl+jctrl+ictrl+l 的解决方案ctrl+kleft, up, right分别 down,但没有成功。

这是我一直在尝试的(键绑定 - 用户):

[
    { "keys": ["ctrl+j"], "command": "left" },
    { "keys": ["Ctrl+l"], "command": "right" },
    { "keys": ["Ctrl+i"], "command": "up" },
    { "keys": ["Ctrl+k"], "command": "down" }
]

Sublime 已重启,但没有任何区别。

有人有解决办法吗?请指教, 谢谢

您的方向是对的,但是移动光标的命令并不是您所想的那样。您要使用的命令是 move,带有参数 byforward 以指定移动方向和移动量。

如果您使用 View > Show Console 或按 Ctrl+` 打开 Sublime 控制台,您可以输入以下命令让 Sublime 告诉您它正在执行什么命令响应您的操作(运行 再次使用 False 或重新启动 Sublime 以关闭日志记录):

sublime.log_commands(True)

如果您随后按光标键移动光标,您会看到控制台告诉您哪些命令正在为您移动:

command: move {"by": "characters", "forward": false}
command: move {"by": "characters", "forward": true}
command: move {"by": "lines", "forward": false}
command: move {"by": "lines", "forward": true}

这告诉你命令 move 移动光标,你移动 characters 左右移动,lines 上下移动,用forward描述方向。

有了这些知识,您想要的键绑定看起来更像这样:

[
    { 
        "keys": ["ctrl+j"], "command": "move", 
        "args": {"by": "characters", "forward": false } 
    },
    { 
        "keys": ["ctrl+l"], "command": "move", 
        "args": {"by": "characters", "forward": true } 
    },
    { 
        "keys": ["ctrl+i"], "command": "move", 
        "args": {"by": "lines", "forward": false} 
    },
    { 
        "keys": ["ctrl+k"], "command": "move", 
        "args": {"by": "lines", "forward": true} 
    },
]