如何使用Sublime Text 3将光标移动到ctrl + / comment后的下一行?

时间:2017-01-24 09:59:04

标签: sublimetext3

我想在不使用箭头的情况下使用单行注释来注释掉代码片段,就像我在IDEA中那样,但是Sublime Text 3在评论后保持在同一行。我该如何改变这种行为?

2 个答案:

答案 0 :(得分:6)

最简单的解决方案是使用宏来组合用于切换行注释然后移动光标的命令,然后重新绑定键以运行宏。

这样的宏看起来像下面这样。此处保存为Packages\User\comment_line.sublime-macro

[
    {
        "command": "toggle_comment",
        "args": {"block": false }
    },
    {
        "command": "move",
        "args": {"by": "lines", "forward": true }
    }
]

完成此操作后,您可以将以下绑定添加到自定义键绑定中:

{
    "keys": ["ctrl+/"],
    "command": "run_macro_file",
    "args": {"file": "res://Packages/User/comment_line.sublime-macro"},
    "context": [
        { "key": "selection_empty", "operator": "equal", "operand": "true", "match_all": true },
    ]
},

如果在保存时更改宏的名称,则需要在此处进行反映。

此绑定包含一个上下文,使其仅在没有选择时应用,在这种情况下,此绑定将被忽略,Sublime将使用默认值。

如果您愿意,可以删除。然而,WebStorm(我目前唯一使用的唯一JetBrains工具)以这种方式运行,因此假设IntelliJ也可以更准确地模仿那里发生的事情。

答案 1 :(得分:1)

有一个名为“命令链”的插件,可以在以下位置找到:https://github.com/jisaacks/ChainOfCommand

安装后,只需将以下内容添加到按键绑定中即可:

{
    "keys": ["super+forward_slash"],
    "command": "chain",
    "args": {
        "commands": [
            ["toggle_comment", { "block": false }],
            ["move", { "by": "lines", "forward": true }]
        ]
    }
}