Récemment, un utilisateur de Sublime Text a essayé Emacs pendant un certain temps, et il souhaitait obtenir le même comportement d'enregistrement automatique dans Emacs.
Fondamentalement, il voulait que tous les tampons soient enregistrés chaque fois que le cadre perdait le focus (vraiment enregistré, pas seulement sauvegardé). Cela inclut lors du basculement de Windows vers une application complètement différente.
Je n'ai trouvé aucun événement déclenché lors du passage à une autre application. Existe-t-il un tel événement ou existe-t-il un autre moyen d'obtenir le même comportement?
Notez qu'une solution basée sur le temps n'était pas satisfaisante, tout comme le comportement de sauvegarde automatique par défaut. Il voulait spécifiquement que les tampons soient enregistrés (comme dans save-buffer
) pour tous les fichiers.
defadvice
version, au cas où l'article de blog tomberait ou quelque chose? Merci!(add-hook 'focus-out-hook (lambda () (flet ((message (format &rest args) nil)) (save-some-buffers t))))
Il y en a
focus-autosave-mode
maintenant. Il est disponible via MELPA. Pourquoi ne pas lui donner une chance de faire le piratage pour vous?la source
Cela enregistrera tous les tampons non enregistrés visitant le fichier, sur emacs 24.4
la source
add-to-list
sur un crochet, utilisezadd-hook
. La réponse de shosti contient déjà la forme correcte de cet extrait.Pour les vagabonds qui butent dessus, j'utilise ce formulaire:
L'utilisation de
cl-letf
empêche les(No files need saving)
messages gênants d'obstruer votre zone d'écho.la source