L'avocat Mx affiche toujours «^»

13

J'ai installé Counsel / Ivy / Swiper et jusqu'à présent, tout fonctionne bien. Mais lorsque j'appelle Counsel-Mx via la liaison de touches Mx, un caractère "^" est toujours ajouté. Je n'ai aucune idée pourquoi cela se produit et comment s'en débarrasser (cela n'interfère pas avec la commande Counsel-Mx, c'est juste ennuyeux). J'utilise emacs sur OS X et j'ai remappé la touche Meta à la touche Commande (setq mac-command-modifier 'meta), mais même avec Alt comme touche Meta standard "^" est automatiquement insérée lors de l'appel de Counsel-Mx.

Counsel-Mx

J'utilise les paramètres de base fournis ici

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

Réponses:

15

ivy-initial-inputs-alist est une variable qui contrôle le contenu du mini-tampon par défaut lors de l'utilisation de lierre (qui est utilisé par l'avocat).

La "^"chaîne par défaut signifie que si vous tapez quelque chose immédiatement après cette chaîne, seuls les candidats à l'achèvement qui commencent par ce que vous avez tapé sont affichés.

Vous pouvez supprimer cette chaîne par défaut dans la counsel-M-xcommande avec:

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

Ou pour supprimer cette entrée initiale dans toutes les commandes:

(setq ivy-initial-inputs-alist nil)
mkcms
la source
Juste pour être clair: si vous supprimez cela, cela changera le comportement de recherche pour correspondre aux sous-chaînes. Je pense que la valeur par défaut de ne faire correspondre que le début est utile, et vous pouvez simplement frapper l'espace si vous voulez rechercher un ^ substring.
glucas
1
@glucas Je pense que votre formulation est un peu exagérée - le comportement de recherche ne change pas (le comportement de recherche est contrôlé par ivy--regex-function), c'est l'entrée initiale par défaut qui change. Chacun y est libre de ses préférences. Par exemple, je ne garde que l'initiale ^pour man/ woman.
Basil
1
@Basil Fair point, merci. Je voulais surtout préciser que ce n'est pas seulement un changement cosmétique comme l'OP l'indique dans la question.
glucas