I'd like to save, for instance, my find-file and Meta-X history in Emacs' mini-buffer so I can recall commands later in a different session.
3 Answers
As Trey Jackson said, you want to put this:
(savehist-mode)
in your Emacs start up file, then restart Emacs. (Calling it interactively will stomp on your current mini-buffer history, so you may not want to do that.)
It's also worth pointing out that you can persist other variables across sessions by adding them to savehist-additional-variables
, like so:
(setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring))
You may also want to customize savehist-file
, to pick the location where Emacs saves all this stuff:
(setq savehist-file "~/.emacs.d/tmp/savehist")
-
Thanks for the info on clobbering and the ability to add other history buffers. This looks like what I'm looking for. Commented Aug 23, 2009 at 18:11
-
2"... then restart Emacs. (Calling it interactively will stomp on your current mini-buffer history, so you may not want to do that.)" Won't restarting Emacs, when you don't have
savehist-mode
enabled, also clobber your history? Seems the interactive call is less destructive to Emacs state, unless I'm missing something. Commented Sep 5, 2018 at 15:02 -
(savehist-mode 1)
givesSymbol’s value as variable is void: pell-buffer
error how can I fix it?– alperCommented Jan 14, 2021 at 12:07 -
@alper that's gotta be something related to
pell-buffer
in your local config; without seeing it, i don't think folks will be able to offer much advice...– genehackCommented Jan 15, 2021 at 14:53
If you have an Emacs version older than 22, you can use this instead: