ありそうなのに見つからなかったので書いてみました。
ミニバッファで何らかの消したい履歴が出ている時にShift-Deleteで消せます。
find-fileの履歴だけでなくdescribe-*の履歴とか、その他ミニバッファの履歴全てに使えるはずです。多分。
(define-key minibuffer-local-map (kbd "S-<delete>") #'(lambda () (interactive) (set minibuffer-history-variable (delete (buffer-substring-no-properties (minibuffer-prompt-end) (point-max)) (symbol-value minibuffer-history-variable))) (goto-history-element minibuffer-history-position) ))
ついでにsession.elを使っていて、重複が鬱陶しいのでsession保存前に重複削除しています。
(defadvice session-save-session (before session-save-session-delete-dups activate) (set-buffer (find-file-noselect session-save-file)) (goto-char (point-min)) (while (re-search-forward "^(setq-default \\([^ ]+\\)" nil t) (delete-dups (symbol-value (intern-soft (match-string 1))))) (kill-buffer))