Sublime Text 2の特定の配色にキーボードショートカットを割り当てる方法はありますか?Emacsでは、「ナイトモード」の配色を切り替えてキーボードショートカットに割り当てる機能を簡単に定義できます。ST2でも実行できるのではないかと思いました。
ピョートル
Sublime Text 2の特定の配色にキーボードショートカットを割り当てる方法はありますか?Emacsでは、「ナイトモード」の配色を切り替えてキーボードショートカットに割り当てる機能を簡単に定義できます。ST2でも実行できるのではないかと思いました。
ピョートル
ユーザーキーバインディングで、次のようなことを試してください。
{
"keys": ["YOUR_SHORTCUT"],
"command": "set_setting",
"args":
{
"setting": "color_scheme",
"value": "Packages/Color Scheme - Default/Solarized (Light).tmTheme"
}
}
もちろん、Packages/Color Scheme - Default/Solarized (Light).tmTheme
好きなテーマに変更してください。
2つの配色を切り替えたい場合は、プラグイン(Tools/New Plugin...
)を作成できます。
import sublime, sublime_plugin
class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
def run(self, edit, **args):
scheme1 = args["color_scheme_1"]
scheme2 = args["color_scheme_2"]
current_scheme = self.view.settings().get("color_scheme")
new_scheme = scheme1 if current_scheme == scheme2 else scheme2
self.view.settings().set("color_scheme", new_scheme)
ディレクトリに保存しますPackages/User
。
次に、次のようなキーバインディングを追加します。
{
"keys": ["YOUR_TOGGLE_SHORCUT"], "command": "toggle_color_scheme",
"args":
{
"color_scheme_1": "Packages/Color Scheme - Default/Solarized (Light).tmTheme" ,
"color_scheme_2": "Packages/Color Scheme - Default/Solarized (Dark).tmTheme"
}
}
設定ファイルの編集に煩わされたくない場合は、SchemeCycleをインストールできます。
F8次に、と で配色を切り替えShift+F8ます。2 つのテーマ (ダーク/ライト) で、トグルとして機能します。
Command Palette を好む場合は、Norris の回答を確認するか、コマンドでColorSchemeSelectorを試してください。Schemrほどパレットを汚染しません。: Select Color Scheme
視覚化 AKA 画面:
(現在のビューだけでなく) グローバルな配色設定を変更するには、Riccardo の回答を次のように変更します。
import sublime, sublime_plugin
class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
def run(self, edit, **args):
s = sublime.load_settings("Preferences.sublime-settings")
scheme1 = args["color_scheme_1"]
scheme2 = args["color_scheme_2"]
current_scheme = s.get("color_scheme", scheme1)
new_scheme = scheme1
if current_scheme == scheme1:
new_scheme = scheme2
if current_scheme == scheme2:
new_scheme = scheme1
s.set("color_scheme", new_scheme)
sublime.save_settings("Preferences.sublime-settings")
これを使用する前に、すべてのビューが 1 つの配色に設定されていることを確認してください。
これは、「Preferences.sublime-settings - User」および「Preferences.sublime-settings - Default」で配色が現在どのように設定されていても機能するはずです。
Schemrs コードからこの情報を収集しました: https://github.com/benweier/Schemr/blob/master/schemr.py およびフォント変更コード: "Packages\Default\font.py"
私はちょうどこの素敵な小さなプラグインを見つけました: https ://github.com/skt84/Schemr
これは正確にバインドすることを許可しませんが、代わりにコマンドパレットアクセスを提供します。これは私にとって完璧です。(誰かが私のようにグーグル経由でこれに遭遇した場合に備えて。)
複数の配色をサポートするには、Riccardos の回答を次のように変更します。
class ToggleColorSchemeCommand(sublime_plugin.TextCommand):
def run(self, edit, **args):
scheme1 = args["color_scheme_1"]
scheme2 = args["color_scheme_2"]
scheme3 = args["color_scheme_3"]
current_scheme = self.view.settings().get("color_scheme")
new_scheme = scheme1
if current_scheme == scheme1:
new_scheme = scheme2
if current_scheme == scheme2:
new_scheme = scheme3
self.view.settings().set("color_scheme", new_scheme)
Camaleon プラグインでテーマと一緒に配色を変更する方法があります。