ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SublimeMagic

mreq 全部

Sublime的全能命令。基于高级上下文管理多个快捷键。

详情

  • 0.2.2
  • github.com
  • github.com
  • 8年前
  • 2小时前
  • 8年前

安装量

  • 总计 857
  • Win 581
  • Mac 169
  • Linux 107
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0

README

源代码
raw.githubusercontent.com

★ SublimeMagic

Sublime的全能命令。创建咒术书,对你的代码施展咒语,制造奇迹。

什么?

SublimeMagic提供了一个sublime_magic命令,它会遍历用户定义的操作并执行第一个匹配的操作。

使用咒语快捷键!

默认快捷键是alt + 空格键,但你也可以设置自己的。要使用此插件,您必须绑定sublime_magic命令。

常规示例

{
  "keys": ["ctrl+,"],
  "command": "sublime_magic"
}

Vintageous示例

{
  "keys": [" ", " "],
  "command": "sublime_magic",
  "context": [{ "key": "vi_command_mode_aware" }]
}

创建您的咒术书!

咒术书(您的sublime-settings文件)由一个包含用户定义咒语的单独spells数组组成

{
  "spells": []
}

咒语会逐个迭代,第一个匹配context条件的是施加的。如果没有匹配的咒语,则不执行任何操作。如果有多个匹配的咒语,则仅执行最上面的一个。

咒语

每个咒语包含以下必需字段

  • name是您咒语的易读名称
  • spell是咒语代码,请参阅“可用咒语”以获取咒语列表
  • args特定于所选咒语

咒语可以通过设置context进行限制(类似于快捷键,但语法不同)。已知的上下文键

  • scope - 必须匹配的所需作用域名称数组(使用正则表达式) - 所有模式必须匹配
  • line_matches - 当前行必须匹配的模式数组
  • selection_empty - 当true时,必须选择某些文本;当false时,必须没有选择
  • selection_matches - 当前选中文本必须匹配的模式数组
  • 需要更多? - 提交一个问题,或者更好的是提出一个PR :)

咒语示例

{
  "name": "Replace single quoted content with clipboard",
  "context": {
    "scope": ["string\\.quoted\\.single"]
  },
  "spell": "replace_text",
  "args": {
    "where": "inside",
    "delimiter": "'",
    "replacement": "$clipboard"
  }
}

可用咒语

示例咒术书

有非常好的咒术书吗?创建一个pull request并让我在这里添加链接!

符文书:+ mreq

一个简单的例子

{
  "spells": [
    {
      "name": "Replace single quoted content with clipboard",
      "context": {
        "scope": ["string\\.quoted\\.single"]
      },
      "spell": "replace_text",
      "args": {
        "where": "inside",
        "delimiter": "'",
        "replacement": "$clipboard"
      }
    },
    {
      "name": "Replace double quoted content with clipboard",
      "context": {
        "scope": ["string\\.quoted\\.double"]
      },
      "spell": "replace_text",
      "args": {
        "where": "inside",
        "delimiter": "\"",
        "replacement": "$clipboard"
      }
    },
    {
      "name": "Replace content after colon with clipboard",
      "context": {
        "line_matches": [": "]
      },
      "spell": "replace_text",
      "args": {
        "where": "after",
        "delimiter": ": ",
        "replacement": "$clipboard"
      }
    }
  ]
}