Якщо я посилаюсь, 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
подія, здається, не працює тут.