Como posso obter o modo recentf para trabalhar com o servidor / cliente emacs?

8

Eu gosto de usar o modo recentf no Emacs, que produz uma lista de arquivos que abri recentemente. Essa lista é persistente entre as sessões, então posso acessar os arquivos que usei há bastante tempo.

No entanto, comecei recentemente a usar o Emacsclient para conectar-me a um servidor Emacs que é ativado automaticamente quando eu o registro. No geral, isso foi uma grande melhoria. No entanto, o modo recentf começou a perder a maioria dos arquivos que abri sempre que reiniciava o meu computador. Ele lembra alguns deles, e não consigo ver um padrão em que os arquivos são gravados.

Como posso corrigir esse comportamento? Como posso fazer com que ele grave todos os arquivos que eu visito e lembre-os entre as sessões?

    
por Tikhon Jelvis 07.01.2012 / 00:02

1 resposta

7

Eu estava tendo exatamente o mesmo problema e resolvi fazendo duas alterações. Primeiro após esta postagem , criei uma função para invocar 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 normalmente fechava o servidor emacs toda vez que eu fazia logout ou desligava. A maneira como você faz isso dependerá do seu gerenciador de exibição, mas meu script simplesmente se parece com

#!/bin/bash
emacsclient -e "(save-buffers-kill-emacs)"

Também seria bom ter um hook que automaticamente executasse recentf-save-list toda vez que um cliente "desconectasse" do servidor, mas eu não conseguia descobrir os ganchos apropriados.

    
por 11.12.2012 / 02:12

Tags