Chaque jour, je lance emacs et ouvre exactement les mêmes fichiers que la veille. Y a-t-il quelque chose que je peux append au fichier init.el afin qu’il rouvre tous les tampons que j’utilisais lorsque j’ai quitté emacs pour la dernière fois?
Vous pouvez utiliser la bibliothèque Emacs Desktop :
Vous pouvez enregistrer le bureau manuellement avec la commande Mx desktop-save. Vous pouvez également activer l’enregistrement automatique du bureau lorsque vous quittez Emacs, et la restauration automatique du dernier bureau enregistré au démarrage d’Emacs: utilisez le tampon de personnalisation (voir Personnalisation facile) pour définir le mode de sauvegarde du bureau sur t pour les sessions futures ou append cette ligne dans votre fichier ~ / .emacs:
(desktop-save-mode 1)
Bien que je soupçonne que la question recherchait la fonctionnalité “desktop” d’emacs (voir la réponse ci-dessus), l’approche de Lewap peut être utile si l’ensemble des fichiers utilisés est exactement le même ensemble de fichiers. En fait, on peut aller plus loin et définir des “profils” si on a différents jeux de fichiers régulièrement utilisés … Exemple Quickie:
(let ((profile (read-from-minibuffer "Choose a profile (acad,dist,lisp,comp,rpg): ") )) (cond ((ssortingng-match "acad" profile) (dired "/home/thomp/acad") (dired "/home/thomp/acad/papers") ) ((ssortingng-match "lisp" profile) (setup-slime) (lisp-miscellany) (open-lisp-dirs) ) ((ssortingng-match "rpg" profile) (find-file "/home/thomp/comp/lisp/rp-geneval/README") (dired "/home/thomp/comp/lisp/rp-geneval/rp-geneval") ... etc.
Si vous constatez que vous passez régulièrement de différents fichiers à des fichiers utilisés régulièrement, envisagez d’utiliser des outlook et de remplir chaque perspective avec l’ensemble de fichiers régulièrement utilisés.
Pour stocker / restaurer les tampons / tabs (en particulier les tabs elscreen): j’utilise elscreen et la manière dont je stocke / restaure la session de bureau et la configuration de l’onglet elscreen est le code suivant dans mon fichier .emacs (les noms utilisés sont explicites) et si les fonctions de stockage / restauration ne doivent pas être exécutées à chaque fois que emacs démarre, il suffit de commenter les lignes avec “(pousser # ‘elscreen-store kill-emacs-hook)” et “(elscreen-restore)”):
(defvar emacs-configuration-directory "~/.emacs.d/" "The directory where the emacs configuration files are stored.") (defvar elscreen-tab-configuration-store-filename (concat emacs-configuration-directory ".elscreen") "The file where the elscreen tab configuration is stored.") (defun elscreen-store () "Store the elscreen tab configuration." (interactive) (if (desktop-save emacs-configuration-directory) (with-temp-file elscreen-tab-configuration-store-filename (insert (prin1-to-ssortingng (elscreen-get-screen-to-name-alist)))))) (push #'elscreen-store kill-emacs-hook) (defun elscreen-restore () "Restore the elscreen tab configuration." (interactive) (if (desktop-read) (let ((screens (reverse (read (with-temp-buffer (insert-file-contents elscreen-tab-configuration-store-filename) (buffer-ssortingng)))))) (while screens (setq screen (car (car screens))) (setq buffers (split-ssortingng (cdr (car screens)) ":")) (if (eq screen 0) (switch-to-buffer (car buffers)) (elscreen-find-and-goto-by-buffer (car buffers) tt)) (while (cdr buffers) (switch-to-buffer-other-window (car (cdr buffers))) (setq buffers (cdr buffers))) (setq screens (cdr screens)))))) (elscreen-restore)
Vous pouvez apporter des améliorations utiles à la fonctionnalité de base du bureau. Les méthodes particulièrement pratiques (IMO) permettent de sauvegarder automatiquement le bureau pendant la session, sinon, si votre système plante, vous serez bloqué avec le fichier de bureau avec lequel vous aviez démarré. jours à la fois.
http://www.emacswiki.org/emacs/DeskTop
Le wiki contient également des informations utiles sur les données persistantes entre les sessions en général:
http://www.emacswiki.org/emacs/SessionManagement
Pour les ordinateurs de bureau en particulier, je pensais que Desktop Recover semblait particulièrement prometteur, mais je ne l’ai pas encore essayé.
Vous pouvez ouvrir des fichiers dans votre fichier .emacs en utilisant la fonction suivante:
(fichier de recherche “/ home / me / chemin-vers-fichier”)
(find-file-noselect "/my/file")
l’ouvrira silencieusement, c’est-à-dire sans lever le tampon. Je dis juste
EDIT Cette commande n’est pas interactive. Pour le tester, il faut évaluer l’expression, par exemple en positionnant le curseur après la dernière parenthèse et en appuyant sur Cx Ce.
Abandonner ce n’est pas cool ; cette commande fonctionne définitivement et est dans la scope de la question.