यहाँ जोड़ने के लिए एक स्निपेट है .vimrc। यह उन सभी स्वैप फ़ाइलों को हटा देता है जो वर्तमान फ़ाइल बफर से संबंधित हैं और स्वैप एक्सटेंशन को रीसेट करती हैं।
function! DeleteFileSwaps()
write
let l:output = ''
redir => l:output
silent exec ':sw'
redir END
let l:current_swap_file = substitute(l:output, '\n', '', '')
let l:base = substitute(l:current_swap_file, '\v\.\w+$', '', '')
let l:swap_files = split(glob(l:base.'\.s*'))
" delete all except the current swap file
for l:swap_file in l:swap_files
if !empty(glob(l:swap_file)) && l:swap_file != l:current_swap_file
call delete(l:swap_file)
echo "swap file removed: ".l:swap_file
endif
endfor
" Reset swap file extension to `.swp`.
set swf! | set swf!
echo "Reset swap file extension for file: ".expand('%')
endfunction
command! DeleteFileSwaps :call DeleteFileSwaps()
एक बार जब पूर्वानुमान के साथ सामना करना पड़ता है, तो कोई भी निष्पादित कर सकता है :DeleteFileSwaps
यह बहुत अच्छा है यदि इसके साथ गठबंधन :windoया :tabdoआदेश।
:tabdo DeleteFileSwaps
अधिक जानकारी : एक फ़ाइल में 1 से अधिक स्वैप फ़ाइल हो सकती है। इसका कारण यह है कि स्वैप फ़ाइल, के विस्तार के साथ .swp, अभी भी मौजूद है और vimइसकी वजह से नए बनाए रखेगा। यह पता लगाने के लिए कि क्या .swpमौजूद है:
- विम में लक्ष्य फ़ाइल खुली होने के साथ,
:swवर्तमान स्वैप फ़ाइल प्राप्त करने के लिए निष्पादित करें।
- निर्देशिका की जाँच करें कि वर्तमान स्वैप फ़ाइल में निहित है।
- फिर जाँच करें कि क्या निर्देशिका में खुली फ़ाइल के नाम के साथ एक स्वैप फ़ाइल है और इसका विस्तार है
.swp।
ऊपर स्निपेट एक ही प्रक्रिया का अनुसरण करता है, लेकिन सभी स्वैप फ़ाइलों को हटा दें।
उम्मीद है की यह मदद करेगा।