2012-11-14 24 views
15

有沒有一種方法可以讓多個「命令」與一個快捷方式相關聯?單個Sublime Text 2用戶鍵盤映射快捷方式中的多個「命令」

我有這兩個捷徑。第一個快捷鍵使左邊的窗口大於右邊的窗口(在2列視圖中),下一個快捷鍵將焦點放在第一個窗口上。快速編碼時,我傾向於忘記其中一個或另一個快捷方式。

{ 
    "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 } } 

這個問題讓我聽起來像我很懶,但我想把它看作是有效的。

有什麼建議或建議嗎?

+0

有趣的是,我是如何找到這個問題的,想要完成相同的命令序列。 –

回答

14

有對包括一個通用的「運行多個命令」插件代碼Sublime Text 2 forum後。它可以讓你多個命令綁定到任何鍵綁定你通常將它們綁定到一個同樣的方式:

{ 
    "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 } } 
     ] 
    } 
    } 

請注意,這是未經測試,並必須安裝在後所提供的插件這工作。

或者,您可以創建按照this answer的說明一組特定的命令插件。

+1

對於這些命令,必須添加''context「:」window「'。例如:'{「command」:「focus_group」,「args」:{「group」:0},「context」:「window」}'。 –

24

安裝 「命令鏈的」 插件(工作在兩個ST2和ST3):
https://github.com/jisaacks/ChainOfCommand https://packagecontrol.io/packages/Chain%20of%20Command

然後你就可以做的東西一樣:

{ "keys": ["ctrl+d"], 
    "context": [ 
    { "key": "panel_visible", "operator": "equal", "operand": true } 
    ], 
    "command": "chain", 
    "args": { 
    "commands": [ 
     ["hide_panel", {"cancel": true}], 
     ["find_under_expand"], 
    ] 
    }, 
}, 

它重新定義Ctrl + D,這樣它將關閉「查找」面板(如果它已打開),然後執行其常規操作(快速添加下一步)。

您可以執行任意數量的子命令。每個都是帶有命令名稱的數組(例如"hide_panel"),隨後可以選擇參數(例如{"cancel": true})。

+1

這個插件值得更多的明星 – user2081518

5

您可以錄製宏(使用工具菜單),然後將其保存和使用

{"keys": ["super+alt+l"], "command": "run_macro_file", "args": {"file": "res://Packages/User/Example.sublime-macro"}} 

http://docs.sublimetext.info/en/latest/extensibility/macros.html

授予設置一個快捷鍵來調用它,這是不太你」重新要求,但可能爲具有類似問題的其他人提供相同的結果。

相關問題