Sublime Text Key Bindings

时间:2018-01-22 16:59:48

标签: sublimetext3 sublimetext

我正在寻找绑定 ctrl + j ctrl + i ctrl + l ctrl +的解决方案k 分别向上向上向右向下,但没有成功。

这就是我一直在尝试的( Key Bindings - User ):

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

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

任何人都有解决方案吗?请指教, 谢谢

1 个答案:

答案 0 :(得分:1)

您处于正确的轨道上,但移动光标的命令并不是您认为的。您要使用的命令是move,其中包含参数byforward,用于指定移动方式和移动方式。

如果您使用View > Show Console打开Sublime控制台或按 Ctrl +`,您可以输入以下命令让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 1}}描述方向。

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

[
    { 
        "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} 
    },
]