如何在textmate中分组片段

时间:2015-01-13 09:09:17

标签: textmate textmate2

我有一堆很好的shell脚本片段,我想分类(文件处理工具,网络脚本等)。我只能添加脚本但不能将它们组合在一起(所以我可以将鼠标悬停在一个被调用的组上例如,网络和子菜单然后列出我的片段。有谁知道如何做到这一点?我认为这对我有多少片段非常有帮助

1 个答案:

答案 0 :(得分:5)

也许第一个问题是你应该吗?从邮件列表中阅读此免责声明并自行决定。

  

目前在捆绑编辑器中无法进行此操作,必须手动完成。它将在我们很快修改包编辑器时添加。由于它将被添加,除非你真的感兴趣,否则不值得描述如何手动完成它。    [截至2015年1月]

如果你真的有兴趣,请继续阅读:

首先备份您的捆绑包。然后使用XCode的plist编辑器打开你的bundle的info.plist。

您的捆绑包位于:〜/ Library / Application Support / Avian / Bundles / [Bundle Name] /

所以你的info.plist就在这里:〜/ Library / Application Support / Avian / Bundles / [Bundle Name] /info.plist

在info.plist中:如果您还没有它,请创建此结构。

steps 1 through 3

  1. 右键单击 - >添加行 - > “MAINMENU”。

  2. 将“mainMenu”的类型更改为Dictionary。

  3. 创建嵌套项“submenus”,“items”和“excludedItems”,将“submenus”的类型更改为“Dictionary”和“items”& “excludedItems”到Array。

  4. 打开Terminal.app并运行命令uuidgen

  5. 复制输出。 (从现在开始称为[UUID#1])

  6. 在“子菜单”下创建一个新项目,通过粘贴[UUID#1]

  7. 命名
  8. 将[UUID#1]的类型更改为Dictionary。

  9. 将子项添加到名为“name”的[UUID#1],将其值设置为“Network Scripts”(或其他)

  10. 将子项添加到名为“items”的[UUID#1],将其类型设置为Array

  11. 使用(+)按钮添加项目,每个项目都是命令中的UUID。要获取此UUID,请在TextMate中打开命令的文件。如果你试图直接打开.tmCommand文件,TextMate会抱怨,“捆绑项[Bundle Item];已经安装”。

    a)您只需打开Commands文件夹,TextMate就不介意从文件抽屉中打开文件。

    b)或`mate~ / Library / Application Support / Avian / Bundles / [Your Bundle] / Commands / [Your Command]。

  12. 当文件打开时,找到这些行。你的字符串会有所不同,但格式相同。

    <key>uuid</key>
    <string>8E9BA0D3-E282-4516-8565-E920EA98C898</string>
    

    这是您命令的UUID。现在称为[UUID#2]

  13. 返回info.plist,在步骤9中创建了一个“items”数组,将[UUID#2]添加到数组中。重复10 - 12添加多个项目。

  14. 现在您要做的就是将新的子菜单添加到'mainMenu.items',只需将[UUID#1]添加到数组即可。 (最后遗漏的步骤归功于邮件列表,线程“如何在TextMate 2 Bundle中移动,订购或分组项目?”,感谢Nigel!)

  15. 对我来说;没有重新启动就反映了这些变化。

    请务必在修改之间保存.plist文件。

    一旦完成备份或提交plist,你就不会因为发生可怕的事情而失去它。