2012-11-14 5 views
15

Gibt es eine Möglichkeit, mehrere "Befehle" mit einer Verknüpfung verknüpft zu haben?mehrere "Befehle" in einem einzelnen Sublime Text 2 Benutzer Tastenbelegung Verknüpfung

Ich habe diese zwei Abkürzungen. Die erste Verknüpfung macht das linke Fenster größer als das rechte (in einer zweispaltigen Ansicht) und die nächste Verknüpfung stellt den Fokus auf das erste Fenster. Ich vergesse bei der schnellen Codierung die eine oder andere Abkürzung.

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

Diese Frage macht mich klingen wie ich faul bin, aber ich möchte, daran denken, wie effizient zu sein.

Irgendwelche Ratschläge oder Vorschläge, bitte?

+0

Lustig, wie ich diese Frage gefunden habe, genau die gleiche Reihenfolge von Befehlen zu tun. –

Antwort

14

Es gibt einen Beitrag auf der Sublime Text 2 forum, der Code für ein generisches "run multiple commands" -Plugin enthält. Es ermöglicht Ihnen, mehrere Befehle an eine beliebige Taste Bindung die gleiche Art und Weise zu binden Sie sie normalerweise zu einem binden würde:

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

Beachten Sie, dass dies nicht getestet ist, und Sie das Plugin in der Post vorgesehen installieren müssen für das funktioniert.

Alternativ können Sie ein Plugin für einen bestimmten Satz von Befehlen erstellen, indem Sie den Anweisungen in this answer folgen.

+1

Für diese Befehle muss '" context ":" window "' ebenfalls hinzugefügt werden. Zum Beispiel: '{" command ":" focus_group "," args ": {" group ": 0}," kontext ":" window "}'. –

24

Installieren Sie die "Chain of Command" Plugin (funktioniert sowohl in ST2 und ST3):
https://github.com/jisaacks/ChainOfCommand https://packagecontrol.io/packages/Chain%20of%20Command

Dann werden Sie in der Lage sein, Dinge zu tun wie:

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

, die neu definiert Drücken Sie Strg + D, um das Suchfeld zu schließen, wenn es geöffnet ist, und führen Sie dann die normale Aktion aus (Quick Add Next).

Sie können eine beliebige Anzahl von Unterbefehlen ausführen. Jeder ist ein Array mit dem Befehlsnamen (z. B. "hide_panel"), gefolgt wahlweise von den Argumenten (z. B. {"cancel": true}).

+1

Dieses Plugin verdient mehr Sterne – user2081518

5

Sie können einen Makro aufzeichnen (das Tools-Menü), dann speichern und eine Tastenkombination festlegen, nennen es mit

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

Zugegeben, das ist nicht ganz das, was man‘ fragen, aber können das gleiche Ende für andere mit ähnlichen Fragen bieten.