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つに変換するスクリプトを作ればいいのかぁ〜なんて。