Luật sư Mx luôn thể hiện


13

Tôi đã cài đặt Cdvisor / Ivy / Swiper và cho đến nay mọi thứ đều hoạt động tốt. Nhưng khi tôi gọi cho lời khuyên-Mx thông qua khóa ràng buộc Mx, một "^" char luôn được thêm vào. Tôi không biết tại sao điều này lại xảy ra và làm thế nào để loại bỏ nó (nó không can thiệp vào lệnh tư vấn-Mx, nó chỉ gây phiền nhiễu). Tôi đang sử dụng emacs trên OS X và ánh xạ lại phím Meta thành phím Command (setq mac-command-modifier 'meta), nhưng ngay cả với Alt là khóa Meta tiêu chuẩn "^" vẫn tự động được chèn khi gọi cho lời khuyên-Mx.

Luật sư-Mx

Tôi sử dụng các cài đặt cơ bản được cung cấp ở đây

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

Câu trả lời:


15

ivy-initial-inputs-alist là một biến kiểm soát nội dung của bộ thu nhỏ mặc định khi sử dụng ivy (được tư vấn sử dụng).

Chuỗi mặc định "^"có nghĩa là nếu bạn nhập nội dung nào đó ngay sau chuỗi này, chỉ các ứng viên hoàn thành bắt đầu bằng nội dung bạn đã nhập được hiển thị.

Bạn có thể xóa chuỗi mặc định này trong counsel-M-xlệnh bằng:

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

Hoặc để loại bỏ đầu vào ban đầu này trong tất cả các lệnh:

(setq ivy-initial-inputs-alist nil)

Nói rõ hơn: nếu bạn loại bỏ điều này, nó sẽ thay đổi hành vi tìm kiếm để khớp với các chuỗi con. Tôi nghĩ rằng mặc định chỉ khớp với phần đầu là hữu ích và bạn chỉ có thể nhấn dấu cách nếu bạn muốn tìm kiếm một ^ substring.
glucas

1
@glucas Tôi nghĩ rằng từ ngữ của bạn hơi phóng đại - hành vi tìm kiếm không thay đổi (hành vi tìm kiếm được kiểm soát bởi ivy--regex-function), đó là đầu vào ban đầu mặc định thay đổi. Mọi người được tự do theo sở thích của họ ở đó. Tôi, ví dụ, chỉ giữ chữ cái đầu ^cho man/ woman.
Basil

1
@Basil Điểm công bằng, cảm ơn. Tôi chủ yếu muốn làm rõ rằng đây không chỉ là một sự thay đổi thẩm mỹ như OP ngụ ý trong câu hỏi.
glucas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.