Ví dụ, tôi đang chỉnh sửa tệp cấu hình và tôi muốn nhập vào một đường dẫn. Có một plugin cho emacs cho phép bạn hoàn thành một đường dẫn tệp trong bộ đệm đó không? Tôi đã tìm kiếm cái này và có một plugin hoàn thành bazillion ngoài kia.
Ví dụ, tôi đang chỉnh sửa tệp cấu hình và tôi muốn nhập vào một đường dẫn. Có một plugin cho emacs cho phép bạn hoàn thành một đường dẫn tệp trong bộ đệm đó không? Tôi đã tìm kiếm cái này và có một plugin hoàn thành bazillion ngoài kia.
Câu trả lời:
Hãy thử Hippie Expand , một trong những khả năng của nó có ' try-complete-file-name
. Bạn có thể thay đổi thứ tự và danh sách các chức năng mở rộng mà hippie mở rộng sẽ sử dụng để ưu tiên mở rộng tên tệp.
Hoặc, bạn thậm chí có thể viết một trình bao bọc tùy chỉnh chỉ thực hiện việc mở rộng tên tệp. Cái gì đó như:
(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
"Use hippie-expand to expand the filename"
(interactive)
(let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
(call-interactively 'hippie-expand)))
Tôi thường gõ Ctrl - X Ctrl- Fgiống như tôi sẽ mở một tệp, nhưng thay vì nhấn RETtôi nhấn Ctrl- A Ctrl- K Ctrl- Gđể sao chép đường dẫn và sau đó dán nó vào bộ đệm tôi đang chỉnh sửa Ctrl- Y.
Tôi không cần điều này thường xuyên đủ, nhưng nếu tôi thực sự muốn một giải pháp tốt hơn, tôi chắc chắn sẽ sử dụng giải pháp của Trey Jackson hippie-expand
. Tôi đã nghĩ về cách hippie-expand
có thể là một cách tốt hơn để làm điều này khi lần đầu tiên trả lời, nhưng tôi không biết và quá lười để tìm kiếm nó, vì vậy tôi chỉ viết những gì tôi làm.
Vani, ngoài hộp
M-x comint-dynamic-complete-filename
hoạt động bên ngoài chế độ comint. Tất nhiên, bạn có thể sử dụng bản mở rộng động của xe buýt nhỏ để sử dụng ít tổ hợp phím hơn để truy cập nó (ví dụ: Mx comi nt- dy namic- c omplete -f ilename). Hoặc, nếu bạn sẽ sử dụng nó thường xuyên, bạn có thể liên kết nó với một chuỗi chính bạn chọn bằng cách sử dụng global-set-key
.
Cũng có thể thực hiện việc này bằng cách tự động hoàn thành công ty nếu company-files
có trong danh sách company-backends
(mặc định trong cài đặt của tôi) hoặc rõ ràng bằng cách gọi company-files
.
Gần đây tôi đã phát hiện ra các tác phẩm của Tomohiro Matsuyama (@ m2ym) và tôi đã rất ấn tượng bởi chất lượng của các gói emacs của nó.
Tôi đã vật lộn với hầu hết các tiện ích mở rộng hoàn thành tự động và phát hiện ra rằng tất cả chúng đều có những thiếu sót lớn.
Hãy xem tính năng tự động hoàn thành của Tomo ( http://auto-complete.org/doc/manual.html ) thật dễ dàng để cài đặt (Tôi trên Linux) và đáp ứng nhiều nhu cầu tự động hoàn thành theo cách hiện đại .
Tất nhiên, yêu cầu hoàn thành tên tệp trong bộ đệm của bạn được bảo vệ hoàn hảo.
Cuối cùng, nếu bạn cũng làm Ruby, hãy đảm bảo không bỏ lỡ phần mở rộng RSense của anh ấy ; một lần nữa, tốt nhất của loại hình này.
find-file
ví dụ khi sử dụng ). Bạn có muốn một hành vi tương tự trong một bộ đệm nội dung?