Jika saya memanggil vim foo/bar/somefile
tetapi foo/bar
belum ada, Vim menolak untuk menyimpan.
Saya tahu saya dapat beralih ke shell atau melakukan :!mkdir foo/bar
dari Vim tetapi saya malas :) Apakah ada cara untuk membuat Vim melakukan itu secara otomatis ketika itu menyimpan buffer?
write
dan memanggil sistem ke mkdir -p
on dirname
jika tidak, petakan ke W
... Saya terlalu malas untuk mencari sintaks dan mempostingnya sebagai jawaban ... Maaf
:w
untuk mkdir -p %:h
diikuti oleh builting:write
mkdir -p %:h
lebih baik karena berfungsi untuk jalur yang tidak ada bersarang, tidak menimbulkan kesalahan saat jalur sudah ada, dan%:h
merupakan jalur lengkap dari file saat ini. Namun, saya tidak tahu cara mengaktifkannya secara otomatis. Biasanya, ini dilakukan dengan perintah otomatis tetapiBufWritePre
acara tersebut tampaknya tidak berfungsi di sini.