Я думаю, что мне удалось сделать это в три строки, объединив то, что другие говорят об этом ответе.
Это, кажется, делает трюк:
if has("autocmd")
autocmd BufWritePre * :silent !mkdir -p %:p:h
end
Попытка создания папки автоматически при сохранении буфера. Если случится что-то плохое (например, проблемы с правами доступа), оно просто закроется и даст сбой записи в файл.
Если кто-то видит какие-либо явные недостатки, пожалуйста, оставьте комментарий. Я не очень разбираюсь в vimscript.
РЕДАКТИРОВАТЬ: Примечания благодаря ZyX
- Это не будет работать, если в ваших папках есть пробелы (очевидно, они не экранированы должным образом или что-то в этом роде)
- Или, если вы делаете псевдо-файлы.
- Или, если вы используете свой vimrc.
- Но, сынок, оно короткое.