在 Emacs 中更改 savehist-minibuffer-history-variables 的值
changing the value of savehist-minibuffer-history-variables in Emacs
它在 https://github.com/emacs-mirror/emacs/blob/master/lisp/savehist.el 的第 129-130 行说默认行为是确定 savehist-minibuffer-history-variables
的内容,而 emacs 是 运行。我确实在 savehist-file
中看到这似乎是 yes-or-no-p-history
、buffer-name-history
和其他一些变量。
但是,我想仅保存emacs中的特定历史记录,即filesets-data
的历史记录,通过
实现
(setq savehist-additional-variables '(filesets-data))
它在savehist.el的第59-60行说,这可以通过使用savehist-save-hook
来改变savehist-minibuffer-history-variables
的值来实现。
很遗憾,我不知道该怎么做。我试过了
(setq savehist-minibuffer-history-variables nil)
(add-hook 'savehist-save-hook 'savehist-minibuffer-history-variables)
在我的 .emacs.d
中,但这会产生一条错误消息:
Symbol’s function definition is void: savehist-minibuffer-history-variables
任何有关在退出 emacs 时将 savehist-minibuffer-history-variables
更改为空的帮助都表示赞赏。谢谢!
你放在钩子上的东西是一个函数,而不是一个变量(也不是一些其他的sexp)。
(defun foo ()
(setq savehist-minibuffer-history-variables nil))
(add-hook 'savehist-save-hook #'foo)
它在 https://github.com/emacs-mirror/emacs/blob/master/lisp/savehist.el 的第 129-130 行说默认行为是确定 savehist-minibuffer-history-variables
的内容,而 emacs 是 运行。我确实在 savehist-file
中看到这似乎是 yes-or-no-p-history
、buffer-name-history
和其他一些变量。
但是,我想仅保存emacs中的特定历史记录,即filesets-data
的历史记录,通过
(setq savehist-additional-variables '(filesets-data))
它在savehist.el的第59-60行说,这可以通过使用savehist-save-hook
来改变savehist-minibuffer-history-variables
的值来实现。
很遗憾,我不知道该怎么做。我试过了
(setq savehist-minibuffer-history-variables nil)
(add-hook 'savehist-save-hook 'savehist-minibuffer-history-variables)
在我的 .emacs.d
中,但这会产生一条错误消息:
Symbol’s function definition is void: savehist-minibuffer-history-variables
任何有关在退出 emacs 时将 savehist-minibuffer-history-variables
更改为空的帮助都表示赞赏。谢谢!
你放在钩子上的东西是一个函数,而不是一个变量(也不是一些其他的sexp)。
(defun foo ()
(setq savehist-minibuffer-history-variables nil))
(add-hook 'savehist-save-hook #'foo)