Cuando edito archivos, Vim tiende a crear archivos con nombre , lo que me resulta molesto. Desde , veo que la opción suprime la creación de archivos de intercambio..filename.swp
vim -h
-n
¿Existe una directiva vimrc que pueda usar para deshabilitar los archivos de intercambio de forma predeterminada?
¿Cuál es el propósito de los archivos de intercambio y qué funcionalidad me perdería al suprimirlos?
vimrc
crash-recovery
swap-file
200_success
fuente
fuente
noswapfile
como se sugiere a continuación. Sin embargo, finalmente cedí y apagué eso, porque aparentemente los beneficios superan las molestias, pero en realidad no recuerdo qué me convenció para restaurar el uso del archivo de intercambio. Probablemente mi computadora se bloqueó y no pude restaurar algunos archivos que había perdido, lo que habría sido trivial con los archivos de intercambio activados.Respuestas:
Razones para intercambiar archivos
Los archivos de intercambio almacenan los cambios que ha realizado en el búfer. Si Vim o su computadora se bloquean, le permiten recuperar esos cambios.
Los archivos de intercambio también proporcionan una manera de evitar que varias instancias de Vim editen el mismo archivo. Esto puede ser útil en sistemas multiusuario o simplemente para saber si tiene otro Vim que ya está editando un archivo.
Deshabilitar archivos de intercambio
Si desea deshabilitar la creación de archivos de intercambio por completo (que no recomendaría), puede agregarlos
set noswapfile
a su.vimrc
. Esto establece el valor global de la opción. Luego puede anular eso para buffers específicos usando:setlocal swapfile
mientras ejecuta Vim.Organizar archivos de intercambio
Si su problema es más sobre los archivos adicionales distribuidos alrededor de su sistema de archivos, entonces podría agregar todos los archivos de intercambio en un solo lugar. Por ejemplo, cree un
~/.vim/tmp
directorio y luego agreguea tu
.vimrc
. La'directory'
opción contiene una lista de directorios que Vim usará para intentar almacenar el archivo de intercambio.La
^=
sintaxis de:set
antecede el nombre del directorio al encabezado de la lista, por lo que Vim verificará primero ese directorio.Al
//
final del nombre del directorio le dice a Vim que use la ruta absoluta al archivo para crear el archivo de intercambio para que no haya colisiones entre archivos del mismo nombre de diferentes directorios.Tenga en cuenta que esto evitará que Vim se dé cuenta cuando haya varios usuarios intentando editar el mismo archivo. Dado que el archivo de intercambio no está en el mismo directorio que el archivo original, Vim del otro usuario no sabrá sobre el archivo de intercambio y no les advertirá que ya está siendo editado.
fuente
vim-auto-save
. ¿Esto no desprecia la necesidad de intercambiar archivos?vim temp.txt --some-command-that-disable-swap
? Mi caso de uso es que algún observador seguirá observando cualquier cambio en el directorio, por lo que solo para entonces desearía deshabilitar el intercambio para evitar una colisión.