helm-recentfがファジーではないのはなぜですか?


8

何らかの理由で、ファジーマッチングは機能しhelm-recentfません(他の場所でも機能します)。

.emacsファイルに次の設定があります。

(setq helm-recentf-fuzzy-match t
      helm-buffers-fuzzy-matching t
      helm-completion-in-region-fuzzy-match t
      helm-mode-fuzzy-match t)

私はこれらの設定の機能といくつかの重複があると思いますが、それらのどれかが台無しにすべき理由はわかりませんhelm-recentf-fuzzy-match。また、他の設定のみhelm-recentf-fuzzy-matchを設定しtて削除してみましたが、まだうまくいきません。また、helm-recentf-fuzzy-matchこれの値を確認すると、次のようになります。

helm-recentf-fuzzy-match is a variable defined in `helm-files.el'. Its value is t Original value was nil

バグが発生していますか、それとも構成/構成が間違っている必要がありますか?ありがとうございました!

更新と詳細:

私が使用していますEmacsの24.5およびヘルム20150704.1247を

私は自分のinitなしでemacsをロードしてみたが、recentfのファジーマッチングでヘルムモードをオンにしただけで、まだ機能しない。その上、私が使用する場合helm-miniBuffersセクションではあいまい一致がありますが、セクションではありませんRecentf...


1
それは私のために働いています。どのヘルムを使用していますか?Emacsのバージョンは?initを二等分できますか?
PythonNut、2015

回答:


6

私はあなたと同じ問題を抱えていました:変数定義のソースを見ると、それが彼がそれを宣言するために使用しているフォームのように見え、Emacs 24ではもう有効ではありません:

(defcustom helm-recentf-fuzzy-match nil
"Enable fuzzy matching in `helm-source-recentf' when non--nil."
  :group 'helm-files
  :type 'boolean
  :set (lambda (var val)
     (set var val)
     (setq helm-source-recentf
           (helm-make-source "Recentf" 'helm-recentf-source
             :fuzzy-match helm-recentf-fuzzy-match))))

具体的には、:setキーワードが有効ではないようなので、ソースを再定義するラムダが呼び出されることはありません。

これを回避するために、init.elファイルでソースを手動で再宣言したところ、問題なく動作しました。

;; helm-recentf-fuzzy-match var is broken: redeclare it manually
(setq helm-source-recentf 
  (helm-make-source "Recentf" 'helm-recentf-source
    :fuzzy-match t))

ありがとう、これは、helm-recentfを機能させる唯一の方法です。少なくとも私にとっては。
Manuel Uberti、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.