基本的に、これらの各関数が受け入れる引数に関するドキュメントread-from-minibuffer
を読みたいと思います。もちろん履歴をサポートする機能は他にもありますが、これらの 2 つは標準/基本オプションです。completing-read
HIST
永続性はsavehist
ライブラリによって提供され、ファイルに書き込みますsavehist-file
(デフォルトでは ですが、そのファイルが存在する場合は代わりに~/.emacs.d/history
古いファイルが使用されます。この場合、ファイルの名前を最新の優先パスに変更することをお勧めします)。~/.emacs-history
次に例を示します。
(defvar my-ssh-history nil)
(eval-after-load "savehist"
'(add-to-list 'savehist-additional-variables 'my-ssh-history))
(defun my-ssh (args)
"Connect to a remote host by SSH."
(interactive
(list (read-from-minibuffer "ssh " nil nil nil 'my-ssh-history)))
(let* ((switches (split-string-and-unquote args))
(name (concat "ssh " args))
(termbuf (apply 'make-term name "ssh" nil switches)))
(set-buffer termbuf)
(term-mode)
(term-char-mode)
(switch-to-buffer termbuf)))
(savehist-mode 1)