Удаленный каталог с файлами, которые все еще открыты в 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
пока вы не воссоздаете все недостающие папки.