Câu hỏi StackOverflow này giống như câu hỏi của bạn. Và câu trả lời được chấp nhận bởi OP là một câu hỏi hay. Có những câu trả lời tốt khác ở đó, là tốt.
Tương tự, câu hỏi này để help-gnu-emacs@gnu.org về cơ bản cũng giống như vậy.
Câu trả lời của riêng tôi cho cả hai câu hỏi là sử dụng Icicles và xác định lệnh này:
(defun my-find-file ()
"Giống như` icicle-find-file ', nhưng tạm thời xem tệp hành động.
Các khóa hành động thay thế, như 'CS-down' truy cập tệp ứng cử viên trong
'chế độ xem' và tiêu diệt bộ đệm của ứng cử viên được xem cuối cùng như vậy. "
(tương tác)
(hãy ((icicle-Ứng cử viên-alt-hành động-fn
(lambda (tập tin)
(khi (và lần cuối tôi xem
(get-file-buffer my-last-view))
(kill-buffer (get-file-buffer my-last-view)))
(setq my-last-view (tệp viết tắt tên tệp))
(xem tập tin tập tin)
(select-frame-set-input-Focus
(khung cửa sổ (active-busuffer-window)))))))
(icicle-find-file-of-content)))
(defvar my-xem lần cuối
"Tập tin cuối cùng được xem bằng hành động thay thế của 'my-find-file'.")
Sau đó bạn có thể:
- Sử dụng
M-x my-find-file
(hoặc liên kết nó với một khóa - ví dụ, C-x C-f
).
- Tùy chọn nhập một phần của tên tệp, để giới hạn tên phù hợp.
- Tùy chọn sử dụng
down
hoặc up
để chu kỳ giữa các tên tệp.
- Sử dụng
C-S-down
để truy cập các tập tin tiếp theo theo thứ tự.
- Lặp lại số 4 để xem các tệp khác theo thứ tự.
- Lặp lại # 2 hoặc # 3 để xem các bộ tệp khác.
- Kết thúc với
RET
việc chọn một tệp để truy cập hoặc C-g
hủy bỏ.
Xem các bài viết được liên kết để biết thêm.
qlmanage
có thể được sử dụng để hiển thị nội dung tệp hoặc pdf hoặc hình ảnh. Một người tham gia diễn đàn khác đã viết một chức năng để xóa các quá trình tiếp theo khi xem nhiều mục (lần lượt từng mục) với ứng dụng nói trên. Đây là liên kết đến chuỗi liên quan: stackoverflow.com/questions/20023458/ hiện tôi đã cài đặt nó để tôi có thể sử dụng phím mũi tên lên hoặc xuống trong chế độ quản lý tệp vàqlmanage
hiển thị nội dung tệp tại điểm.