2012-06-13 47 views
10

是否可以在創建崇高文本2片段時定義某種capitalize()toLowerCase()函數?toLowerCase或大寫功能的崇高文本2片段

例如:

<snippet> 
<content><![CDATA[ 
<?php 
class ${1} extends Datamapper 
{ 
    var \$has_one = array(); 
    var \$has_many = array(); 
    var \$table = '${1}s'; 
    //constructor and other stuff next... 
} 
?> 
]]></content> 
<tabTrigger>dmm</tabTrigger> 
</snippet> 

這個特定摘錄幫助我即時創建DataMapper的ORM模型。當我輸入dmm時,Snippet被觸發,同時我的光標被放置在兩個區域;班級名稱&轉讓給$table。第一個遊標需要大寫,而第二個遊標不應該。我可以強迫Snippet的情況嗎?像{1.toLowerCase}

簡單的例子,但我可以想到其他時候,我可以使用它。

回答

16

您可以使用substitutionPerl format string syntax

我已經測試此代碼:

<snippet> 
<content><![CDATA[ 
<?php 
class ${1} extends Datamapper 
{ 
    var \$has_one = array(); 
    var \$has_many = array(); 
    var \$table = '${1/(.+)/\L\1/g}s'; 
    //constructor and other stuff next... 
} 
?> 
]]></content> 
<tabTrigger>dmm</tabTrigger> 
</snippet> 

問候, 阿曼多

+0

非常好,謝謝阿曼多! –

+1

我試圖使用這段代碼,但它崩潰ST ...是所有有它嗎?複製和粘貼應該工作? – Pier

+1

Hi @Pier。我用最新版本的Sublime Text 2([build 2200](http://www.sublimetext.com/dev))測試了它,並創建了一個新片段(Tools> New Snippet ...)並將其存儲在默認文件夾(包/用戶) – aanton