minibuffer で保存する履歴数

どうもりんこ。
NTEmacs に移行しようか迷っているんです!
ATOK が問題なく使えるなら,行ってみるんですが・・・。


minibuffer での履歴の検索って便利ですよね。

minibuf-isearch.el 使わせてもらってます。便利です。
ありがとうございます。
けど。
遠いディレクトリにあるファイルを開くとき,C-xC-f して,パチパチパスを打つのは
大変なので,C-r なり,M-r なりして履歴から開こうとするわけですが,
見つからねぇorz。
なーんていうことを繰り返すこと数多。
ソースコードと M-x apropos を繰り返して,とりあえずな解にたどり着きました。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Maximum length for histroy lists
;; t にすれば無限。
(setq history-length 1000)
 	
;; history から重複したのを消す
;; ref: http://www.bookshelf.jp/soft/meadow_27.html#SEC348
(defun minibuffer-delete-duplicate ()
  (let (list)
    (dolist (elt (symbol-value minibuffer-history-variable))
      (unless (member elt list)
        (push elt list)))
    (set minibuffer-history-variable (nreverse list))))

(add-hook 'minibuffer-setup-hook 'minibuffer-delete-duplicate)

とりあえず履歴の保存数を1000にしてみました。
あと,後半について。1000個も履歴があると,おそらく重複が生まれるので,
それはそれで,よく開くとか意味があって,
それを使ってなんか出来そうな気もしますが,
ま,重複を削除しとこか,というものです。

まとめ

そもそも history-length を設定するだけで,元々の問題を解消できるかどうかは,
これからわかることです。つまり見当違いのことをしているかもしれないと言うことです。
何か知っている人いたら,コメントプリーズ。


関係ないが,minibuffer 内で substring match で検索していたとき,エラーがでてたなぁ。
なんだったんだろうか,あれは。無視しちゃった。

*completion* buffer が邪魔なお年頃。

どうもりんこです。

結論

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; lcomp.el
;; URL: http://www.geocities.co.jp/SiliconValley-Oakland/7673/
;; Delete *completion* buffer when necessary.
(require 'lcomp)
(lcomp-install)

*completion* バッファが邪魔じゃ!

補完してくれるのは非常にありがたい。
というか,それなしではにっちもさっちもいかん。
だが,用済みになってもそこに居続けるというふてぶてしさ。
今までは,補完してくれたからという理由で,こちらが下手に出て,
そっとしておきましたが,これからはどいてもらうことにします。自動で。
くくくっ。


試したんだが,C-xC-f でのファイル名の補完では消えてくれるね。
どんなときだろ,残ったまんまになるのは。
そのときまでのお楽しみだね。
作者様に感謝!