Se você já foi salvo por um arquivo de backup do Emacs, provavelmente desejará mais deles, e não menos. É irritante que eles entrem no mesmo diretório que o arquivo que você está editando, mas isso é fácil de alterar. Você pode fazer com que todos os arquivos de backup entrem em um diretório, colocando algo como o seguinte em seu
.emacs
.
(setq backup-directory-alist `(("." . "~/.saves")))
Há vários detalhes misteriosos associados à forma como o Emacs pode criar seus arquivos de backup. Ele deve renomear o original e gravar o buffer editado? E se o original estiver vinculado? Em geral, a aposta mais segura, porém mais lenta, é sempre fazer backups copiando.
(setq backup-by-copying t)
Se isso for muito lento por algum motivo, você também pode dar uma olhada
backup-by-copying-when-linked
.
Como seus backups estão todos em seu lugar agora, você pode querer mais deles, em vez de menos deles. Dê uma olhada na documentação do Emacs para essas variáveis (com C-h v
).
(setq delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t)
Por fim, se você absolutamente não deve ter arquivos de backup:
(setq make-backup-files nil)
Isso me deixa doente de pensar nisso.
Os arquivos de backup / salvamento automático do Emacs podem ser muito úteis. Mas esses recursos são confusos.
Arquivos de backup
Os arquivos de backup têm tildes (
~
ou~9~
) no final e devem ser gravados no diretório inicial do usuário. Quandomake-backup-files
não é nulo, o Emacs cria automaticamente um backup do arquivo original na primeira vez em que o arquivo é salvo de um buffer. Se você estiver editando um novo arquivo, o Emacs criará um backup na segunda vez que você salvar o arquivo.Não importa quantas vezes você salve o arquivo, o backup permanecerá inalterado. Se você matar o buffer e depois visitar o arquivo novamente, ou na próxima vez em que iniciar uma nova sessão do Emacs, um novo arquivo de backup será criado. O novo backup reflete o conteúdo do arquivo após a reabertura ou no início das sessões de edição. Mas um backup existente nunca é tocado novamente. Portanto, acho útil criar backups numerados (consulte a configuração abaixo).
Para criar backups, use explicitamente
save-buffer
(C-x C-s
) com argumentos de prefixo.diff-backup
edired-diff-backup
compara um arquivo com seu backup ou vice-versa. Mas não há função para restaurar arquivos de backup. Por exemplo, no Windows, para restaurar um arquivo de backupdeve ser copiado manualmente como
Salvar arquivos automaticamente
Os arquivos de salvamento automático usam hashmarks (
#
) e devem ser gravados localmente no diretório do projeto (junto com os arquivos reais). O motivo é que os arquivos de salvamento automático são apenas arquivos temporários criados pelo Emacs até que um arquivo seja salvo novamente (como com apressada obediência).C-x C-s
(save-buffer
) para salvar um arquivo, o Emacs salva automaticamente os arquivos - com base na contagem de pressionamentos de tecla (auto-save-interval
) ou quando você para de digitar (auto-save-timeout
).Quando o usuário salva o arquivo, a versão salva automaticamente é excluída. Mas quando o usuário sai do arquivo sem salvá-lo, o Emacs ou a sessão X travam, os arquivos salvos automaticamente ainda existem.
Use
revert-buffer
ourecover-file
para restaurar arquivos de salvamento automático. Observe que o Emacs registra sessões interrompidas para recuperação posterior em arquivos denominados ~ / .emacs.d / auto-save-list . Arecover-session
função usará essas informações.O método preferido para recuperar de um arquivo salvo automaticamente é
M-x revert-buffer RET
. O Emacs perguntará: "O buffer foi salvo automaticamente recentemente. Reverter do arquivo de salvamento automático?" ou "Reverter buffer do arquivo FILENAME?". No caso deste último, não há arquivo de salvamento automático. Por exemplo, porque você salvou antes de digitar outrasauto-save-intervall
teclas, nesse caso o Emacs excluiu o arquivo de salvamento automático.Atualmente, o salvamento automático está desativado por padrão, pois pode retardar a edição quando conectado a uma máquina lenta e porque muitos arquivos contêm dados confidenciais.
Configuração
Aqui está uma configuração que IMHO funciona melhor:
Dados sensíveis
Outro problema é que você não deseja que o Emacs espalhe cópias de arquivos com dados confidenciais. Use esse modo por arquivo. Como este é um modo menor, para os meus propósitos, eu o renomei
sensitive-minor-mode
.Para habilitá-lo para todos os arquivos .vcf e .gpg , no seu .emacs use algo como:
Como alternativa, para proteger apenas alguns arquivos, como alguns arquivos .txt , use uma linha como
no arquivo
fonte
diff
ele com o arquivo real. Em seguida, atire no Emacs e descubra por si mesmo o querevert-buffer
faz. Isso será recompensado rapidamente em casos de emergência.A resposta aceita é boa, mas pode ser melhorada com o backup adicional de cada salvamento e o backup de arquivos com versão .
Primeiro, configurações básicas, conforme descrito na resposta aceita :
Em seguida, também faça backup de arquivos com versão, que o Emacs não executa por padrão (você não confirma em cada salvamento, certo?):
Por fim, faça um backup em cada salvamento, não apenas no primeiro. Fazemos dois tipos de backups:
backups por sessão: uma vez no primeiro salvamento do buffer em cada sessão do Emacs. Eles simulam o comportamento de backup padrão do Emac.
backups por salvamento: uma vez a cada salvamento. O Emacs não faz isso por padrão, mas é muito útil se você deixar o Emacs em execução por um longo tempo.
Os backups vão para lugares diferentes e o Emacs cria os diretórios de backup automaticamente se eles não existirem:
Fiquei muito interessado neste tópico depois de escrever, em
$<
vez de$@
no meuMakefile
, cerca de três horas após o meu commit anterior: PO texto acima é baseado em uma página do Emacs Wiki que eu editei pesadamente .
fonte
setq
s na parte superior da minha resposta? O acima funciona para mim no Emacs 24.5.1.Outra maneira de configurar as opções de backup é através da interface Personalizar. Entrar:
E então, no
Customize group:
prompt, digitebackup
.Se você rolar até a parte inferior do buffer, verá a lista de diretórios de backup . Clique em Mostrar valor e defina a primeira entrada da lista da seguinte maneira:
Como alternativa, você pode desativar os backups da minha configuração Criar arquivos de backup para
off
.Se você não deseja que o Emacs edite automaticamente seu
.emacs
arquivo, você precisará configurar um arquivo de personalização .fonte
customize-group
2 anos atrás. Obrigado!Você pode desativá-los completamente
fonte