Адвокат Mx всегда показывает «^»

13

Я установил Counsel / Ivy / Swiper и пока все работает нормально. Но когда я звоню адвокату-Mx через связывание клавиш Mx, всегда добавляется символ «^». Я понятия не имею, почему это происходит и как от него избавиться (это не мешает команде adv-Mx, это просто раздражает). Я использую emacs на OS X и переназначил мета-ключ на клавишу Command (setq mac-command-modifier 'meta), но даже с Alt в качестве стандартного мета-ключа «^» автоматически вставляется при вызове адвоката-Mx.

Адвокат-Mx

Я использую основные настройки, представленные здесь

(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
DMW
источник

Ответы:

15

ivy-initial-inputs-alist переменная, которая управляет содержимым минибуфера по умолчанию при использовании ivy (который используется адвокат).

"^"Строка по умолчанию означает, что если вы набираете что-то сразу после этой строки, отображаются только кандидаты на завершение, начинающиеся с того, что вы ввели.

Вы можете удалить эту строку по умолчанию в counsel-M-xкоманде с:

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

Или удалить этот начальный ввод во всех командах:

(setq ivy-initial-inputs-alist nil)
mkcms
источник
Просто чтобы быть ясно: если вы удалите это, оно изменит поведение поиска, чтобы соответствовать подстрокам. Я думаю, что по умолчанию сопоставление только начала полезно, и вы можете просто нажать пробел, если вы хотите найти ^ substring.
glucas
1
@glucas Я думаю, что ваша формулировка немного преувеличена - поведение поиска не меняется (поведение поиска контролируется ivy--regex-function), меняется исходный ввод по умолчанию. Каждый волен там со своими предпочтениями. Я, например, сохраняю только начальный ^для man/ woman.
Василий
1
@Basil Честная точка зрения, спасибо. В основном я хотел пояснить, что это не просто косметическое изменение, как подразумевает ОП в этом вопросе.
glucas