Estoy tratando de mejorar el código de esta respuesta para pedir confirmación antes de crear el directorio que falta, esto es lo que escribo:
function! CreateDirectoryAskConfirmation(path)
if !isdirectory(a:path)
echohl Question
echo "Create directory " . a:path . "?"
echohl None
let response = nr2char(getchar())
if response ==? "y"
call mkdir(a:path, "p")
endif
endif
endfunction
autocmd BufWritePre * call CreateDirectoryAskConfirmation(expand("<afile>:p:h"))
Una cosa que me falta: cuando no presiono y
el mensaje, me gustaría que Vim cancele la escritura para no obtener el error E212: Can't open file for writing
y no necesito presionar otra tecla para que desaparezca el mensaje de error. Hay una manera de lograr esto?
:
nunca es necesario para los comandos.