추가 할 스 니펫은 다음과 같습니다 .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
추가 세부 사항 : 파일은 둘 이상의 스왑 파일을 가질 수 있습니다. 확장자가 .swp
인 스왑 파일이 여전히 존재하고 vim
그 때문에 새 파일 을 계속 생성하기 때문입니다. .swp
존재 하는지 확인하려면 다음을 수행하십시오.
- 대상 파일을 vim에서 연 상태에서 실행
:sw
하여 현재 스왑 파일을 가져옵니다.
- 현재 스왑 파일이 포함 된 디렉토리를 확인하십시오.
- 그런 다음 디렉토리에 열린 파일 이름의 스왑 파일이 있고 확장자가 확장자인지 확인하십시오
.swp
.
위의 스 니펫은 동일한 프로세스를 따르지만 모든 스왑 파일을 제거하십시오.
도움이 되었기를 바랍니다.