Chaque jour, je démarre emacs et ouvre exactement les mêmes fichiers que j'avais ouverts la veille. Y a-t-il quelque chose que je puisse ajouter au fichier init.el pour qu'il rouvre tous les tampons que j'utilisais lors de ma dernière sortie d'emacs?Emacs: rouvre les tampons de la dernière session au démarrage?
Répondre
Vous pouvez utiliser le Emacs Desktop library:
Vous pouvez enregistrer le bureau manuellement avec la commande M-x bureau-enregistrer. Vous pouvez également activer l'enregistrement automatique du bureau lorsque vous quittez Emacs, et restauration automatique du dernier bureau sauvegardé Lorsqu'Emacs commence: utiliser le tampon de personnalisation (voir facile personnalisation) pour définir desktop-save-mode t pour les futures sessions , ou ajoutez cette ligne dans votre fichier ~/.emacs:
(desktop-save-mode 1)
http://www.phys.ufl.edu/docs/emacs/emacs_423.html peut avoir ce que vous avez besoin
Vous pouvez ouvrir des fichiers dans votre fichier .emacs en utilisant la fonction suivante:
(find-file "/ home/moi/chemin-vers-fichier")
Selon votre solution, le questionneur doit taper dans son dotemacs les noms de fichiers récemment ouverts à chaque fois. Pas vraiment prometteur. –
En fait, il écrit ce qui suit "... ouvrir les mêmes fichiers que j'avais ouverts la veille ...". S'il ouvre les mêmes fichiers, ces entrées ne changeraient pas beaucoup. Tu n'es pas d'accord? – paweloque
@Lewap: l'OP est une femme. Elle n'est pas. Méfiez-vous des hypothèses. – Telemachus
Bien que je soupçonne que la question était à la recherche de la fonctionnalité "desktop" d'emacs (voir la réponse ci-dessus), l'approche de Lewap peut être utile si ensemble de fichiers que l'on utilise est vraiment le même ensemble de fichiers. En fait, on peut aller plus loin et de définir des « profils » si l'on a différents ensembles de fichiers utilisés régulièrement ... exemple Quickie:
(let ((profile
(read-from-minibuffer "Choose a profile (acad,dist,lisp,comp,rpg): ")
))
(cond
((string-match "acad" profile)
(dired "/home/thomp/acad")
(dired "/home/thomp/acad/papers")
)
((string-match "lisp" profile)
(setup-slime)
(lisp-miscellany)
(open-lisp-dirs)
)
((string-match "rpg" profile)
(find-file "/home/thomp/comp/lisp/rp-geneval/README")
(dired "/home/thomp/comp/lisp/rp-geneval/rp-geneval")
... etc.
Si vous trouvez que vous passez régulièrement et-vient entre les différents ensembles de Si vous utilisez des fichiers régulièrement utilisés pendant que vous travaillez, pensez à utiliser perspectives et à remplir chaque perspective avec l'ensemble de fichiers régulièrement utilisés.
Vous pouvez apporter des améliorations utiles à la fonction de bureau de base. Particulièrement pratique (IMO) sont des méthodes d'auto-sauvegarde du bureau pendant la session, sinon, si votre système plante, vous serez coincé avec le fichier de bureau que vous avez commencé cette session - assez ennuyeux si vous avez tendance à garder Emacs jours à la fois.
http://www.emacswiki.org/emacs/DeskTop
Le wiki contient également des informations utiles sur la persistance des données entre les sessions en général:
http://www.emacswiki.org/emacs/SessionManagement
Pour les ordinateurs de bureau spécifiquement, je pensais que Desktop Recover avait l'air particulièrement prometteur, mais je ne l'ai pas encore essayé.
(find-file-noselect "/my/file")
l'ouvrira silencieusement, c'est-à-dire sans élever le tampon. Je dis juste.
EDIT Cette commande est interactive; Pour le tester, vous devez évaluer l'expression, par exemple en positionnant le curseur après la dernière parenthèse et en appuyant sur C-x C-e
Diminuer la valeur pas cool; cette commande fonctionne définitivement et est dans le champ de la question.
Je n'ai pas downvote, mais peut-être que votre réponse a été downvoted parce qu'elle ne résout pas la question de savoir comment ouvrir spécifiquement les tampons étaient ouverts dans la session précédente d'Emacs. –
Pour le stockage/restauration des tampons/onglets (en particulier elscreen onglets): J'utilise elscreen et la façon dont je gère le stockage/restauration de la session de bureau et la configuration de l'onglet elscreen est le code suivant dans mon fichier .emacs (le les noms utilisés sont explicites et si les fonctions de stockage/restauration ne doivent pas être exécutées chaque fois qu'emacs démarre, commentez simplement les lignes avec "(push # '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-string (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-string))))))
(while screens
(setq screen (car (car screens)))
(setq buffers (split-string (cdr (car screens)) ":"))
(if (eq screen 0)
(switch-to-buffer (car buffers))
(elscreen-find-and-goto-by-buffer (car buffers) t t))
(while (cdr buffers)
(switch-to-buffer-other-window (car (cdr buffers)))
(setq buffers (cdr buffers)))
(setq screens (cdr screens))))))
(elscreen-restore)
- 1. Démarrage d'une session d'écran au démarrage avec ubuntu
- 2. Pin tampons Emacs à windows (pour cscope)
- 3. session Avertissement de démarrage
- 4. comment obtenir focus-suit-souris sur les tampons dans emacs?
- 5. Emacs impossible de charger ses fichiers de démarrage
- 6. Comment empêcher Emacs de modifier automatiquement mon fichier de démarrage?
- 7. gestion de session à l'aide emacs bibliothèque de bureau
- 8. Obtenir les modifications de dernière depuis la dernière valeur Variation
- 9. Exception au niveau de la session
- 10. Id de session changeant au hasard
- 11. Emacs: fixer la hauteur de certaines fenêtres
- 12. Win32 Dialog fermeture au démarrage
- 13. l'extraction des fichiers au démarrage configuration au lieu de la fin
- 14. Comment synchroniser l'horloge de l'ordinateur au démarrage?
- 15. Xcode se bloque au démarrage
- 16. Les onglets de tampon XEmacs n'affichent pas tous les tampons
- 17. EmacsW32 renomme les tampons avec les anciens noms de fichiers raccourcis Windows
- 18. Comment lister tous les ordinateurs et la dernière fois qu'ils ont ouvert une session dans AD?
- 19. service de retard au démarrage du système
- 20. Quels autres gestionnaires de session sont disponibles pour Emacs?
- 21. Comment puis-je demander à Emacs de restaurer tous les tampons inchangés lors du changement de branche dans git?
- 22. Quelle est la manière correcte de manipuler les composants Swing au démarrage du programme?
- 23. Pourquoi IE7 récupère-t-il toutes les favicon au démarrage?
- 24. Comment désactiver les effets sonores au démarrage d'Ubuntu?
- 25. Emacs fusion des tampons en un seul sans utiliser CX1 keybind
- 26. Mettre un programme dans la barre d'état système au démarrage
- 27. openGL glDrawElements avec tampons entrelacés
- 28. Onglets Vim et tampons
- 29. Comment puis-je spécifier les propriétés du système dans la configuration de Tomcat au démarrage?
- 30. Visual Studio 2005 se bloque au démarrage
Semble que la gestion de bureau est différente dans Emacs 21 et 22+. Le sujet est décrit sur cette page: http://www.emacswiki.org/emacs/DeskTop. – hji