如何在 sublime text 的 shift+enter 上绑定(结束,输入)?
How to bind (end, enter) on shift+enter in sublime text?
我非常喜欢 PyCharm 中 Shift + Enter 的实现方式:
Start a new line after the current one, positioning the caret in accordance with the current indentation level (equal to sequential pressing 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"。但我不知道如何将它们组合起来。
有几种方法可以使多个命令按顺序执行以响应键绑定、菜单项选择、命令面板输入等。
如果您对 运行 感兴趣的命令都是 TextCommand
类型(这基本上意味着它们移动光标、更改选择或以某种方式编辑缓冲区),那么最简单的方法是创建一个宏,然后将其绑定到一个键。
例如:
- Select
Tools > Record Macro
- 执行您要记录的操作
- Select
Tools > Stop Recording Macro
和 Tools > 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
命令;以某种方式直接修改缓冲区的命令,包括选择和光标位置。这意味着您不能在宏中记录 Find/Replace 命令;此类命令不会记录在生成的宏文件中。
做同样事情的另一种方法是使用扩展包,例如Chain of Command。这打破了上面的限制,因为它允许你指定任何你想要的命令,只要一个可用。但是,此方法需要知道您要执行的命令。
在您的示例的特定情况下,Ctrl+Enter 键已经通过宏方法完成了您想要的操作。如果愿意,您可以使用如下所示的键绑定,使其适用于您想要的键:
{
"keys": ["shift+enter"],
"command": "run_macro_file",
"args": {
"file": "res://Packages/Default/Add Line.sublime-macro"
}
},
我非常喜欢 PyCharm 中 Shift + Enter 的实现方式:
Start a new line after the current one, positioning the caret in accordance with the current indentation level (equal to sequential pressing 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"。但我不知道如何将它们组合起来。
有几种方法可以使多个命令按顺序执行以响应键绑定、菜单项选择、命令面板输入等。
如果您对 运行 感兴趣的命令都是 TextCommand
类型(这基本上意味着它们移动光标、更改选择或以某种方式编辑缓冲区),那么最简单的方法是创建一个宏,然后将其绑定到一个键。
例如:
- Select
Tools > Record Macro
- 执行您要记录的操作
- Select
Tools > Stop Recording Macro
和Tools > 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
命令;以某种方式直接修改缓冲区的命令,包括选择和光标位置。这意味着您不能在宏中记录 Find/Replace 命令;此类命令不会记录在生成的宏文件中。
做同样事情的另一种方法是使用扩展包,例如Chain of Command。这打破了上面的限制,因为它允许你指定任何你想要的命令,只要一个可用。但是,此方法需要知道您要执行的命令。
在您的示例的特定情况下,Ctrl+Enter 键已经通过宏方法完成了您想要的操作。如果愿意,您可以使用如下所示的键绑定,使其适用于您想要的键:
{
"keys": ["shift+enter"],
"command": "run_macro_file",
"args": {
"file": "res://Packages/Default/Add Line.sublime-macro"
}
},