Вот фрагмент для добавления .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
существует ли :
- Когда целевой файл открыт в vim, выполните команду,
:sw
чтобы получить текущий файл подкачки. - Проверьте каталог, в котором содержится текущий файл подкачки.
- Затем проверьте, содержит ли каталог файл подкачки с именем открытого файла и имеет расширение
.swp
.
Приведенный выше фрагмент кода повторяет тот же процесс, но удаляет все файлы подкачки.
Надеюсь это поможет.