Se invoco vim foo/bar/somefile
ma foo/bar
non esisto già, Vim si rifiuta di salvare.
So che potrei passare a una shell o farlo :!mkdir foo/bar
da Vim ma sono pigro :) C'è un modo per far sì che Vim lo faccia automaticamente quando salva il buffer?
write
e richiama il sistema su mkdir -p
on dirname
altrimenti, W
:w
per mkdir -p %:h
seguire la costruzione:write
mkdir -p %:h
è migliore perché funziona per percorsi nidificati non esistenti, non genera un errore quando il percorso esiste già ed%:h
è il percorso completo del file corrente. Tuttavia, non so come invocarlo automaticamente. Normalmente, questo viene fatto con i comandi automatici, ma l'BufWritePre
evento non sembra funzionare qui.