Если я вызываю, vim foo/bar/somefileно foo/barеще не существует, Vim отказывается сохранять.
Я знаю, что могу переключиться на оболочку или сделать это :!mkdir foo/barиз Vim, но я ленив :) Есть ли способ заставить Vim делать это автоматически при сохранении буфера?
writeи призывает систему mkdir -pна dirnameиначе, сопоставьте его W... Я слишком ленив , чтобы искать синтаксис и разместить его в ответ ... Извините
:wс mkdir -p %:hпоследующим строительством:write
mkdir -p %:hлучше, потому что он работает для вложенных несуществующих путей, не вызывает ошибки, если путь уже существует, и%:hявляется полным путем к текущему файлу. Однако я не знаю, как вызвать это автоматически. Обычно это делается с помощью автоматических команд, ноBufWritePre, похоже, событие здесь не работает.