By default, vim keeps the last version of whatever files you've edited. By default, the backup file is stuck in the same path as the original with a ~ appended to its name. After a while, you end up with this sort of thing:
[tron@altair][~]$ ls projects/browser
Makefile browser.ui moc_browser.cpp
Makefile~ browser.ui~ moc_browser.cpp~
browser browsertab.cpp moc_browser.o
browser.cpp browsertab.cpp~ moc_browsertab.cpp
browser.cpp~ browsertab.h moc_browsertab.cpp~
browser.h browsertab.h~ moc_browsertab.o
browser.h~ browsertab.o ui_browser.h
browser.o browsertab.ui ui_browser.h~
browser.pro browsertab.ui~ ui_browsertab.h
browser.pro~ main.cpp ui_browsertab.h~
browser.pro.user main.cpp~
browser.pro.user~ main.o
Sure, you could run rm *~, but god help you if make a mistake writing that. You could write a bash function, script, alias, what-have-you to do that for you. Or, you could write a short script for your editor (It's vim, right?) to automatically keep diffs of every file you edit from the time you first :write a file with the plugin loaded to now.