如何在shift上绑定(结束,输入)+输入崇高文本?

时间:2018-03-22 22:22:57

标签: pycharm sublimetext3 key-bindings

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

  

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

我希望Shift + Enter在Sublime Text 3中的工作方式相同。

我发现有一个

  

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

对于“END”和

  

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

对于“Shift + enter”。但我不知道如何将它们合并为后续的。

1 个答案:

答案 0 :(得分:0)

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

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

例如:

  1. 选择Tools > Record Macro
  2. 执行您要录制的操作
  3. 选择Tools > Stop Recording MacroTools > Save Macro
  4. 每个宏命令都有一个可以使用的关联键绑定。

    完成后,您的sublime-macro包中会保存User个文件。

    然后,您可以使用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"
      } 
    },