WRT Icicles -
Đối với hầu hết các phần, Icicles khoảng minibuffer hoàn thành. Có một vài trường hợp nó cung cấp một cái gì đó cho trong bộ đệm (ví dụ như mã) hoàn thành, nhưng nó chủ yếu là về hoàn thành minibuffer.
Khi hầu hết mọi người nghĩ về việc hoàn thành minibuffer, họ nghĩ về hoàn thành tên tệp, hoàn thành tên bộ đệm và hoàn thành tên lệnh. Nhưng có nhiều hơn lô nhiều hơn nữa.
Là một lập trình viên Emacs-Lisp, bạn có thể sử dụng hoàn thành bất cứ nơi nào bạn muốn cung cấp cho người dùng lựa chọn tương tác. Đó là khá chung chung!
Hoàn thành thực sự là khoảng khớp mẫu để xác định tập hợp, sau đó bạn có thể thao tác.
Hầu hết mọi người nghĩ rằng mục đích duy nhất của việc hoàn thành minibuffer là chọn một tên duy nhất (tệp, bộ đệm, lệnh, biến, ...). Nhưng sức mạnh hoàn thành thực sự là lọc và có thể sắp xếp tập hợp đầy đủ tên tệp, tên đệm, v.v. theo các cách khác nhau và sau đó cho phép người dùng làm điều gì đó hoặc với kết quả đặt (không nhất thiết là một đối tượng) .
Đó là những gì Icicles là về: cho phép bạn động (từng bước) xác định những bộ sử dụng mẫu-phù hợp với, và sau đó hành động dựa trên các thành viên được lựa chọn hoặc tất cả các thành viên của các bộ.
Đây không phải là mục đích của Ido hoặc các gói hoàn thành khác, ngoại trừ có thể là Helm (Bất cứ điều gì).
Không giống như Helm (Anything), mà đặc quyền phản đối tên so với các loại đối tượng và hành động như điểm khởi đầu của nó, trong Icicles bạn thường gọi một lệnh để làm điều gì đó dụng một hoặc nhiều đối tượng của một trao loại (ví dụ bộ đệm) và rồi bạn thu hẹp bộ đối tượng đó, thường là theo tên phù hợp. Nó thường là trường hợp trong Icicles mà bạn có thể hành động trên các đối tượng đó theo nhiều cách nhưng có liên quan trong cùng một lệnh.
Trong Helm (Bất cứ điều gì), nói chung đầu vào của bạn là xuất hiện đầu tiên của tên đối tượng chống lại toàn bộ vũ trụ của các đối tượng của tất cả các loại, và sau đó bạn thu hẹp xuống để chọn một số hoạt động (s) để thực hiện. Cuối cùng, hãy nhớ rằng mỗi phương pháp hoàn thành khác nhau đều cung cấp cả thứ gì đó (ví dụ: lệnh) cho người dùng cuối và thứ gì đó (ví dụ: tính năng hoàn thành) cho người lập trình.
Nếu bạn đang thực hiện hoàn thành mã thì bạn thường chỉ muốn hoàn tất tên tại điểm. Điều chính thú vị về hoàn thành mã là xác định những ứng cử viên thích hợp là gì. Đối với điều đó, ngữ cảnh văn bản (ví dụ: mã) thường là quan trọng nhất. Để cung cấp các lựa chọn thông minh, tính năng hoàn thành cần phân tích ngữ cảnh (mã), bao gồm bất kỳ ngữ cảnh bao hàm nào (ví dụ: mã dự án).
Hoàn thành thao tác rút gọn, mặt khác có thể được sử dụng cho bất kỳ loại lựa chọn và hành động nào, bao gồm nhiều lựa chọn với nhiều hành động. Ở đây, tất cả các phần thú vị: những gì các ứng cử viên để cung cấp, những gì bạn có thể làm với họ, vv
Dunno cho dù đó giúp, nhưng đó là của tôi đi anyway.
bạn có thể có nghĩa là http://cx4a.org/software/auto-complete/index.html, lạ không ai đề cập đến nó. Đó là trải nghiệm tốt nhất trong kinh nghiệm của tôi. – VitoshKa
Có, tôi có nghĩa là gói này - Tôi luôn luôn quên có chứa dấu '-' và không có ;-) –