原文: http://yasnippet.googlecode.com/svn/trunk/doc/index.html (translated on 2010/Dec/21) ⇒ editor's room
〔重要〕 このドキュメントは YASnippet の SVN trunk に対して適用されるものです。 SVN trunk はこちらから取得できます。 他のバージョンに対するドキュメントはこちらで見られます。
YASnippet は、Emacs のためのテンプレートシステムです。 省略形でタイプすると、自動的に関数テンプレートに展開してくれます。 次の言語向けのテンプレートが同梱されています: C, C++, C#, Perl, Python, Ruby, SQL, LaTeX, HTML, CSS, ...
スニペットの構文は TextMate の構文にインスパイアされたものです。 そのため、TextMate テンプレートを取り込むこともできます。 YASnippet は smart-snippet という拡張機能を書き直したものです。 これらは両方とも pluskid のオリジナルな作品です。
YouTube にあるデモをご覧ください (高解像度版: yasnippet.avi)
ダウンロード可能なアーカイブは2種類あります。 YASnippet をちょっと試してみるには、よりシンプルな "bundle" バージョンをダウンロードしてください。 もし同梱されているテンプレートを改造したり、自作したりするつもりがあるなら、"normal" バージョンをダウンロードしてください。
yasnippet-bundle.el
のインストール最新の yasnippet-bundle-x.y.z.el.tgz
をダウンロードして、それを展開(解凍)してください。
yasnippet-bundle.el
という名前のファイルができるはずなので、それを ~/.emacs.d/plugins/
の下に置いてください(このディレクトリが無かったら作ってください)。
そのファイルを Emacs で開いて、M-x eval-buffer
を入力してください。
これでおしまいです。 この状態でプログラミング言語のソースファイルを開くと、YASnippet メニューが現れます。 テンプレートを挿入するには、メニューから選択するか、 もしくは、trigger key を入力後に TAB キーを押して展開してください。
Emacs の起動時に YASnippet を自動的にロードするようにするには、以下のコードをあなたの ~/.emacs
ファイルに書いてください:
(add-to-list 'load-path
"~/.emacs.d/plugins")
(require 'yasnippet-bundle)
この youtube のビデオでは、ここに書いた簡単なインストール手順を実演しています。
YASnippet を通常の emacs パッケージとしてインストールするには、最新の yasnippet-x.y.z.tar.bz2
をダウンロードして展開(解凍)してください。
yasnippet-x.y.z
という名前のディレクトリができるはずなので、それを ~/.emacs.d/plugins
に置いてください。
そして、以下のコードをあなたの .emacs
ファイルに追加してください:
(add-to-list 'load-path
"~/.emacs.d/plugins/yasnippet-x.y.z")
(require 'yasnippet) ;; not yasnippet-bundle
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-x.y.z/snippets")
カスタマイズのためのドキュメントをお読みください。もしくは、customization group をご利用ください。
バージョン 0.6 から、YASnippet はより多くの機能を備えるようになっています。 スニペットを利用するだけなら、YASnippet のすべてを知る必要はありません。 しかし、それらの機能を知ることで、コーディングがもっと楽しくなるでしょう。
この章は複数のドキュメントに分割されています:
ハードディスクの中にあるスニペットを体系的に整理する方法(あるいはまったく整理せずに yasnippet-bundle.el
だけを使う方法)を説明しています。
現在のカーソル位置で展開すべきスニペットを YASnippet がどのように選んでいるのか、ということを説明します。
あるスニペットについて、特定のモードのとき、またはある条件のときにだけ展開されるようにしたいと思うかもしれません。
また、ido
を使ってプロンプトを表示させたいと思うかもしれません。
スニペットを定義するための構文について説明します。この構文は TextMate のものにとてもよく似ています(しかし完全に同じというわけではありません)。 TextMate のスニペットをコンバートする方法についての記述も含んでいます。
スニペットを探し出して、学んで、改造するために、YASnippet メニューをどのように使ったらよいかを説明します。
もしバグを見つけたら、Issue List に報告してください。
YASnippet を利用する上での課題や新しいアイディアやスニペットをお持ちの場合は、discussion group に投稿してください。
YASnippet を使ってくださってありがとうございます!