Si j'invoque vim foo/bar/somefile
mais foo/bar
n'existe pas déjà, Vim refuse de sauvegarder.
Je sais que je pourrais passer à un shell ou faire à :!mkdir foo/bar
partir de Vim mais je suis paresseux :) Y a-t-il un moyen de faire en sorte que Vim fasse cela automatiquement quand il enregistre le tampon?
write
et appelle le système mkdir -p
sur dirname
sinon, mappez -la à W
... Je suis trop paresseux pour rechercher la syntaxe et la poster comme réponse ... Désolé
:w
pour mkdir -p %:h
suivre la construction:write
mkdir -p %:h
est mieux car il fonctionne pour les chemins imbriqués non existants, ne génère pas d'erreur lorsque le chemin existe déjà et%:h
est le chemin complet du fichier actuel. Cependant, je ne sais pas comment l'invoquer automatiquement. Normalement, cela se fait avec des commandes automatiques, mais l'BufWritePre
événement ne semble pas fonctionner ici.