Se eu chamar, vim foo/bar/somefile
mas foo/bar
ainda não existir, o Vim se recusará a salvar.
Eu sei que poderia mudar para um shell ou fazer a :!mkdir foo/bar
partir do Vim, mas sou preguiçoso :) Existe uma maneira de fazer o Vim fazer isso automaticamente quando ele salva o buffer?
write
e chama o sistema mkdir -p
em dirname
caso contrário, mapeá-lo para W
... Eu sou muito preguiçoso para procurar a sintaxe e postá-lo como uma resposta ... Desculpe
:w
para mkdir -p %:h
segui-las:write
mkdir -p %:h
é melhor porque funciona para caminhos não existentes aninhados, não gera um erro quando o caminho já existe e%:h
é o caminho completo do arquivo atual. No entanto, não sei como invocar isso automaticamente. Normalmente, isso é feito com comandos automáticos, mas oBufWritePre
evento parece não funcionar aqui.