Hay una manera de desactivar .swp archivos de la creación en vim? o al menos crear todo en un solo lugar para que yo pueda encontrar y eliminarlos fácilmente.

Me parece especialmente molesto cuando me copia el directorio padre, mientras que la edición en el mismo tiempo. Por supuesto, sé que se puede utilizar la función de búsqueda -exec para encontrar y eliminarlos. Pero quiero una solución más práctica.

10 Comentarios

  1. 243

    Para desactivar el intercambio de archivos desde dentro de vim, tipo

    :set noswapfile
    

    Para desactivar el intercambio de archivos de forma permanente, agregue el siguiente a la ~/.vimrc archivo

    set noswapfile
    

    Para obtener más detalles, consulte el Vim documentos en archivo de intercambio

    • Los archivos de intercambio son buenas si su editor de accidentes aunque (corte de energía, etc.), sólo ten en mente.
    • Otra opción es todavía el uso de archivo de intercambio, sino que dejan en la memoria, por lo que no deje de escribir en el disco duro. Esto no lo puede proteger de la pérdida de los archivos durante un corte de luz, pero si abrir el mismo archivo en otro vim, que te avisará de inmediato. El comando es: directory=/dev/shm
    • trusktr la respuesta le permite mantener las ventajas de los archivos de intercambio, mientras que frente a la OP preocupación.
    • Desde el interior de vim también puede deshabilitar el archivo de intercambio, mientras que la apertura de un archivo: :noswapfile edit /path/to/file
  2. 149

    Establecer las siguientes variables .vimrc o /etc/vimrc para hacer vim poner swap, copia de seguridad y deshacer los archivos en una ubicación especial, en lugar de en el directorio de trabajo del archivo que se está editando:

    set backupdir=~/.vim/backup//
    set directory=~/.vim/swap//
    set undodir=~/.vim/undo//
    

    Utilizando el doble de trailing barras en el camino le dice vim para activar una función en la que evita las colisiones de nombres. Por ejemplo, si edita un archivo en un lugar y otro archivo en otra ubicación y ambos archivos tienen el mismo nombre, no quiero un nombre que ocurra en ~/.vim/swap/. Si especifica ~/.vim/, swap,/con dos tirados barras vim creará los archivos de intercambio utilizando la ruta completa de los archivos que se han editado para evitar colisiones (barras en la ruta del archivo será reemplazado por el símbolo de porcentaje %).

    Por ejemplo, si edita /path/one/foobar.txt y /path/two/foobar.txt, a continuación podrá ver los dos archivos de intercambio en ~/.vim/, swap, que se denominan %path%one%foobar.txt y %path%two%foobar.txt, respectivamente.

    • También se podría agregar que, en algún tiempo la guarda archivos de copia de seguridad puede salvar a un devs de la piel
    • Comentario: (no crítica), Que parece bueno principalmente para el desarrollo, porque para la lectura de archivos y pequeñas modificaciones o sin importancia nota manteniendo que es una gran parte de vim uso para un montón de gente, parece un extra de bookeeping trabajo mejor que quede fuera. Yo personalmente prefiero para todos los puestos de trabajo que simplemente no tienen los swaps u otros automática de copias de seguridad. Si realmente la necesidad de desarrollar algo, prefiero tener un más alto nivel de marco para que me proteja, preferiblemente con el código de control de versiones, etc.
    • Es cierto que la mayoría de las veces estos archivos son en su mayoría inútiles, porque puedo usar git para todo el código fuente. En raras ocasiones (como un accidente) que han llegado en la mano aunque. Pero, en realidad, el historial de deshacer la utilizo mucho. Es mucho más fácil navegar rápidamente que la comprobación hacia fuera en git para ver la historia anterior. gundo hace que sea agradable y fácil de navegar deshacer el árbol. Yo podría vivir sin el intercambio y copia de seguridad de archivos.
    • Sólo para tu INFORMACIÓN para las personas que son nuevos (como yo jaja…) te tienes que ir a ~/.vim/ y crea los directorios de ti mismo. No se auto crea para usted.
    • Usted podría también escribir algo de código en su vimrc para crear automáticamente las carpetas para usted, que es lo que he hecho en la mía. Así, en los nuevos sistemas, acabo de obtener mi vimrc, y se encarga del resto.
  3. 37

    He encontrado la respuesta aquí:

    vim -n <file>
    

    abre el archivo sin swapfile.

    Además:

    set dir=/tmp
    

    en .vimrc crea el swapfiles en /tmp.

    • ¿Qué acerca de la *.ext~ archivos de copia de seguridad? ¿Hay alguna opción de línea de comandos para deshabilitar así?
    • Lo que es muy útil para aquellos que uno de archivos de gran tamaño! Gracias.
  4. 27

    aquí están mis personales ~/.vimrc configuración de copia de seguridad

    " backup to ~/.tmp 
    set backup 
    set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
    set backupskip=/tmp/*,/private/tmp/* 
    set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
    set writebackup
    
  5. 13

    Estoy de acuerdo con aquellos que se pregunta el por qué de vim necesidades de todos esta «recuperación de desastres» cosas cuando no hay otros editores de texto molestar con él. No quiero vim creación de los archivos adicionales en la edición del archivo del directorio cuando estoy editando, muchas gracias. A tal fin, tengo esto en mi _vimrc para deshabilitar los archivos de intercambio, y mover irritante ‘copia de seguridad’ archivos a la Temp dir:

    " Uncomment below to prevent 'tilde backup files' (eg. myfile.txt~) from being created
    "set nobackup
    
    " Uncomment below to cause 'tilde backup files' to be created in a different dir so as not to clutter up the current file's directory (probably a better idea than disabling them altogether)
    set backupdir=C:\Windows\Temp
    
    " Uncomment below to disable 'swap files' (eg. .myfile.txt.swp) from being created
    set noswapfile
    
    • Creo que el hecho de que otros editores no se moleste con ella refleja mal en los otros editores más de lo que refleja una mala imagen sobre vi(m). La elección de hacer el mismo directorio que el lugar predeterminado para poner estos archivos es un poco desafortunado, aunque al menos marginalmente defendible. (por ejemplo, En un multiservidor, altamente cruz montada en el entorno, puede no ser obvio dónde encontrar un archivo de recuperación en el momento en que más la necesita con urgencia)
    • Vim archivo de intercambio de manejo es horrible. La he utilizado para recuperar los datos perdidos de tal vez 5 veces. Pero me ha molestado para recuperar un archivo de intercambio alrededor de 9.000 veces, que es invariablemente idéntica a la del archivo de todos modos, o peor aún una fecha de versión. Podría ser una buena función de si el proceso de recuperación no chupar de una forma tan terrible. recuperarse.vim ayuda un poco, pero aún es muy interactivo.
    • Sublime Text tiene disaster recovery. Me encanta! Ni siquiera tengo para guardar un archivo, cuando puedo volver a cualquiera de los cambios que hizo, salvado o no, se tiró hacia atrás para arriba.
    • Tengo una simple autocommand que escribe todos los cambios tan pronto como se hizo, haciendo que ambos swapfiles y copias de seguridad inútil.
    • Vim swapfile me ha ayudado a recuperar los datos varias veces. No recuerdo todas las veces que he sido incapaz de recuperar los datos. Podría el proceso de recuperación sea más amigable? Probablemente, pero creo que el uso de palabras como «horrible» y «apestar terriblemente» es infundada.
    • Es probablemente mi culpa para reiniciar mi máquina sin cerrar todas mis Vim sesiones, y luego de ser paranoico sobre la que recuperar archivos son realmente válidos. De todos modos traté de obtener lo mejor de ambos mundos, escribiendo un plugin que sólo mantiene un archivo de intercambio cuando no son los cambios no guardados: vim-swap-es-impresionante.vim

  6. 6

    Puede establecer backupdir y el directorio a null para deshabilitar completamente el intercambio de archivos, pero en general se recomienda simplemente ponerlas en un directorio centralizado. Vim tiene cuidado de asegurarse de que no hay nombre collissions ni nada de eso, así que este es un medio completamente seguro de la alternativa:

    set backupdir=~/.vim/backup/
    set directory=~/.vim/backup/
    
    • Usted debe agregar una doble barra // hasta el final de los caminos, de modo que usted puede modificar dos archivos con el mismo nombre en el mismo tiempo.
  7. 3

    Si pones set directory="" en su exrc archivo, puedes desactivar el archivo de intercambio. Sin embargo, al hacerlo se deshabilita la recuperación.

    Más info aquí.

  8. 3

    Si usted está usando git, usted puede agregar *.swp a .gitignore.

    • Creo que eso es lo que la mayoría de los usuarios necesitan! La desactivación de los archivos de intercambio es una mala práctica.
  9. 2

    crear no vim archivo de intercambio sólo para un archivo en particular

    autocmd bufenter  c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile
    
    • O para todos los archivos en un directorio en particular, el siguiente parece que funciona (sólo pruebas breves): autocmd bufenter c:/aaa/Dropbox/TapNote/* :set noswapfile
  10. 1

    Para cualquier persona tratando de establecer esto para Rieles de proyectos, agregar

    set directory=tmp,/tmp
    

    en su

    ~/.vimrc
    

    Para el .swp serán los archivos en su ubicación natural, – el directorio tmp (por proyecto).

Dejar respuesta

Please enter your comment!
Please enter your name here