initial vim support, taken mainly from erlang.vim