21

複数の「コマンド」を 1 つのショートカットに関連付ける方法はありますか?

この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 } }

この質問は怠け者のように聞こえますが、効率的だと思いたいです。

アドバイスや提案をお願いします。

4

3 に答える 3

36

Sublime Text 4 (ビルド 4104、2021 年 5 月 3 日) 以降、組み込みchainコマンドを使用できます。

古いバージョン (ST2 または ST3) では、 Chain of Commandプラグイン ( GitHub )をインストールする必要がありました。

どちらも同じ構文を持ち、複数のアクションを実行するキーバインドなどを記述できます。

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

これは Ctrl+D を再定義して、開いている場合は検索パネルを閉じ、通常のアクション (Quick Add Next) を実行します。

サブコマンドはいくつでも実行できます。それぞれは、コマンド名 (例: "hide_panel") の後にオプションで引数 (例: ) が続く配列です{"cancel": true}利用可能なコマンドとその引数の非公式/不完全なドキュメントが役立つ場合があります。

于 2015-01-16T23:49:37.983 に答える
14

Sublime Text 2 フォーラムには、一般的な「複数のコマンドを実行する」プラグインのコードを含む投稿があります。これにより、複数のコマンドを通常 1 つにバインドするのと同じ方法で、任意のキー バインドにバインドできます。

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

これはテストされていないことに注意してください。これを機能させるには、投稿で提供されているプラ​​グインをインストールする必要があります。

または、この回答の指示に従って、特定のコマンド セット用のプラグインを作成することもできます。

于 2012-11-15T00:31:14.363 に答える
8

([ツール] メニューを使用して) マクロを記録し、それを保存して、次を使用して呼び出すためのキーボード ショートカットを設定できます。

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

確かに、これはあなたが求めているものとはまったく異なりますが、同様の質問を持つ他の人に同じ結果をもたらす可能性があります.

于 2016-04-07T21:43:51.107 に答える