Vim - 新規ファイルを作成するときにテンプレートを読み込む

html とか新規に作成するときに、

<html>
<head></head></html>

みたいなの書くのがめんどくさい。

$vi unko.html

とかやったらそのへんのテンプレがすでに書かれていると楽。そんなTips。


この記事を参考にしました。

テンプレートファイルを置いておく。名前はskel.htmlとかにしておく。

$cd ~/.vim/
$mkdir -m 755 templates
$cd templates
$vi skel.html

ここで、上のサイトのようなテンプレートでもよいけど、なんだったら HTML5 のテンプレートとかもってくる。そのへんにゴロゴロ転がっているので、好きなものを持ってくるとよいと思う。
自分はこのサイトのテンプレートをskel.htmlにして配置した。

そして、設定ファイルに下記を追記。

autocmd BufNewFile *.html 0r ~/.vim/templates/skel.html

vi hoge.html して、テンプレートがロードされたらOK。




ここで、htmlだけじゃなくて他のファイルもできたらいいなぁと思ったので、perl とか ActionScript とか mxml に適用してみた。

  • skel.pl
use strict;
use warnings;
  • skel.as
package {

    public class Hoge {

        public function Hoge()
        {   
        }   
    }   
}
<?xml version="1.0" encoding="utf-8"?>
<s:Application  xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.adobe.com/flex/spark"
                xmlns:mx="library://ns.adobe.com/flex/mx"
                minWidth="955"
                minHeight="600">
</s:Application>

こいつらをテンプレートフォルダにぶっこんで、以下を .vimrc に追記

" perl
autocmd BufNewFile *.pl 0r ~/.vim/templates/skel.pl
" as
autocmd BufNewFile *.as 0r ~/.vim/templates/skel.as
" mxml
autocmd BufNewFile *.mxml 0r ~/.vim/templates/skel.mxml

動的に as のパッケージとかクラス名とか、mxml のクラス名とか、flexのバージョンによっては mx パッケージにしなきゃとか、いろいろやりたいけど、なかなか技術が追いつかない(^^;