Vim - ruby script

Vimからrubyを呼び出して、
カーソル行にコメント文字(//)を入れるお試しスクリプト

num  = VIM::Window.current.cursor[0]
line = VIM::Buffer.current[num]
insert_point = line.index(/[^ \t]/)
line = line.insert(insert_point , "//")
VIM::Buffer.current[num] = line


呼び出すときは

:rubyfile ファイル名.rb


割と簡単に書けちゃうなぁ。
vimスクリプト本を買って勉強してたのが馬鹿らしく思える・・・。
結局扱いずらかったので放置していた。


簡単に(直感的に)書けるのがrubyの良いところだ。



ちょっと改良。既にコメントがある場合は削除する。

num  = VIM::Window.current.cursor[0]
line = VIM::Buffer.current[num]
# 挿入ポイントを取得
insert_point  = line.index(/[^ \t]/)
# コメントポイントを取得
comment_point = line.index("//")
# 既にコメントしてあった場合
if insert_point == comment_point
	line = line.sub("//" , "")
else
	# コメントが無い場合は挿入
	line = line.insert(insert_point , "//")
end
VIM::Buffer.current[num] = line;

(注) インデントはTabの方が個人的に扱いやすいし見やすいので・・・。
貼り付け用にタブを空白2つに変換するスクリプトを作ればいいのかぁ〜なんて。