Я думаю, вы что-то путаете. Буфер - это что-то вроде открытого файла. Когда вы переключаетесь на следующий файл в списке аргументов, используя : n , вы закрываете текущий буфер и открываете следующий, поэтому изменения должны быть либо сохранены, либо отброшены на этом этапе.
Кроме того, по умолчанию vim отображает сообщение об ошибке, если вы пытаетесь выйти за пределы последнего файла в списке аргументов, поэтому потерять что-либо не очень легко в vim.
Возможно, здесь может помочь описание ваших действий (нажатые клавиши), если это не ответит на ваш вопрос.
[править]
Хорошо, теперь я знаю, в чем проблема: существует разница между буфером и списком файлов для редактирования, которые вы предоставляете при запуске vim. Если вы начинаете vim с
vim a.txt b.txt
есть 2 файла для редактирования. Это не значит, что есть несколько буферов. Вы можете перемещаться, используя: n и: p (что означает n (ext) файл и p (revious) файл). Если у вас установлен глобальный флаг: скрытый, это означает, что каждый закрытый буфер станет скрытым. Файл все еще редактируется, но он не отображается ни в одном окне. Это значение может быть установлено при запуске vim в вашей системе. Попробуйте добавить : se nohidden к вашему .vimrc и попробуйте следующее:
:help buffer-hidden
[/ править]