foldtextでfizzbuzz

これを読んでたら唐突に思いついたので.


以下をvimに入力し:so %

silent exe "normal! \<c-w>n:setl noai\<cr>:setl nosi\<cr>i\<tab>a\<esc>yypA\<cr>a\<esc>ggVG\"zygg99\"zP:setl fdm=indent\<cr>:setl fdt=v:foldstart%15==0?'FizzBuzz':v:foldstart%5==0?'Buz':v:foldstart%3==0?'Fizz':v:foldstart\<cr>:let @q='zoddzcjdd'\<cr>100@qgg"



foldには全く詳しくないんだけどちょっと触ってみたところ2行のまとまりを一回折り畳んで,それから開いて1行削除してもう一度折り畳むと1行の折りたたみができることが分かったのでそれを利用してます*1.あとnormalの中だとマクロが記録できないようなので@qに直接ぶち込んでます.
関数を使ってないのは気分.うーん何の捻りもないしもっとスマートにいきたい*2

*1:もしかしてバグ?

*2:何がスマートなのかは謎