vimのundoの制限

ってできないのかな?
データをvimのマクロのq?で?に指定した文字に記録して@?で再現できるのですが、このとき2000@?みたいな事をやると、2000回記録した動作を実行してくれるのですが、これを何回か(つまり5000@?相当)やるとundoの記録に関係するのでしょうが、とんでもなくメモリを逼迫してくれます。
大体vimだけで700MBとか。
で、これは多分undoのログなんだと見当をつけています。
だって、vimはundo redo無制限ですからね。
特定の操作は圧縮掛けても良い気がしますが、どのタイミングで行ったとかの記録が必要なんでしょうね。
とりあえず記録する回数を無理やり制限(例えば1000@?しか行わないな1500回ほどにする)出来ないか調べたいと思います。

追記
有った。
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/options.html#'undolevels'
vimを起動して”:set ul=-1”とやれば出来そうですね。
本当ならsedなんか使って楽々なんでしょうけど、中途半端に技術が無いので、とりあえず出来るものでやりましょう。

追記:
おとなり日記経由でこんなものを見つけた。後で読んでみよう。

追記:
正解だった。けど、メモリを喰う量が半分になっただけっぽい。とりあえず時間は稼げる、という程度。どうしたら良いのだ〜?