Quando edito arquivos, o Vim tende a criar arquivos nomeados , o que acho irritante. De , vejo que a opção suprime a criação de arquivos de troca..filename.swp
vim -h
-n
Existe uma diretiva vimrc que eu possa usar para desativar os arquivos de troca por padrão?
Qual é o objetivo dos arquivos de troca e que funcionalidade eu estaria perdendo ao suprimi-los?
vimrc
crash-recovery
swap-file
200_success
fonte
fonte
noswapfile
como sugerido abaixo. Eu acabei cedendo e desligando isso, no entanto, porque aparentemente os benefícios superam os aborrecimentos - no entanto, não me lembro o que me convenceu a restaurar o uso de arquivos de troca. Provavelmente meu computador travou e não consegui restaurar alguns arquivos perdidos, o que seria trivial com os arquivos de troca ativados.Respostas:
Razões para arquivos de troca
Os arquivos de swap armazenam as alterações feitas no buffer. Se o Vim ou o seu computador travar, eles permitem que você recupere essas alterações.
Os arquivos de troca também fornecem uma maneira de evitar que várias instâncias do Vim editem o mesmo arquivo. Isso pode ser útil em sistemas multiusuário ou apenas para saber se você já tem outro Vim editando um arquivo.
Desativando Arquivos de Troca
Se você deseja desativar completamente a criação de arquivos de troca (o que eu não recomendaria), adicione-o
set noswapfile
ao seu.vimrc
. Isso define o valor global da opção. Você pode substituir isso para buffers específicos usando:setlocal swapfile
enquanto executa o Vim.Organizando arquivos de troca
Se o seu problema é mais sobre os arquivos extras espalhados pelo seu sistema de arquivos, você pode agregar todos os arquivos de troca em um só lugar. Por exemplo, crie um
~/.vim/tmp
diretório e adicionepara o seu
.vimrc
. A'directory'
opção contém uma lista de diretórios que o Vim usará para tentar armazenar o arquivo de troca.A
^=
sintaxe para:set
precede o nome do diretório ao cabeçalho da lista, portanto o Vim verificará esse diretório primeiro.O
//
no final do nome do diretório diz ao Vim para usar o caminho absoluto para o arquivo para criar o arquivo de troca, para que não haja colisões entre arquivos com o mesmo nome de diretórios diferentes.Observe que isso impedirá o Vim de perceber quando há vários usuários tentando editar o mesmo arquivo. Como o arquivo de troca não está no mesmo diretório que o arquivo original, o Vim do outro usuário não saberá sobre o arquivo de troca e não avisará que ele já está sendo editado.
fonte
vim-auto-save
. Isso não substitui a necessidade de arquivos de troca?vim temp.txt --some-command-that-disable-swap
? Meu caso de uso é que algum observador continuará observando qualquer alteração no diretório; portanto, só então eu gostaria de desativar a troca para evitar colisões.