yasnipet.elでのスニペットの書き方tips7つ
スポンサーリンク
前回,yasnipet.elのダウンロードとインストール方法を紹介しました. 今回は,スニペットの基本的な書き方を解説します.elispとかはあまり詳しくないので,自分が使えるものだけ…ですが.
目次
- $0
- $1
- ${1:name} (プレースホルダ)
- ミラー
- ${1:$(capitalize yas/text)}
- ${1:mydefine$(upcase yas/text)}
- エスケープ文字
$0
$0はスニペット展開後,最終的にカーソルの来る位置です.例えば,
function() { $0 }
のように書くと,すぐに関数の中身を書き始めることが出来ますね.
$1
$1や$2はスニペットの書き換え可能な部分です. スニペット展開後の流れを書きます. 1. $1にカーソル移動 2. $1の部分に文字を書きます(この時文字がハイライトされる) 3. TABキーを押すと,$2にカーソルが移動 と,この様に$(数字)の部分をどんどん書き換えることが出来ます. 例:
function ${1} (${2}) { $0 }
この例では,$1に関数名,$2に引数名を入れることができるのですね~
また,$2のあとは$0の位置に移動します.$0がない場合は$2の位置にとどまります.
${1:name} (プレースホルダ)
$1などに初期値を設定することもできます.${1:name}とかけば,"name"がその位置の初期値になります. また,特に初期値がいらないという時でも,あったほうが何をその位置に書けばいいかわかるので,なるべく書いたほうがいいでしょう.
ミラー
$1
を複数箇所に書くと,同じ番号なら同じ文字が入ります.これをミラーといいます.
${1:$(capitalize yas/text)}
文字の頭文字を大文字にします.javaのset○○などセッターやゲッターに活用します.
void $1 set${2:$(capitalize yas/text)}($1 $3) { $2 = $3; } $0
${1:mydefine$(upcase yas/text)}
文字をすべて大文字にします.定数の宣言とかで使えそうですね.
エスケープ文字
文字「」はそのままスニペットとして書くとうまく展開されません.そんな時は,「\
」と書くと
うまく行きました.
例:(markdown-modeでのインラインコード)
\`${1:Code}\` $0