Rubyのエンコード指定マジックコメントを##で挿入できるようにした

Vim エディターのスクリプトの作成: 第 2 回 ユーザー定義関数 を読みながら見よう見まねで書いてみた。

ujihisa さんのコメントを受けてちょっと修正。

~/.vim/ftplugin/ruby.vim

function! MagicComment()
  return "# -*- coding: utf-8 -*-\<CR>"
endfunction

inoreabbrev <buffer> ## <C-R>=MagicComment()<CR>

挿入モードで ## を入力すると展開される。escのとこはspaceやcrでもいいみたい。
utf-8 のところを Vim の変数に置き換えればきっと汎用性があるんだろうけど知らん。
あと、新規 *.rb ファイルを開いた時に自動展開されると便利なのじゃろうがわからんちん。とか書いていたら、kumonopanyaさんがやり方を教えてくれた。

~/.vim/templates/rb.tpl を新規作成。

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

~/.vimrc に以下を追加。

autocmd BufNewFile *.rb 0r ~/.vim/templates/rb.tpl

こりゃええわ〜