На сегодняшний день моим любимым плагином для vim для решения этой проблемы является Recover.vim. Когда вы редактируете файл, с которым связан .swp, он даёт вам возможность показать разницу между ними. Это бесценно. Например:
$ vi foo.py
...
Please choose:
D[i]ff, (O)pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete: