add support for persistent undo, save/load vim session