02/01/17 08:28
foo.vimの続き
拡張子が jsp のファイルを編集中 <scr と入力した瞬間に、
<script language="JavaScript">
function foo() {
alert("Hello, world.");
}
</script>
↑ここまでふくれあがるスクリプト。
augroup Foo
autocmd BufEnter *.jsp imap r r<Esc>:call JS_template()<CR>a
autocmd BufLeave *.jsp iunmap r
augroup END
fun! JS_template()
if getline(".") !~ '<scr$'
return
endif
s/scr$/script language="JavaScript">/
append
function foo() {
alert("Hello, world.");
}
</script>
.
endfun
>>61にも登場した書き方で、*.jsp のバッファに入った時に、r を再定義してバッファ
から抜けたら解除。Ver6.0からはバッファローカルで設定出来るからいちいち入った
時、出たときって書かなくてよいらしい(>>63より)
append は次の行から . だけを含んだ行の前までを入力する。
これはCのコメント生成とかにも使えるかな。