tutorial pegar editar copiar comandos comando archivo vim editor

pegar - vim linux



Deshabilitando la creación de archivos de intercambio en vim (10)

¿Hay alguna manera de deshabilitar la creación de archivos .swp en vim? o al menos créelos todos en un solo lugar para que pueda encontrarlos y eliminarlos fácilmente.

Los encuentro especialmente molestos cuando copio el directorio principal mientras edito al mismo tiempo. Por supuesto, sé que puedo usar find -exec para encontrarlos y borrarlos. Pero quiero una solución más práctica.


Aquí están mis configuraciones de copia de seguridad personal ~ / .vimrc

" 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


Establezca las siguientes variables en .vimrc o / etc / vimrc para hacer que vim ponga archivos de swap, backup y deshacer en una ubicación especial en lugar del directorio de trabajo del archivo que se está editando:

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

El uso de barras diagonales dobles en la ruta le dice a vim que habilite una función donde evita colisiones de nombres. Por ejemplo, si edita un archivo en una ubicación y otro en otra ubicación y ambos archivos tienen el mismo nombre, no desea que ocurra una colisión de nombres en ~ / .vim / swap /. Si especifica ~ / .vim / swap // con dos barras al final, vim creará archivos de intercambio utilizando la ruta completa de los archivos que se están editando para evitar colisiones (las barras en la ruta del archivo serán reemplazadas por el símbolo de porcentaje%).

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


Estoy de acuerdo con aquellos que se preguntan por qué vim necesita todo este material de ''recuperación de desastres'' cuando ningún otro editor de textos se molesta con eso. No quiero que vim cree CUALQUIER archivo extra en el directorio del archivo editado cuando lo estoy editando, muchas gracias. Para ello, tengo esto en mi _vimrc para deshabilitar los archivos de intercambio y mover los archivos de ''copia de seguridad'' irritantes al directorio Temp:

" 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


He encontrado la respuesta here :

vim -n <file>

abre archivo sin swapfile.

Adicionalmente:

set dir=/tmp

en .vimrc crea los .vimrc en /tmp .


Para cualquiera que intente configurar esto para los proyectos de Rails, agregue

set directory=tmp,/tmp

en tu

~/.vimrc

Por lo tanto, los archivos .swp estarán en su ubicación natural: el directorio tmp (por proyecto).


Para deshabilitar archivos de intercambio desde vim, escriba

:set noswapfile

Para deshabilitar los archivos de intercambio de forma permanente, agregue lo siguiente a su archivo ~/.vimrc

set noswapfile

Para más detalles vea los documentos Vim en swapfile


Puede configurar backupdir y directory en null para deshabilitar completamente sus archivos de intercambio, pero generalmente se recomienda colocarlos en un directorio centralizado. Vim se encarga de asegurarse de que no haya colisiones de nombres ni nada de eso; Entonces, esta es una alternativa completamente segura:

set backupdir=~/.vim/backup/ set directory=~/.vim/backup/


Si coloca set directory="" en su archivo exrc, desactivará el archivo de intercambio. Sin embargo, hacerlo deshabilitará la recuperación.

Más información here .


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


no cree ningún archivo de intercambio vim solo para un archivo en particular

autocmd bufenter c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile