El abogado Mx siempre muestra "^"

13

Instalé Counsel / Ivy / Swiper y hasta ahora todo funciona bien. Pero cuando llamo al abogado-Mx mediante la combinación de teclas Mx siempre se agrega un carácter "^". No tengo idea de por qué está sucediendo esto y cómo deshacerse de él (no interfiere con el comando de consejería-Mx, es simplemente molesto). Estoy usando emacs en OS X y reasigné la tecla Meta a la tecla Comando (setq mac-command-modifier 'meta), pero incluso con Alt como tecla Meta estándar, "^" se inserta automáticamente al llamar al abogado-Mx.

Counsel-Mx

Yo uso la configuración básica provista aquí

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

Respuestas:

15

ivy-initial-inputs-alist es una variable que controla el contenido predeterminado del minibúfer cuando se usa ivy (que es usado por un abogado).

La "^"cadena predeterminada significa que si escribe algo inmediatamente después de esta cadena, solo se muestran los candidatos de finalización que comienzan con lo que escribió.

Puede eliminar esta cadena predeterminada en el counsel-M-xcomando con:

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

O para eliminar esta entrada inicial en todos los comandos:

(setq ivy-initial-inputs-alist nil)
mkcms
fuente
Para que quede claro: si elimina esto, cambiará el comportamiento de búsqueda para que coincida con las subcadenas. Creo que el valor predeterminado de hacer coincidir solo el principio es útil, y puede presionar el espacio si desea buscar un ^ substring.
glucas
1
@glucas Creo que su redacción es un poco exagerada: el comportamiento de búsqueda no cambia (el comportamiento de búsqueda está controlado por ivy--regex-function), es la entrada inicial predeterminada la que cambia. Todos son libres de sus preferencias allí. Yo, por ejemplo, solo mantengo la inicial ^para man/ woman.
Albahaca
1
@Basil Fair point, gracias. Principalmente quería dejar en claro que esto no es solo un cambio cosmético como el OP implica en la pregunta.
glucas