Sublime Text Snippets

翻譯自sublime官網(wǎng)doc


Sublime Snippets

Snippets(片段)

無(wú)論你在寫代碼還是下一本暢銷書吸血鬼日記灌侣,一定會(huì)需要一些固定格式的文字。使用Snippets來(lái)保存乏味的文字。 Snippets是智能的模板俯萌,它會(huì)適應(yīng)上下文并替你插入文本崇棠。

創(chuàng)建一個(gè)新的片段,選擇Tools->Developer->New Snippet... Sublime Text會(huì)提供一個(gè)框架來(lái)創(chuàng)建新的片段

片段可以存儲(chǔ)在任意包的文件夾下讹开,但為簡(jiǎn)單起見盅视,你可以將它們保存在你的Packages/User文件夾下。

Snippets File Format(片段文件格式)

片段通常在一個(gè)sublime text包中旦万。它們是簡(jiǎn)化了的以sublime-snippet為后綴的xml文件闹击。比如,你可以再Email的package中有一個(gè)名為greeting.sublime-snippet的片段文件成艘。

典型的片段結(jié)構(gòu)如下(包括Sublime Text為了方便插入的默認(rèn)提示):

<snippet>
    <content><![CDATA[Type your snippet here]]></content>
    <!-- Optional: Tab trigger to activate the snippet -->
    <tabTrigger>xyzzy</tabTrigger>
    <!-- Optional: Scope the tab trigger will be active in -->
    <scope>source.python</scope>
    <!-- Optional: Description to show in the menu -->
    <description>My Fancy Snippet</description>
</snippet>

snippet元素包含了Sublime Text所需的插入什么拇砰,是否插入,何時(shí)插入的全部信息狰腌,下面依次解釋各個(gè)元素除破。

content
content是實(shí)際插入的內(nèi)容,片段可以是簡(jiǎn)單的模板琼腔,也可以是相當(dāng)復(fù)雜的模板瑰枫,后面我們會(huì)講解這兩種模板。

當(dāng)新建自己的片段時(shí)丹莲,遵循以下:

  1. 如果片段中有字符 $光坝,必須使用\轉(zhuǎn)義:$
  2. 如果片段中包含縮排,使用tabs即可甥材。如果選項(xiàng)translateTabsToSpaces被設(shè)置為true盯另,當(dāng)片段被插入時(shí)tabs會(huì)被轉(zhuǎn)換為空格。

片段內(nèi)容必須使用<![CDATA[...]]包含洲赵,否則片段將不會(huì)有效

tabTrigger
tabTrigger定義了觸發(fā)插入片段的鍵序列鸳惯。當(dāng)輸入完觸發(fā)字符并且按Tab鍵時(shí)商蕴,片段會(huì)立即生效
tab 出發(fā)鍵是隱含的鍵綁定

scope
范圍選擇器決定了片段會(huì)被激活的上下文,查看Scopes了解更多信息芝发。通常绪商,可以查看當(dāng)前文檔的scope,使用Tools->Develper->Show Scope Name辅鲸,以下是看看python文件的scope:

文件scope

description
當(dāng)在Snippets菜單中展示時(shí)格郁,會(huì)顯示片段的描述。如果沒有指定描述独悴,Sublime Text會(huì)默認(rèn)展示片段的名字

snippet描述

了解了以上信息例书,就可以開始編寫自己的片段了

Note
為簡(jiǎn)單起見,我們?cè)诶又兄话?code>content元素的文本刻炒,除非另有說明

Snippet Features (片段特色)

Environment Variables(環(huán)境變量)

片段可以通過環(huán)境變量的形式訪問上下文信息雾叭。Sublime Text自動(dòng)設(shè)置以下變量的值÷潋可以添加自定義的變量來(lái)提供額外的信息织狐,這些自定義的變量被定義在.sublime-options文件中。

$PARAM1, $PARAM2 傳遞給inset_snippet命令的參數(shù)(本文不介紹)
$SELECTION 當(dāng)片段被觸發(fā)時(shí)選中的文本
$TM_CURRENT_LINE 當(dāng)片段被觸發(fā)時(shí)光標(biāo)所在行的內(nèi)容
$TM_CURRENT_WORD 當(dāng)片段被觸發(fā)時(shí)光標(biāo)所在單詞的內(nèi)容
$TM_FILENAME 當(dāng)前被編輯文件的名字筏勒,包括擴(kuò)展名
$TM_FILEPATH 當(dāng)前被編輯文件路徑
$TM_FULLNAME 用戶的用戶名
$TM_LINE_INDEX 片段被插入的列移迫,列從0開始
$TM_LINE_NUMBER 片段被插入的行,行從1開始
$TM_SELECTED_TEXT $SELECTION的別名
$TM_SOFT_TABS 當(dāng)translate_tabs_to_spacestrue時(shí)管行,值為YES,否則為NO
$TM_TAB_SIZE pre-tab的空格數(shù)(由tab_size選項(xiàng)控制)

以下是使用變量的片段的示例:


====================================
USER NAME:          $TM_FULLNAME
FILE NAME:          $TM_FILENAME
 TAB SIZE:          $TM_TAB_SIZE
SOFT TABS:          $TM_SOFT_TABS
====================================

# Output:
====================================
USER NAME:          guillermo
FILE NAME:          test.txt
 TAB SIZE:          4
SOFT TABS:          YES
====================================
Fields(區(qū)段)

使用區(qū)段標(biāo)識(shí)厨埋,可以通過按tab鍵的方式在片段中循環(huán)選項(xiàng)。當(dāng)片段被插入時(shí)捐顷,區(qū)段可以用來(lái)在片段的定制字段中間跳轉(zhuǎn)荡陷。


First Name: $1
Second Name: $2
Address: $3

在上面的例子中,按tab鍵一次迅涮,光標(biāo)會(huì)調(diào)到$1的位置废赞,按tab第二次,光標(biāo)會(huì)前進(jìn)到$2的位置叮姑。也可以使用Shift+Tab鍵回到上一個(gè)位置唉地。當(dāng)高粱的tab停靠位置已經(jīng)結(jié)束传透,再按tabSublime Text會(huì)將光標(biāo)移動(dòng)到片段結(jié)束的位置耘沼,以便于回復(fù)正常編輯

如果希望控制tab的退出出口,使用$0標(biāo)識(shí)

可以隨時(shí)使用Esc鍵退出循環(huán)模式

Mirrored Fields(鏡像區(qū)段)

相同的區(qū)段標(biāo)志彼此反射:當(dāng)編輯其中一個(gè)的時(shí)候朱盐,其余相同的區(qū)段會(huì)實(shí)時(shí)地被相同的值填充群嗤。


First Name: $1
Second Name: $2
Address: $3
User name: $1

以上是例子,User name會(huì)被與First Name相同的值填充

Place Holders(占位符)

將區(qū)段語(yǔ)法做一點(diǎn)點(diǎn)擴(kuò)展兵琳,可以定義區(qū)段的默認(rèn)值狂秘。當(dāng)片段的區(qū)段有一個(gè)一般情況的值時(shí)骇径,使用占位符定義默認(rèn)值的同時(shí)課可以保證區(qū)段值自定義的便利性。


First Name: ${1:Guillermo}
Second Name: ${2:López}
Address: ${3:Main Street 1234}
User name: $1

變量可以被使用作為占位符:


First Name: ${1:Guillermo}
Second Name: ${2:López}
Address: ${3:Main Street 1234}
User name: ${4:$TM_FULLNAME}

占位符可以嵌套:


Test: ${1:Nested ${2:Placeholder}}
PS

初次翻譯赃绊,如有誤請(qǐng)見諒 _

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市羡榴,隨后出現(xiàn)的幾起案子碧查,更是在濱河造成了極大的恐慌,老刑警劉巖校仑,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忠售,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡迄沫,警方通過查閱死者的電腦和手機(jī)稻扬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)羊瘩,“玉大人泰佳,你說我怎么就攤上這事〕韭穑” “怎么了逝她?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)睬捶。 經(jīng)常有香客問我黔宛,道長(zhǎng),這世上最難降的妖魔是什么擒贸? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任臀晃,我火速辦了婚禮,結(jié)果婚禮上介劫,老公的妹妹穿的比我還像新娘徽惋。我一直安慰自己,他們只是感情好座韵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布寂曹。 她就那樣靜靜地躺著,像睡著了一般回右。 火紅的嫁衣襯著肌膚如雪隆圆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天翔烁,我揣著相機(jī)與錄音渺氧,去河邊找鬼。 笑死蹬屹,一個(gè)胖子當(dāng)著我的面吹牛侣背,可吹牛的內(nèi)容都是我干的白华。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼贩耐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼弧腥!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起潮太,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤管搪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后铡买,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體更鲁,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年奇钞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澡为。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡景埃,死狀恐怖媒至,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谷徙,我是刑警寧澤塘慕,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蒂胞,受9級(jí)特大地震影響图呢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骗随,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一蛤织、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸿染,春花似錦指蚜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蚕冬,卻和暖如春免猾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背囤热。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工猎提, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旁蔼。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓锨苏,卻偏偏與公主長(zhǎng)得像疙教,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伞租,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容