首页 文章

如何在移位中绑定(结束,输入)进入崇高文本?

提问于
浏览 825
1

我非常喜欢在PyCharm中实现Shift Enter的方式:

在当前压痕之后开始一个新线,根据当前压痕水平定位插入符(等于顺序按End,Enter) .

我想在Sublime Text 3中以相同的方式使用Shift Enter工作 .

我发现有一个

{“keys”:[“end”],“command”:“move_to”,“args”:{“to”:“eol”,“extend”:false}}

对于“结束”和

{“keys”:[“shift enter”],“command”:“insert”,“args”:{“characters”:“\ n”}},

对于“Shift enter” . 但我不知道如何将它们结合起来 .

1 回答

  • 0

    有几种方法可以使多个命令按顺序执行,以响应键绑定,菜单项选择,命令调色板输入等 .

    如果您有兴趣运行的命令都是 TextCommand 类型(这基本上意味着它们移动光标,更改选择或以某种方式编辑缓冲区),那么最简单的方法就是创建一个宏,然后将其绑定到一个键 .

    例如:

    • 选择 Tools > Record Macro

    • 执行要记录的操作

    • 选择 Tools > Stop Recording MacroTools > Save Macro

    每个宏命令都有一个您可以使用的关联键绑定 .

    完成后,您将在 User 包中保存 sublime-macro 文件 .

    然后,您可以使用 run_macro_file 命令将其绑定到密钥 . 例如:

    { 
      "keys": ["shift+enter"], 
      "command": "run_macro_file", 
      "args": {
          "file": "res://Packages/User/your_macro.sublime-macro"
      } 
    },
    

    如上所述,这仅适用于 TextCommand 命令;以某种方式直接修改缓冲区的命令,包括选择和光标位置 . 这意味着您无法在宏中记录查找/替换命令;此类命令不会记录在生成的宏文件中 .

    执行相同操作的另一种方法是使用扩展包,例如Chain of Command . 这打破了上述限制,因为它允许您指定所需的任何命令,只要有一个命令可用 . 但是,此方法需要知道要执行的命令 .

    在您的示例的特定情况下,Ctrl Enter键已经通过宏方法执行您想要的操作 . 如果您愿意,可以使用以下键绑定使其适用于您想要的键:

    { 
      "keys": ["shift+enter"], 
      "command": "run_macro_file", 
      "args": {
          "file": "res://Packages/Default/Add Line.sublime-macro"
      } 
    },
    

相关问题