Удаленный каталог с файлами, которые все еще открыты в vim (undelete?)

Помогите! Вместо cp -Rf dir dir.bak чтобы сделать резервную копию моего активного проекта, я сделал rm -Rf dir dir.bak, Это не намного хуже, чем это:(

Я бегал extundelete --restore-directory на моем разделе ext3, и он восстановил некоторые из моего каталога.

Я надеюсь, что у меня все еще открыт Vim. Сохраняет ли vim содержимое каждого файла в буфере памяти, даже если его нет на вкладке vim? У меня открыты две вкладки vim, по 6 окон в каждой вкладке. В полном объеме, я собираюсь потерять 30 исходных файлов:(

Есть ли способ сделать :wa! в vim, когда основной каталог был удален? Если я воссоздаю базовый каталог, vim все равно не сможет сохранить файлы, которые, я думаю, потому что inode для открытия файлов недействителен.

Есть ли способ сохранить все буферы, открытые в vim, в новый каталог? Я не знаю, какое представление файла содержат буферы. Если я переключу вкладки vim (у меня пока нет), он попытается перечитать эти файлы с диска, верно?

Любые креативные решения внутри и снаружи vim С благодарностью!

2 ответа

Для проблемы случайного удаления вещей я сделал alias rm=trash-put, который поместит удаленные файлы в мусорное ведро для возможного последующего поиска. Я получил эту информацию здесь: http://www.webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html

Это должно работать, если вы воссоздаете папки. Если файлы открыты в буферах, они находятся в памяти. Буферы просто хранят путь, в котором сохраняются имена файлов. Inode - это детали реализации файловой системы, о которых vim ничего не знает.

Если дерево каталогов не очень сложно воссоздать, вы можете просто попробовать :wa пока вы не воссоздаете все недостающие папки.

Другие вопросы по тегам