Counsel Mx zawsze pokazuje „^”

14

Zainstalowałem Counsel / Ivy / Swiper i jak dotąd wszystko działa dobrze. Ale kiedy dzwonię do doradcy-Mx przez powiązanie klawisza Mx, znak „^” jest zawsze dodawany. Nie mam pojęcia, dlaczego tak się dzieje i jak się go pozbyć (nie koliduje z poleceniem counsel-Mx, jest po prostu denerwujące). Używam emacsa w systemie OS X i przyporządkowałem klawisz Meta do klawisza Command (setq mac-command-modifier 'meta), ale nawet przy Alt jako standardowym klawisz Meta „^” jest wstawiany automatycznie podczas wywoływania counsel-Mx.

Counsel-Mx

Korzystam z podanych tutaj podstawowych ustawień

(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
dmw
źródło

Odpowiedzi:

16

ivy-initial-inputs-alist jest zmienną, która kontroluje domyślną zawartość minibufora podczas korzystania z bluszczu (który jest używany przez doradcę).

Domyślny "^"ciąg znaków oznacza, że ​​jeśli wpiszesz coś natychmiast po tym ciągu, wyświetlane są tylko te kandydaci, którzy zaczynają się od wpisanego tekstu.

Możesz usunąć ten domyślny ciąg za counsel-M-xpomocą polecenia:

(setcdr (assoc 'counsel-M-x ivy-initial-inputs-alist) "")

Lub usunąć to początkowe wejście we wszystkich poleceniach:

(setq ivy-initial-inputs-alist nil)
mkcms
źródło
Żeby było jasne: jeśli to usuniesz, zmieni to zachowanie wyszukiwania w celu dopasowania podciągów. Myślę, że domyślne dopasowanie tylko początku jest przydatne i możesz po prostu nacisnąć spację, jeśli chcesz wyszukać ^ substring.
glucas
1
@glucas Myślę, że twoje sformułowanie jest nieco przesadzone - zachowanie podczas wyszukiwania się nie zmienia (zachowanie podczas wyszukiwania jest kontrolowane przez ivy--regex-function), zmienia się domyślna wartość wejściowa. Każdy ma swobodę w zakresie swoich preferencji. Ja, na przykład, zachowuję tylko inicjał ^dla man/ woman.
Basil
1
@Basil Fair point, dzięki. Chciałem przede wszystkim wyjaśnić, że nie jest to tylko zmiana kosmetyczna, jak sugeruje PO w tym pytaniu.
glucas