Counsel Mx zeigt immer "^"

12

Ich habe Counsel / Ivy / Swiper installiert und bisher funktioniert alles einwandfrei. Aber wenn ich Counsel-Mx über die Schlüsselbindung Mx anrufe, wird immer ein "^" Zeichen hinzugefügt. Ich habe keine Ahnung, warum dies geschieht und wie man es loswird (es stört den Counsel-Mx-Befehl nicht, es ist nur ärgerlich). Ich verwende Emacs unter OS X und habe den Meta-Schlüssel dem Befehlsschlüssel neu zugeordnet (setq mac-command-modifier 'meta), aber auch mit Alt als Standard-Meta-Schlüssel wird beim Aufruf von Counsel-Mx automatisch "^" eingefügt.

Counsel-Mx

Ich verwende die hier bereitgestellten Grundeinstellungen

(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
dmw
quelle

Antworten:

15

ivy-initial-inputs-alist ist eine Variable, die den Standardinhalt des Minibuffers bei Verwendung von Ivy steuert (der von einem Anwalt verwendet wird).

Die Standardzeichenfolge "^"bedeutet, dass, wenn Sie etwas unmittelbar nach dieser Zeichenfolge eingeben, nur Abschlusskandidaten angezeigt werden, die mit Ihrer Eingabe beginnen.

Sie können diese Standardzeichenfolge im counsel-M-xBefehl entfernen mit:

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

Oder um diese anfängliche Eingabe in allen Befehlen zu entfernen:

(setq ivy-initial-inputs-alist nil)
mkcms
quelle
Um ganz klar zu sein: Wenn Sie dies entfernen, wird das Suchverhalten so geändert, dass es mit Teilzeichenfolgen übereinstimmt. Ich denke, die Standardeinstellung, nur den Anfang abzugleichen, ist nützlich, und Sie können einfach die Leertaste drücken, wenn Sie nach einem suchen möchten ^ substring.
Glucas
1
@glucas Ich denke, Ihr Wortlaut ist etwas übertrieben - das Suchverhalten ändert sich nicht (das Suchverhalten wird von gesteuert ivy--regex-function), es ist die Standardeingabe, die sich ändert. Jeder ist dort frei nach seinen Vorlieben. Ich behalte zum Beispiel nur die Initiale ^für man/ woman.
Basil
1
@Basil Fair Punkt, danke. Ich wollte vor allem klarstellen, dass dies nicht nur eine kosmetische Änderung ist, wie das OP in der Frage impliziert.
Glucas