如何创建在Sublime Text 2中显示标尺的键盘快捷键?

Nat*_*han 3 keyboard-shortcuts rulers sublimetext2

我想要的是用键盘快捷键切换 Sublime Text 2 标尺可见性.

关于主题的唯一信息是可以通过在Preferences中跟随JSON代码来控制标尺:

{
"rulers": [80, 120],
}
Run Code Online (Sandbox Code Playgroud)

是否可以创建这样的键盘快捷键?

提前致谢!

Ric*_*tti 13

您可以在用户密钥绑定设置(菜单Sublime Text 2/Preferences/Key Bindings - User)中添加:

{ 
  "keys": ["YOUR_ENABLE_RULERS_SHORTCUT"],
  "command": "set_setting",
  "args":
  {
    "setting": "rulers",
    "value": [80, 120]
  }
}
Run Code Online (Sandbox Code Playgroud)

要禁用标尺:

{ 
  "keys": ["YOUR_DISABLE_RULERS_SHORTCUT"],
  "command": "set_setting",
  "args":
  {
    "setting": "rulers",
    "value": []
  }
}
Run Code Online (Sandbox Code Playgroud)

如果你真的想要切换,你可以创建一个新的插件(Tools/New Plugin...),其代码类似于:

import sublime, sublime_plugin

class ToggleRulersCommand(sublime_plugin.TextCommand):
    def run(self, edit, **kwargs):
        rulers = kwargs["values"] if self.view.settings().get("rulers") == [] else []
        self.view.settings().set("rulers", rulers)
Run Code Online (Sandbox Code Playgroud)

Packages/User使用名称将插件保存在目录中ToggleRulers.py.

然后,添加此键绑定:

{ 
    "keys": ["YOUR_TOGGLE_RULERS_SHORTCUT"], "command": "toggle_rulers", 
    "args": { "values": [80, 120] } 
}
Run Code Online (Sandbox Code Playgroud)