程序化按键绑定
使用Python在Sublime Text中声明您的按键绑定
详细信息
安装数量
- 总数 700
- Win 593
- Mac 75
- Linux 32
2021年8月6日 | 2021年8月5日 | 2021年8月4日 | 2021年8月3日 | 2021年8月2日 | 2021年8月1日 | 2021年7月31日 | 2021年7月30日 | 2021年7月29日 | 2021年7月28日 | 2021年7月27日 | 2021年7月26日 | 2021年7月25日 | 2021年7月24日 | 2021年7月23日 | 2021年7月22日 | 2021年7月21日 | 2021年7月20日 | 2021年7月19日 | 2021年7月18日 | 2021年7月17日 | 2021年7月16日 | 2021年7月15日 | 2021年7月14日 | 2021年7月13日 | 2021年7月12日 | 2021年7月11日 | 2021年7月10日 | 2021年7月9日 | 2021年7月8日 | 2021年7月7日 | 2021年7月6日 | 2021年7月5日 | 2021年7月4日 | 2021年7月3日 | 2021年7月2日 | 2021年7月1日 | 2021年6月30日 | 2021年6月29日 | 2021年6月28日 | 2021年6月27日 | 2021年6月26日 | 2021年6月25日 | 2021年6月24日 | 2021年6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
Sublime Text程序化按键绑定
使用Python的全功能来声明您的按键绑定。
仅想象使用此API编写您的绑定
prefix_origami = "ctrl+w"
def keybinding(bind, **kwargs):
command = kwargs.get('command')
# Move between selections in overlay
bind(["alt+k"], "move", overlay_visible, by="lines", forward=False)
bind(["alt+j"], "move", overlay_visible, by="lines", forward=True)
# Safe quit
bind(["ctrl+q"], [command("close_workspace"), command("exit")])
# Plugin: Origami
bind([prefix_origami], "noop") # Disable the default behavior of ctrl+w
bind([prefix_origami, "q"], "close")
bind([prefix_origami, "c"], "destroy_pane", direction="self")
# Contexts
overlay_visible = {
"key": "overlay_visible",
"operator": "equal",
"operand": True
}
入门
安装
推荐
通过包控制安装 Programmatic Key Bindings
。
- 通过按下 Ctrl/⌘+Shift+p 打开命令面板
- 然后选择 包控制:安装包
- 搜索
Programmatic Key Bindings
并按下 ↲ Enter
手动
- 克隆或下载此存储库,如有必要,(重新)将文件夹命名为
Programmatic Key Bindings
。 - 将文件夹移动到您的Sublime Text
/Packages
内。(在 偏好设置 > 浏览包… 中)
用法
使用默认命令
此插件仅向Sublime Text添加一个命令
[
{
"caption": "Sublime Programmatic Key Bindings - Compile Default",
"command": "spk_key_binding",
"args": {
"bindings": "$packages/User/Programmatic Key Bindings/keybindings.py",
"destination": "$packages/User/Programmatic Key Bindings/Default ($platform).sublime-keymap"
}
}
]
请确保指向 bindings
的文件存在,并且可以在目录中创建 destination
。在这里,$packages
指的是您的Sublime Text包所在的目录。
一旦创建了文件,就创建一个名为 keybinding
的函数。此函数将接受两个参数。第一个参数收集您的按键绑定数据。第二个是辅助函数,仅在您需要将多个命令绑定到按键时使用。
def keybinding(bind, **kwargs):
command = kwargs.get('command')
# Your code...
在此函数执行后,将在您的“用户文件夹”中的 Programmatic Key Bindings
目录下创建一个 .sublime-keymap
文件。Sublime Text将捕获对该文件的任何更改,并将重新加载您的按键绑定,以便更改生效(您应该能够立即使用它们;如果想要确保,请重置Sublime)。
这意味着,此插件在运行时不会做任何事情。在创建 .sublime-keymap
后,所有操作都由Sublime Text的内部机制掌控。
无论如何,准备好了之后,在命令面板中搜索“Sublime 程序化快捷键 - 编译默认
”并运行它。
创建您自己的命令
如果您想管理您的主要快捷键映射,即用户文件夹根目录中的那个,您需要创建一个新的命令。
首先,在您的用户文件夹中创建一个名为 Default.sublime-commands
的文件。在那里您可以定义您的自定义命令。
[
{
"caption": "Update root key bindings",
"command": "spk_key_binding",
"args": {
"bindings": "$packages/User/keybindings.py",
"destination": "$packages/User/Default.sublime-keymap"
}
}
]
现在您可以开始了。请确保 keybindings.py
存在,并且包含您需要的代码。在命令面板中搜索“更新根快捷键
”,运行它并享受。
用户绑定 API
也被称为 keybindings.py,您只需要在那里是 keyblocking
函数。
函数 bind
bind(<keys>, <command>, ...[context], **kwargs)
第一个参数是要绑定的键的数组。
第二个参数是要运行的命令。这可能是一个字符串或命令数组。此插件允许您通过传递数组绑定一系列命令,但由于这不是 Sublime 的内置功能,您需要使用在 kwargs
中提供的辅助函数,这个函数叫作 command
。
command(<name>, **kwargs)
command
以命令的名称作为第一个参数,其余的关键字参数将是您要运行的命令的参数。
回到bind
. 第一个和第二个参数是必需的,其余的位置参数可以是“上下文对象”。
如果您的命令不是一系列的话,bind
的关键字参数将成为您要运行的命令的参数。
支持
如果您发现这个插件有用并想支持我的努力,请买我一杯咖啡 ☕。