Tôi đang cố gắng cải thiện mã từ câu trả lời này để yêu cầu xác nhận trước khi tạo thư mục bị thiếu, đây là những gì tôi viết:
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"))
Một điều tôi còn thiếu: khi tôi không nhấn y
vào dấu nhắc tôi muốn Vim hủy bỏ việc viết để tôi không gặp lỗi E212: Can't open file for writing
và tôi không cần nhấn một phím khác để làm cho thông báo lỗi biến mất. Có cách nào để đạt được điều này?
:
không bao giờ cần thiết cho các lệnh.