Wenn ich aufrufe, vim foo/bar/somefile
aber foo/bar
noch nicht existiere, weigert sich Vim zu speichern.
Ich weiß, dass ich :!mkdir foo/bar
von Vim zu einer Shell wechseln oder etwas tun könnte, aber ich bin faul :) Gibt es eine Möglichkeit, Vim dazu zu bringen, dies automatisch zu tun, wenn der Puffer gespeichert wird?
write
und fordert das System mkdir -p
auf dirname
andere Weise, wo es zu W
... ich bin zu faul für die Syntax zu suchen und es als eine Antwort zu schreiben ... Sorry
:w
, mkdir -p %:h
gefolgt vom Bau:write
mkdir -p %:h
ist besser, weil es für verschachtelte nicht vorhandene Pfade funktioniert, keinen Fehler auslöst, wenn der Pfad bereits vorhanden ist, und%:h
der vollständige Pfad der aktuellen Datei ist. Ich weiß jedoch nicht, wie ich dies automatisch aufrufen soll. Normalerweise geschieht dies mit automatischen Befehlen, aber dasBufWritePre
Ereignis scheint hier nicht zu funktionieren.