病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

vimでerb(rails)の閉じ括弧 %> を補完

vim大先生は閉じ括弧を自動で補完してくれないので、Vimで括弧/クォートを自動補完 - spiritlooseのはてなダイアリーとかVim で閉じ括弧を自動補完するようにした - LazyLoadLifeとか使って自動で括弧を閉じさせてあげると便利です。

some_function(

と書くと、

some_function()

と勝手になっている感じですね。で、erubyで埋込みに使われる<% 〜 %>にも対応させます。こんなん↓

私の名前は<%= @user.name %>

以下のコードを、.vimrcに書いてあげると、幸せになれますよ!

inoremap <expr> % Lt_Percent_Completion()
function Lt_Percent_Completion()
  if matchstr(getline('.'), '.', col('.') -1 ) == ">"
		return "\%\%\<Left>"
	else
		return "\%"
	end
endf

ちゃんと一般化していないので、適当に改造しちゃってくださいな。以上。