有没有办法在Sublime Text 2中为特定颜色方案指定键盘快捷键?在Emacs中,很容易定义一个切换“夜间模式”颜色方案并将其分配给键盘快捷方式的功能,我想知道你是否也可以在ST2中这样做。
·彼得
答案 0 :(得分:43)
在用户密钥绑定中尝试这样的事情:
{
"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"
}
}
答案 1 :(得分:12)
如果您不想编辑配置文件,可以安装SchemeCycle。
然后使用 F8 和 Shift + F8 循环颜色方案。有2个主题(暗/亮),它可以作为切换。
如果您更喜欢使用命令选项板检查Norris's答案或使用: Select Color Scheme
命令尝试ColorSchemeSelector,则不会像Schemr那样污染您的托盘。
可视化AKA屏幕:
答案 2 :(得分:9)
要更改全局配色方案设置(不仅仅是当前视图),请更改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")
在使用之前,请确保将所有视图设置为一个配色方案!
无论您在“Preferences.sublime-settings - User”和“Preferences.sublime-settings - Default”下的当前设置颜色方案,这都应该有效。
我从Schemrs代码中收集了这些信息:https://github.com/benweier/Schemr/blob/master/schemr.py 和字体更改代码:“Packages \ Default \ font.py”
答案 3 :(得分:7)
我刚发现这个漂亮的小插件: https://github.com/skt84/Schemr
它并不能完全允许你绑定,而是给你一个Command Palette访问权限,这对我来说非常合适。 (以防万一有人像我一样通过谷歌偶然发现这一点。)
答案 4 :(得分: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)
答案 5 :(得分:4)
有一种方法可以使用Camaleon plugin更改颜色方案和主题。
答案 6 :(得分:3)
如果有人感兴趣我只是创建了一个插件来切换N个不同的主题和colorscheme配置。在这里查看: