[求助]ivy搜索如何设置从头开始匹配?

如图所示,我想让它先匹配到lisp,而不是auto-save-list,应该怎么设置呢?

跟正则类似,用 ^list ,可以看下文档。

counsel-find-file

看下这个变量

(defvar ivy-initial-inputs-alist
  '((org-refile . "^")
    (org-agenda-refile . "^")
    (org-capture-refile . "^")
    (counsel-M-x . "^")
    (counsel-describe-function . "^")
    (counsel-describe-variable . "^")
    (counsel-org-capture . "^")
    (Man-completion-table . "^")
    (woman . "^"))
  "Command to initial input table.")

我是觉得加^反而不好,每次都要删。所以我直接(setq ivy-initial-inputs-alist nil)的。

是的,我觉得加^也不好,最好是能够提升前面匹配项的优先级,同时又不影响从中间开始模糊匹配。 可惜我正则和elisp都不熟,不知道怎么设 :joy:

我找到了,ivy manual里有提到,下面这样设就可以了,在文件名补全的时候用fuzzy

(setq ivy-re-builders-alist
  '((read-file-name-internal . ivy--regex-fuzzy)
    (t . ivy--regex-plus)))
2 个赞