Counsel Mx selalu menunjukkan "^"

13

Saya menginstal Counsel / Ivy / Swiper dan sejauh ini semuanya berfungsi dengan baik. Tetapi ketika saya memanggil penasihat-Mx melalui kunci ikat Mx sebuah karakter "^" selalu ditambahkan. Saya tidak tahu mengapa ini terjadi dan bagaimana cara menghilangkannya (itu tidak mengganggu perintah counsel-Mx, itu hanya mengganggu). Saya menggunakan emacs pada OS X dan memetakan kembali kunci Meta ke kunci Command (setq mac-command-modifier 'meta), tetapi bahkan dengan Alt sebagai kunci Meta standar "^" secara otomatis dimasukkan saat memanggil counsel-Mx.

Counsel-Mx

Saya menggunakan pengaturan dasar yang disediakan di sini

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

Jawaban:

15

ivy-initial-inputs-alist adalah variabel yang mengontrol konten minibuffer default saat menggunakan ivy (yang digunakan oleh penasihat hukum).

"^"String default berarti bahwa jika Anda mengetik sesuatu segera setelah string ini, hanya kandidat yang menyelesaikan yang mulai dengan apa yang Anda ketikkan yang ditampilkan.

Anda dapat menghapus string default ini dalam counsel-M-xperintah dengan:

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

Atau untuk menghapus input awal ini di semua perintah:

(setq ivy-initial-inputs-alist nil)
mkcms
sumber
Untuk lebih jelasnya: jika Anda menghapus ini, itu akan mengubah perilaku pencarian untuk mencocokkan substring. Saya pikir pencocokan default hanya awal yang berguna, dan Anda bisa menekan spasi jika Anda ingin mencari ^ substring.
glukas
1
@ glucas Saya pikir kata-kata Anda sedikit berlebihan - perilaku pencarian tidak berubah (perilaku pencarian dikendalikan oleh ivy--regex-function), itu adalah input awal default yang berubah. Semua orang bebas untuk preferensi mereka di sana. Saya, misalnya, hanya menyimpan inisial ^untuk man/ woman.
Basil
1
@Basil Fair point, terima kasih. Saya kebanyakan ingin menjelaskan bahwa ini bukan hanya perubahan kosmetik seperti yang disiratkan OP dalam pertanyaan.
glukas