Guardar la lista de archivos abiertos y el historial de comandos del búfer entre sesiones

7

Descubrí desktop-save-modequé permite que Emacs se cierre y cuando se vuelve a abrir, aparece con los mismos archivos que estaban abiertos antes.

Quiero llevar esto un poco más allá y me preguntaba si también podría:

  1. Guarde el historial de archivos con los que he abierto C-x C-f. A menudo termino abriendo los mismos archivos, por lo que sería genial encontrarlos fácilmente. Si no es posible guardar esto, ¿podrían ayudar algunos marcadores?
  2. Guarde el historial de los comandos del búfer ejecutados mediante M-xo M-:, ¿es esto posible? Si no es posible, ¿tal vez podría guardar algunos fragmentos para hacer esto?

¡Gracias por adelantado!

Galder Zamarreño
fuente

Respuestas:

6

La savehistbiblioteca es la opción general para valores variables persistentes en las sesiones.

Simplemente habilitar savehist-modeasegura que la mayoría de los historiales de minibúfer persistan, pero también puede indicarle que haga lo mismo para cualquier otra variable, agregándola a savehist-additional-variables:

(eval-after-load "savehist"
 '(add-to-list 'savehist-additional-variables 'foo))

(savehist-mode 1)

Ver también: M-x customize-group RET savehist RET

phils
fuente
2

Para el historial de archivos, si habilita ido-modey personaliza ido-use-virtual-buffersen t, incluso los buffers cerrados permanecerán en el historial de ido. Esto persiste en las desktop.elsesiones.

C-kdurante y ido-switch-bufferelimina el búfer seleccionado del historial, si necesita quitarlo de su camino.

Croad Langshan
fuente
1
¿Hay algo como esto disponible para timón?
vfclists
@vfclists, sí, hay un " Helm Source " incorporado para idobuffers virtuales y otro para recentfarchivos. (1) use en M-x helm-minilugar de M-x helm-buffer, que combina esa fuente Helm con la fuente para buffers abiertos y con una "fuente ficticia". (2) iirc, habilite la opción que dice "usar buffers recientes en lugar de buffers virtuales ido".
sam boosalis
(tldr M-x helm-mini)
sam boosalis
por ejemplo, (defcustom helm-mini-default-sources '(helm-source-buffers-list helm-source-recentf helm-source-buffer-not-found))fuente github.com/emacs-helm/helm/blob/v3.2/helm-buffers.el#L92
sam boosalis
Y para la hiedra, hay(setq ivy-use-virtual-buffers t)
Croad Langshan