Я делаю что-то подобное и столкнулся с той же проблемой. Для меня было просто отключить создание файлов .swp, чтобы vim не заботился о том, чтобы я закрыл всю сессию сразу. По моему .vimrc:
set noswapfile
Конечно, это работает только потому, что я часто сохраняю привычку, и почти все находится под контролем версий, поэтому я могу вернуть его, если случится какая-нибудь катастрофа. Ваш пробег может отличаться, если у вас другой сценарий использования или рабочий процесс.