sublime text 2のsnippetを定義する


「snippet」は英語で「断片」という意味です.私たちが符号化するとき、通常はいくつかの簡単な文字列を打つために、いくつかの固定テンプレートが出てきます.これはフロントエンドのzen codingに似ています.
ただし、現在、sublime text 2のzen codingはサポートされていません(zen codingは名前を変更し、emmetに変更したので、以前インストールしたzen codingプラグインでは使えません)、zen codingのような簡単な機能しか実現できません.
定義は簡単で、tools->new snippetsで新しいファイルに入ります.
ファイルには次の内容が含まれています.
<snippet>
    <content><![CDATA[

]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger></tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope></scope>
    <!-- Optional: Description to show in the menu -->
    <description>My Fancy Snippet</description>
</snippet>

 
次に、上記のパラメータについて説明します.
  • content:定義するテンプレートの内容
  • です.
  • tabTrigger:tabキーを押す前に入力する必要があるショートカット文字列です.この文字列に負けたら、tabキーを押すと、必要なテンプレートの内容が生成されます.
  • scope:htmlフォーマットをtext.htmlに設定する
  • など、ファイルフォーマットの制限です.
  • description:説明
  • ここで例を示します.私が作ったhtml 5ドキュメントの宣言です.codeは以下の通りです.
    <snippet>
        <content><![CDATA[
    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    
    </body>
    </html>
    ]]></content>
        <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
        <tabTrigger>html5</tabTrigger>
        <!-- Optional: Set a scope to limit where the snippet will trigger -->
        <scope>text.html</scope>
    </snippet>

    次に、ファイルを.sublime-snippet形式で保存し、sublime text 2を再起動し、htmlファイルを新規作成し、html 5を入力し、tabキーを押すと、次のコードが表示されます.
    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    
    </body>
    </html>

    ここで注意しなければならないのはscopeです.どのように設定すればsinppetが正常に応答するか分からないからです.設定エラーは、当然無効です.
    scopeリストが表示されます.参照:https://gist.github.com/iambibhas/4705378:
    ActionScript: source.actionscript.2
    AppleScript: source.applescript
    ASP: source.asp
    Batch FIle: source.dosbatch
    C#: source.cs
    C++: source.c++
    Clojure: source.clojure
    CSS: source.css
    D: source.d
    Diff: source.diff
    Erlang: source.erlang
    Go: source.go
    GraphViz: source.dot
    Groovy: source.groovy
    Haskell: source.haskell
    HTML: text.html(.basic)
    JSP: text.html.jsp
    Java: source.java
    Java Properties: source.java-props
    Java Doc: text.html.javadoc
    JSON: source.json
    Javascript: source.js
    BibTex: source.bibtex
    Latex Log: text.log.latex
    Latex Memoir: text.tex.latex.memoir
    Latex: text.tex.latex
    TeX: text.tex
    Lisp: source.lisp
    Lua: source.lua
    MakeFile: source.makefile
    Markdown: text.html.markdown
    Multi Markdown: text.html.markdown.multimarkdown
    Matlab: source.matlab
    Objective-C: source.objc
    Objective-C++: source.objc++
    OCaml campl4: source.camlp4.ocaml
    OCaml: source.ocaml
    OCamllex: source.ocamllex
    Perl: source.perl
    PHP: source.php
    Regular Expression(python): source.regexp.python
    Python: source.python
    R Console: source.r-console
    R: source.r
    Ruby on Rails: source.ruby.rails
    Ruby HAML: text.haml
    SQL(Ruby): source.sql.ruby
    Regular Expression: source.regexp
    RestructuredText: text.restructuredtext
    Ruby: source.ruby
    Scala: source.scala
    Shell Script: source.shell
    SQL: source.sql
    TCL: source.tcl
    HTML(TCL): text.html.tcl
    Plain text: text.plain
    Textile: text.html.textile
    XML: text.xml
    XSL: text.xml.xsl
    YAML: source.yaml