Если я вызываю, 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
, похоже, событие здесь не работает.