Counsel Mx mostra sempre “^”


13

Ho installato Counsel / Ivy / Swiper e finora tutto funziona bene. Ma quando chiamo counsel-Mx tramite key bind Mx viene sempre aggiunto un carattere "^". Non ho idea del perché stia accadendo e di come sbarazzarsene (non interferisce con il comando counsel-Mx, è solo fastidioso). Sto usando emacs su OS X e ho rimappato il tasto Meta sul tasto Comando (setq mac-command-modifier 'meta), ma anche con Alt come tasto Meta standard "^" viene automaticamente inserito quando si chiama counsel-Mx.

Counsel-Mx

Uso le impostazioni di base fornite qui

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

Risposte:


15

ivy-initial-inputs-alist è una variabile che controlla i contenuti predefiniti del minibuffer quando si utilizza l'edera (che viene utilizzata dai consigli).

La "^"stringa predefinita significa che se si digita qualcosa immediatamente dopo questa stringa vengono visualizzati solo i candidati al completamento che iniziano con ciò che è stato digitato.

Puoi rimuovere questa stringa predefinita al counsel-M-xcomando con:

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

O per rimuovere questo input iniziale in tutti i comandi:

(setq ivy-initial-inputs-alist nil)

Giusto per essere chiari: se lo rimuovi, cambierà il comportamento di ricerca in modo che corrisponda alle sottostringhe. Penso che il valore predefinito della corrispondenza solo all'inizio sia utile e puoi semplicemente colpire lo spazio se vuoi cercare un ^ substring.
Glucas,

1
@glucas Penso che il tuo testo sia un po 'esagerato: il comportamento di ricerca non cambia (il comportamento di ricerca è controllato da ivy--regex-function), è l'input iniziale predefinito che cambia. Tutti sono liberi delle loro preferenze lì. Per esempio, mantengo solo l'iniziale ^per man/ woman.
Basilio,

1
@Basil Fair point, grazie. Volevo principalmente chiarire che questo non è solo un cambiamento estetico, come implica l'OP nella domanda.
Glucas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.