Ich möchte weiterhin Fuzzy Matching mit Ivy verwenden, außer in swiper
.
Die Variable, die bestimmt, welcher "Regexp Builder", wie Ivy auf diese Funktionen verweist, für welche Erfassungsfunktion verwendet wird ivy-re-builders-alist
:
ivy-re-builders-alist is a variable defined in ‘ivy.el’.
Its value is ((t . ivy--regex-plus))
Documentation:
An alist of regex building functions for each collection function.
Each key is (in order of priority):
1. The actual collection function, e.g. ‘read-file-name-internal’.
2. The symbol passed by :caller into ‘ivy-read’.
3. ‘this-command’.
4. t.
Each value is a function that should take a string and return a
valid regex or a regex sequence (see below).
Possible choices: ‘ivy--regex’, ‘regexp-quote’,
‘ivy--regex-plus’, ‘ivy--regex-fuzzy’.
If a function returns a list, it should format like this:
’(("matching-regexp" . t) ("non-matching-regexp") ...).
The matches will be filtered in a sequence, you can mix the
regexps that should match and that should not match as you
like.
Um den Standard-Regexp-Builder von ivy--regex-plus
auf zu ändern ivy--regex-fuzzy
, aber den ersteren für beizubehalten swiper
, können Sie dies tun
(setq ivy-re-builders-alist
'((swiper . ivy--regex-plus)
(t . ivy--regex-fuzzy)))
oder programmatischer,
(with-eval-after-load 'ivy
(push (cons #'swiper (cdr (assq t ivy-re-builders-alist)))
ivy-re-builders-alist)
(push (cons t #'ivy--regex-fuzzy) ivy-re-builders-alist))
Dies wird ausführlicher in beschrieben (ivy) Completion Styles
.
Ich mag [Fuzzy Matching] nicht wirklich (zumindest nicht immer als Standard)
Mit Ivy können Sie den Regexp-Builder über die Hydra-Schnittstelle im laufenden Betrieb drehen. Der ziemlich versteckte letzte Satz von (ivy) ivy--regex-fuzzy
Anspielungen darauf und eine ausführlichere Beschreibung finden Sie unter (ivy) Hydra in the minibuffer
, aber es sieht so aus, als ob das Handbuch etwas veraltet ist, da es seit der letzten Veröffentlichung eine Weile her ist.
Das Ergebnis ist, dass Sie mit Ivy seit dem 04.07.2017 während der Fertigstellung über C-om( ivy-rotate-preferred-builders
) durch Regexp-Builder blättern können . Bearbeiten : Wie Asme Just
in einem Kommentar erwähnt , wurde die Standardschlüsselbindung C-oMam 06.02.2019 in geändert .