sublime tex创建可服用的片段

---恢复内容开始---

sublime text 2学习(二):创建可复用的代码片段

对于工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段。

在菜单上点击Tools -> New Snippet,会新建一个xml文件页签:

 1 <snippet>
 2     <content><![CDATA[
 3 /**
 4  * PHPVersion:     5.4.x
 5  * Author    :     ${1:zhangjun   <zhangjun516@126.com> }   
 6  * FileName  :     $TM_FILENAME   
 7  * FilePath  :     $TM_FILEPATH
 8  * TextEncode:     ${2:UTF-8}   
 9  * ExpandTabs:     $TM_SOFT_TABS   
10  * TabSize   :     $TM_TAB_SIZE
11  * DateTime  :     ${3:[DateTime]}
12  * ToDo      :     ${4:[What to do in this Programme?]}
13  */
14 ]]></content>
15     <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
16     <tabTrigger>php-title</tabTrigger>
17     <!-- Optional: Set a scope to limit where the snippet will trigger -->
18     <!-- <scope>source.python</scope> -->
19 </snippet>

 




注释已经说的比较详细了。

content 里面就是代码模版:${序号:默认值} ,序号相同的地方光标会同时停在那可以多处同时编辑。序号大小就是tabindex。在实际使用代码的时候,可以使用tab切换光标位置。

tabTrigger是指输入该字符串后tab就是在光标插入content中的内容。

scope是指在何种文件类型中使用。


编 辑完之后保存为 C:\Users\[用户]\AppData\Roaming\Sublime Text 2\Packages\User\html5.sublime-snippet  (Win7下) 默认的保存路径就行。后缀必须是.sublime-snippet。

保存完重启Sublime text 2,新建文件:输入php-title,tab会出现如下效果:



${1}出现了两次,所以光标同时编辑图中两处。
${2:this},所以在2处出现this默认值。${1}处编辑完按tab就到${2}处。

创建plugin;

tools->new plugin

import datetime, getpass
import sublime, sublime_plugin
class AddDateCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.run_command("insert_snippet", { "contents": "%s" %  datetime.datetime.now().strftime(" %Y-%m-%d %a  %H:%M") } )

class AddTimeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.run_command("insert_snippet", { "contents": "%s" %  datetime.datetime.now().strftime("%H:%M") } )

在preferences->key Bindings User

{"keys": ["ctrl+;"],"command": "add_date"},

你在按住ctrl+;就会出现时间


OK, That's all。

---恢复内容结束---

posted @ 2013-06-09 10:11  尹少爷  阅读(307)  评论(2编辑  收藏  举报