मैं लापता निर्देशिका बनाने से पहले पुष्टि करने के लिए इस उत्तर से कोड को बेहतर बनाने की कोशिश कर रहा हूं , यही मैं लिख रहा हूं:
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
प्रॉम्प्ट पर प्रेस नहीं करता , तो मैं विम को लिखना छोड़ दूंगा ताकि मुझे त्रुटि न मिले E212: Can't open file for writing
और मुझे त्रुटि संदेश को गायब करने के लिए किसी अन्य कुंजी को हिट करने की आवश्यकता न हो। इसे प्राप्त करने का एक तरीका है?
:
कमांड के लिए अग्रणी कभी आवश्यक नहीं है।