Я намагаюся вдосконалити код з цієї відповіді, щоб попросити підтвердження перед тим, як створити відсутні каталог, ось що я пишу:
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"))
Одне, що мені не вистачає: коли я не натискаю y
на запит, я хотів би, щоб Vim перервав написання, щоб я не отримав помилку, E212: Can't open file for writing
і мені не потрібно натиснути іншу клавішу, щоб повідомлення про помилку зникло. Є спосіб досягти цього?
:
ніколи не потрібні для команд.