Eu gosto de usar o recentf
modo no Emacs, que produz uma lista de arquivos que abri recentemente. Essa lista é persistente entre as sessões, para que eu possa acessar os arquivos que usei há bastante tempo.
No entanto, recentemente comecei a usar o Emacsclient para conectar-se a um servidor Emacs que é ativado automaticamente quando eu o registro. No geral, essa foi uma grande melhoria. No entanto, o recentf
modo começou a perder a maioria dos arquivos que eu abri sempre que reiniciei o computador. Ele lembra alguns deles e não consigo ver um padrão no qual os arquivos são gravados.
Como posso corrigir esse comportamento? Como posso gravar todos os arquivos que visito e lembrá-los entre as sessões?
emacs -nw
servidor de carregamento e o recentf, executandorecentf-mode 1
eserver-start
nessa ordem e não consegui reproduzir o seu problema. Você pode postar seu arquivo .emacs em algum lugar (como um pastebin) junto com um exemplo de como você está iniciando o emacs e o emacsclient?emacsclient -c --alternate-editor="" %f
. O problema pode estar no fato de eu não fechar o Emacs antes de desligar o computador, mas não tenho certeza. Matar manualmente o Emacs antes de desligar parece ajudar, mas essa não é uma ótima solução.Respostas:
Eu estava tendo exatamente o mesmo problema e resolvi-o fazendo duas alterações. Primeiro após este post , criei uma função para chamar automaticamente
recentf-save-list
em um timer. Assim, a cada poucos minutos, reescrevemos automaticamente o arquivo ~ / .recentf:A outra coisa que fiz foi adicionar um script de desligamento ao meu gerenciador de exibição (lightdm) que fechava normalmente o servidor emacs toda vez que eu saía ou desligava. A maneira como você faz isso dependerá do seu gerenciador de exibição, mas meu script simplesmente se parece com
Também seria bom ter um gancho que fosse executado novamente novamente
recentf-save-list
sempre que um cliente "desconectasse" do servidor, mas eu não conseguia descobrir os ganchos adequados.fonte
server-done-hook
. Pessoalmente, eu uso #server-visit-hook