O advogado Mx sempre mostra "^"

13

Eu instalei o Counsel / Ivy / Swiper e até agora tudo funciona bem. Mas quando eu chamo aconselha-Mx através do comando key Mx, um caracter "^" é sempre adicionado. Eu não tenho idéia do por que isso está acontecendo e como se livrar dele (isso não interfere no comando do advogado-Mx, é apenas irritante). Estou usando o emacs no OS X e remapeado a tecla Meta para a tecla Command (setq mac-command-modifier 'meta), mas mesmo com Alt como meta a tecla Meta padrão "^" é inserida automaticamente ao chamar o advogado-Mx.

Counsel-Mx

Eu uso as configurações básicas fornecidas aqui

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

Respostas:

15

ivy-initial-inputs-alist é uma variável que controla o conteúdo padrão do minibuffer ao usar o ivy (que é usado pelo conselho).

A "^"sequência padrão significa que, se você digitar algo imediatamente após essa sequência, apenas os candidatos à conclusão que começam com o que você digitou serão exibidos.

Você pode remover esta sequência padrão no counsel-M-xcomando com:

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

Ou para remover esta entrada inicial em todos os comandos:

(setq ivy-initial-inputs-alist nil)
mkcms
fonte
Só para esclarecer: se você remover isso, ele mudará o comportamento da pesquisa para corresponder às substrings. Eu acho que o padrão de combinar apenas o começo é útil, e você pode apenas pressionar o espaço se quiser procurar por ^ substring.
glucas
1
@glucas Acho que sua redação é um pouco exagerada - o comportamento da pesquisa não muda (o comportamento da pesquisa é controlado por ivy--regex-function), é a entrada inicial padrão que muda. Todo mundo é livre para suas preferências lá. Eu, por exemplo, apenas mantenho a inicial ^para man/ woman.
Basil
1
@Basil Fair point, obrigado. Eu queria principalmente deixar claro que essa não é apenas uma mudança cosmética, como o OP implica na pergunta.
glucas