Sublimetext3 “多重”;“命令”;在单个Sublime Text 2用户键映射快捷方式中
有没有办法让多个“命令”与一个快捷方式关联 我有两条捷径。第一个快捷方式使左侧的窗口大于右侧的窗口(在2列视图中),下一个快捷方式将焦点放在第一个窗口上。在快速编写代码时,我往往会忘记一个或另一个快捷方式Sublimetext3 “多重”;“命令”;在单个Sublime Text 2用户键映射快捷方式中,sublimetext3,sublimetext2,sublimetext,keymapping,sublimetext4,Sublimetext3,Sublimetext2,Sublimetext,Keymapping,Sublimetext4,有没有办法让多个“命令”与一个快捷方式关联 我有两条捷径。第一个快捷方式使左侧的窗口大于右侧的窗口(在2列视图中),下一个快捷方式将焦点放在第一个窗口上。在快速编写代码时,我往往会忘记一个或另一个快捷方式 { "keys": ["super+alt+left"], "command": "set_layout", "args": { "cols": [0.0, 0.66, 1.0], "rows": [0.0, 1.0],
{
"keys": ["super+alt+left"],
"command": "set_layout",
"args":
{
"cols": [0.0, 0.66, 1.0],
"rows": [0.0, 1.0],
"cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
}
},
{ "keys": ["ctrl+alt+left"], "command": "focus_group", "args": { "group": 0 } }
这个问题让我听起来好像很懒,但我想把它看作是一种高效的方式
有什么建议吗?上有一篇文章,其中包含了一个通用的“运行多个命令”插件的代码。它将允许您将多个命令绑定到任何键绑定,与通常将它们绑定到一个键绑定的方式相同:
{
"keys": ["super+alt+left"],
"command": "run_multiple_commands",
"args": {
"commands": [
{ "command": "set_layout", "args": { "cols": [0.0, 0.66, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } },
{ "command": "focus_group", "args": { "group": 0 } }
]
}
}
请注意,这是未经测试的,您必须安装文章中提供的插件才能工作
或者,您可以按照中的说明为特定的命令集创建插件。自Sublime Text 4(build 4104,2021年5月3日)起,您可以使用内置的链
命令
在旧版本(ST2或ST3)中,您需要安装插件()
两者具有相同的语法,允许您编写执行多个操作的键绑定等,例如:
{“键”:[“ctrl+d”],
“背景”:[
{“key”:“panel_visible”,“operator”:“equal”,“operator”:true}
],
“命令”:“链”,
“args”:{
“命令”:[
[“隐藏面板”,{“取消”:true}],
[“在扩展下查找”]
]
}
},
这将重新定义Ctrl+D,以便在“查找”面板打开时关闭该面板,然后执行其正常操作(快速添加下一步)
您可以执行任意数量的子命令。每个都是一个数组,其命令名(例如“hide_panel”
)后跟可选参数(例如{“cancel”:true}
)。非官方的/不完整的可能会有帮助。您可以录制宏(使用“工具”菜单),然后保存它,并设置键盘快捷键以使用调用它
{"keys": ["super+alt+l"], "command": "run_macro_file", "args": {"file": "res://Packages/User/Example.sublime-macro"}}
诚然,这并不是你想要的,但可能会为其他有类似问题的人提供相同的结果。对于这些命令,必须添加
“上下文”:“窗口”
。例如:{“command”:“focus_group”,“args”:{“group”:0},“context”:“window”}
。有趣的是,我发现了这个问题,想要执行完全相同的命令序列。这个插件值得更多starsAwesome插件,这应该标记为答案注意:对于刚刚学习sublime的人,您还可以将多个命令附加到自己编写的插件中的自定义类,例如classmycustomcommand(sublime\u plugin.TextCommand)
,可以用python编写。看见