Pergunta

Descobri que ao usar Vim no Windows Vim salva o arquivo, um arquivo .ext.swp que está excluído em fechar a janela Vim e um arquivo .ext~.

Eu assumo o arquivo .ext.swp é um backup de sessão no caso Vim falhas. Qual é a finalidade do arquivo .ext~ no entanto? É este um arquivo de backup permanente? É chato como eu gostaria de copiar todos os arquivos que eu estou trabalhando para o meu host, sem essas duplicatas. Como posso desligar isso ou , se ele está lá por um bom motivo, ocultar os arquivos ?

Foi útil?

Solução

O arquivo *.ext~ é um arquivo de backup, que contém o arquivo como era antes você editou-lo.

O arquivo *.ext.swp é o arquivo de swap, que serve como um arquivo de bloqueio e contém o histórico undo / redo, bem como quaisquer outras necessidades Vim Informações interno. Em caso de um acidente você pode re-abrir o arquivo e Vim irá restaurar o estado anterior do arquivo de troca (o que eu acho útil, então eu não desligá-lo).

Para desligar a criação automática de arquivos de backup, o uso (no seu vimrc):

set nobackup
set nowritebackup

Onde nowritebackup muda o padrão "salvar" o comportamento do Vim, que é:

  1. buffer de gravação para o novo arquivo
  2. exclua o arquivo original
  3. mudar o nome do novo arquivo

e faz Vim escrever o buffer para o arquivo original (resultando no risco de destruí-lo em caso de um erro de I / O). Mas você evitar "arquivos de salto" no desktop do Windows com ele, que é a principal razão para eu ter nowritebackup no lugar.

Outras dicas

Eu acho que a melhor solução é colocar estas linhas no seu arquivo vimrc

set backupdir=~/vimtmp//,.
set directory=~/vimtmp//,.

A primeira linha é para arquivos de backup, a segunda linha para trocar arquivos. A barra dupla nos garante finais que não há conflito no caso de dois arquivos com o mesmo nome, ver os comentários (no momento desta edição esta opção só é honrado para trocar arquivos, nem ainda com arquivos de backup ). O ,. permitir vim para usar o diretório atual, se o primeiro não existe.

Você tem que criar um diretório no seu diretório home chamado vimtmp para que isso funcione. Além disso, verificar que os backups são ativados em sua config (set backup add se não).

Dessa forma, você recebe o benefício de ambos os mundos, você não tem que ver os arquivos, mas se algo não se futzed você pode ir buscar o seu arquivo de backup do vimtmp. Não se esqueça de limpar o diretório para fora de vez em quando.

Para desligar esses arquivos, basta adicionar estas linhas para Vimrc (arquivo de configuração do vim no Mac OS baseados em Unix):

set nobackup       #no backup files
set nowritebackup  #only in case you don't want a backup file while editing
set noswapfile     #no swap files
:set nobackup 

desligará backups. Você também pode definir um backupdir se você ainda quer que os arquivos de backup, mas em uma pasta central. Desta forma, o dir de trabalho não está cheio de arquivos ~.

Você encontra mais informações sobre backups em : ele de backup .

E você pode também definir uma extensão de backup diferente e onde para salvar aqueles backup (eu prefiro ~/.vimbackups no linux). Eu costumava usar backups "versionadas", via:

au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'

Isso define uma extensão de backup dinâmico (ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup).

Coloque esta linha em seu vimrc:

set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile


que seria o:

C:\Program Files (x86)\vim\_vimrc

arquivo de configuração vim todo o sistema para todos os usuários.

Definindo a última noundofile é importante no Windows para evitar a criação de *~ Tilda arquivos após a edição.


Desejo Vim tinha essa linha incluído por padrão. Ninguém gosta de diretórios feias.

Deixe o usuário escolha se e como ela quer ativar o backup avançado / arquivo de desfazer apresenta em primeiro lugar.

Esta é a parte mais irritante de Vim.

O próximo passo pode ser a criação de:

set noeb vb t_vb= " errorbells visualbell

para desativar beeping na assim: -)

Você está correto que o arquivo .swp é usado por vim para bloquear e como um arquivo de recuperação.

Tente colocar set nobackup em sua vimrc se você não quer que esses arquivos. Consulte o Vim docs para várias opções relacionadas de backup se você quiser toda a colher, ou se quiser têm bak arquivos em vez ...

A única opção que funcionou para mim foi a de colocar esta linha no meu arquivo ~ / .vimrc

set noundofile

As outras opções referentes aos arquivos de backup não impediu a criação dos arquivos temporários que terminam em ~ (til)

Eu tive que adicionar set noundofile para ~ _gvimrc

O "~" diretório pode ser identificado por mudar o diretório com o comando cd ~

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top