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

合并变量

pjdietz ALL

Sublime Text 2和3的文本替换软件包

详情

安装次数

  • 总数 2K
  • Win 1K
  • Mac 550
  • Linux 230
Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27 Jun 26 Jun 25 Jun 24 Jun 23
Windows 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 1 1 0 0
Mac 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 1 0 0 2 1 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 0 0 0 0 0 0

README

源代码
raw.​githubusercontent.​com

合并变量

Sublime Text 2和3的文本替换软件包

Merge Variables 允许您定义可替换的字符串集。当您运行 Merge Variables 命令时,该软件包会扩展每个字符串以进行替换。例如,您可以将其

<a href="http://{{HOSTNAME}}/page">{{TITLE}}</a>

变为

<a href="http://www.myexamplesite.com/page">My Example Site</a>

使用方法

创建集合

为了定义您的变量及其值,打开软件包的用户设置。创建一个 "sets" 成员。这个成员将是一个对象,它的每个成员将是“集合”的名称。每个集合也将是一个包含变量及其值键值对的另一个对象。以下是一个例子

{
    "sets": {
        "mysite": {
            "{{HOSTNAME}}": "www.myexamplesite.com",
            "{{TITLE}}": "My Example Site"
        }
    }
}

注意: 没有必要在变量名周围使用双花括号。这是我使用的约定,但它不是必需的。您可能想在两侧使用一些符号以防止不想要的替换。%PERCENTS%,[方括号],=Equals=等都可以是不错的选择。

接下来,您需要使这个集合变为活动状态。将一个 "active_sets" 成员添加到用户设置文件中。这个成员是您想要使用的所有集合名称的列表。

{
    "active_sets": ["mysite"],
    "sets": {
        "mysite": {
            "{{HOSTNAME}}": "www.myexamplesite.com",
            "{{TITLE}}": "My Example Site"
        }
    }
}

合并变量

一旦定义了变量,打开命令面板(Shift + Command + P),然后输入 Merge Variables

级联集合

但是等等!还有更多!您可以定义多个集合,并将它们合并在一起。在这个例子中,有三个集合:"mysite""mysite-development""我们还没有开始使用的某个集合"

{
    "active_sets": ["mysite", "mysite-development"],
    "sets": {
        "mysite": {
            "{{HOSTNAME}}": "www.myexamplesite.com",
            "{{TITLE}}": "My Example Site"
        },
        "mysite-development": {
            "{{HOSTNAME}}": "dev.myexamplesite.com"
        },
        "some other set we're not going to use yet": {
            "{{HOSTNAME}}": "www.not-this-site.com",
            "{{TITLE}}": "Won't See This Title"
        }

    }
}

我指定的活动集合列表为 ["mysite", "mysite-development"]。这告诉软件包首先使用 "mysite" 中的键值对,然后使用 "mysite-development" 中的值进行覆盖。以下是发生的情况

  • {{HOSTNAME}} 在两个集合中都有定义。最后一个集合的值优先级更高。
  • {{TITLE}} 在第一个集合中有定义,但在第二个集合中没有。没关系。第一个集合的值传下来。
  • 集合"some other set we're not going to use yet"不在活动集合列表中,因此其值将被忽略。

结果

<a href="http://dev.myexamplesite.com/page">My Example Site</a>

程序化地

如果你非常酷,并且也编写Sublime包,你可能想要在代码中调用Merge Variables。在你这样做的时候,你可以在调用时传递活动集合的列表。下面是一个示例

view.run_command("merge_variables", active_sets=["this_set", "that_set"])

安装

Sublime Package Control

您可以使用优秀的Package Control包管理器为Sublime Text安装Merge Variables。

  1. 从命令面板(Shift + Command + P)打开“Package Control: Install Package”。
  2. 选择“Merge Variables”选项安装Merge Variables。

Git安装

要使用Git手动安装,将其克隆到您的“Packages”目录中。

git clone [email protected]:pjdietz/sublime-merge-variables.git "Merge Variables"

注意:如果包未安装到名为“Merge Variables”的目录中,则某些功能(如打开默认设置的菜单命令)将无法正常工作。

作者

PJ Dietz

版权和许可

版权所有 2013 PJ Dietz

MIT许可