Ярлык клавиатуры для изменения цветовой схемы в Sublime Text 2?
Есть ли способ назначить комбинацию клавиш для конкретной цветовой схемы в Sublime Text 2? В Emacs легко определить функцию, которая переключает цветовую схему "ночного режима" и назначает ее сочетанию клавиш, мне было интересно, можете ли вы также сделать это в ST2.
Петр
Ответы
Ответ 1
Попробуйте что-то подобное в привязке к пользовательскому ключу:
{
"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
на любую тему, которую вы предпочитаете.
Если вы хотите переключиться между двумя цветовыми схемами, вы можете создать плагин (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"
}
}
Ответ 2
Если вы не хотите беспокоиться об изменении конфигурационных файлов, вы можете установить SchemeCycle.
Затем запустите цветовые схемы цикла с помощью F8 и Shift+F8. С 2 темами (темный/светлый) он действует как переключение.
Если вы предпочитаете команду "Палитра команд", проверьте ответ Норриса или попробуйте ColorSchemeSelector с помощью команды : Select Color Scheme
она не будет загрязнять ваш палитр так же, как Schemr.
Визуализация экранов AKA:
![enter image description here]()
![enter image description here]()
Ответ 3
Чтобы изменить настройки глобальной цветовой схемы (а не только текущий вид), измените ответ Риккардо следующим образом:
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")
Перед использованием убедитесь, что все ваши представления настроены на одну цветовую схему!
Это должно работать независимо от того, какие ваши цветовые схемы в настоящее время настроены в соответствии с "Предпочтения .sublime-settings - User" и "Preferences.sublime-settings - Default".
Я получил эту информацию из кода Schemrs: https://github.com/benweier/Schemr/blob/master/schemr.py
и код изменения шрифта: "Пакеты\По умолчанию \font.py"
Ответ 4
Я просто нашел этот красивый плагин:
https://github.com/skt84/Schemr
Это не позволяет вам привязать, но вместо этого дает вам доступ к командной палитре, который идеально подходит для меня. (На всякий случай кто-то наткнулся на это через Google, как я.)
Ответ 5
Чтобы поддерживать несколько цветовых схем, можно было бы изменить 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)
Ответ 6
Существует способ изменения цветовой схемы наряду с темой плагин Camaleon.
Ответ 7
Если кто-то заинтересован, я просто создал плагин для переключения между N различными темами и цветамисхемы. Посмотрите здесь:
https://gist.github.com/andresbravog/9429793