Aquí hay un fragmento para agregar .vimrc
. Borra todos los archivos de intercambio que están
asociado al búfer de archivos actual y restablecer la extensión de intercambio.
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()
Una vez encontrada la situación, uno puede ejecutar. :DeleteFileSwaps
Esto es genial si se combina con :windo
o :tabdo
comandos
:tabdo DeleteFileSwaps
Más detalles : Un archivo puede tener más de 1 archivo de intercambio. La razon porque
El archivo de intercambio, con extensión de .swp
, todavía existen y vim
seguirá creando
nuevos por eso. Para saber si .swp
existe:
- Con el archivo de destino abierto en vim, ejecute
:sw
para obtener el archivo de intercambio actual.
- Compruebe el directorio en el que se encuentra el archivo de intercambio actual.
- A continuación, compruebe si el directorio contiene un archivo de intercambio con el nombre del archivo abierto
y tiene una extensión de
.swp
.
El fragmento de código anterior sigue el mismo proceso, pero elimina todos los archivos de intercambio.
Espero que esto ayude.
delete
opción, solo hay: [O] pluma (E) dit (R) ecover (Q) uit (A) bort, ¿qué debo hacer?