Sublime Textにはスニペットを登録する機能があります。
Tool > Developer > New Snippet...
を選択すると、
<snippet> <content><![CDATA[ Hello, ${1:this} is a ${2:snippet}. ]]></content> <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> <!-- <tabTrigger>hello</tabTrigger> --> <!-- Optional: Set a scope to limit where the snippet will trigger --> <!-- <scope>source.python</scope> --> </snippet>
とスニペットのテンプレートが表示されるので、
<snippet> <content><![CDATA[<!DOCTYPE html> <html lang="ja"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#"> <meta charset="UTF-8" /> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover, shrink-to-fit=no" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <meta name="author" content="" /> <meta name="generator" content="Sublime Text 3" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:app_id" content="" /> <meta property="og:title" content="" /> <meta property="og:type" content="website" /> <meta property="og:url" content="" /> <meta property="og:image" content="" /> <meta property="og:image:width" content="" /> <meta property="og:image:height" content="" /> <meta property="og:site_name" content="" /> <meta property="og:description" content="" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="" /> <meta name="twitter:creator" content="" /> <meta name="twitter:title" content="" /> <meta name="twitter:description" content="" /> <meta name="twitter:image:src" content="" /> <meta name="format-detection" content="telephone=no" /> <link rel="canonical" href="" /> <link rel="stylesheet" href="" /> <link rel="shortcut icon" href="" /> <link rel="apple-touch-icon-precomposed" href="" /> </head> <body> <div id="fb-root"></div> </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></scope> </snippet>
という感じで保存します。
そうすると、tabTriggerの中身を入力するとcontentの中身が表示されるようになるのです。
僕の例だと、html5 + tab で HTMLの雛形が表示されるようになります。
また、scopeを指定すれば、スニペットが使えるファイルを指定することもできますが、僕は使ってません。
作成したスニペットは、Macの場合、
~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User
に、スニペット名.sublime-snippet という名前で保存されています。