2009-07-10 21 views

Trả lời

19

Nếu bạn thêm phần này vào các .emac của mình, bạn sẽ có thể mở các tệp thông qua keybinding 'F'.

(eval-after-load "dired" 
    '(progn 
    (define-key dired-mode-map "F" 'my-dired-find-file) 
    (defun my-dired-find-file (&optional arg) 
     "Open each of the marked files, or the file under the point, or when prefix arg, the next N files " 
     (interactive "P") 
     (let* ((fn-list (dired-get-marked-files nil arg))) 
     (mapc 'find-file fn-list))))) 

Rõ ràng bạn chỉ có thể ghi đè tích hợp 'f' nếu muốn.

+2

Cảm ơn vì điều này! Điểm phong cách nhỏ nhưng bạn không cần sử dụng 'let *' trong trường hợp này ('let' là đủ). Và thực sự chúng ta có thể đơn giản hóa biểu mẫu cuối cùng đó thành '(mapc 'find-file (các tệp được đánh dấu là nil arg))'. – camdez

6

Bạn có thể thử dired+ cung cấp nhiều tiện ích mở rộng để đi kèm bao gồm khả năng chọn nhiều tệp và tìm/xem tất cả các tệp đó.

28

Trong Emacs 23.2 trở lên, mô-đun dired-x.el khả dụng và cho phép bạn truy cập vào lệnh thực hiện chính xác những gì bạn muốn. Sau khi bạn tải (chỉ cần (load "dired-x"), thông thường), bạn sẽ có thể gọi hàm dired-do-find-marked-files. Dưới đây là built-in tài liệu của nó:

(dired-do-find-marked-files &optional NOSELECT) 

Find all marked files displaying all of them simultaneously. 
With optional NOSELECT just find files but do not select them. 

The current window is split across all files marked, as evenly as possible. 
Remaining lines go to bottom-most window. The number of files that can be 
displayed this way is restricted by the height of the current window and 
`window-min-height'. 

To keep dired buffer displayed, type C-x 2 first. 
To display just marked files, type C-x 1 first. 

Vì vậy, sau dired-x được nạp, bạn chỉ có thể sử dụng Mxdired-do-find-marked-filesRET và bạn sẽ nhận được chính xác những gì câu hỏi của bạn yêu cầu: tất cả các file đánh dấu sẽ được truy cập như mặc dù bạn muốn chạy dired-find-file trên tất cả chúng.

+0

Chế độ dired của tôi không nhận ra lệnh này và tôi đang ở trên 23.4 – Malabarba

+1

@Bruce Connor: có thể bạn chưa cài đặt dired-x. Cố gắng thêm '(thêm-móc 'dired-load-hook (hàm (lambda() (tải" dired-x "))))' trong '.emacs'. – Adobe

+2

Phím 'F' là phím tắt cho các tập tin được đánh dấu dired-do-tìm-đánh dấu, ít nhất là trong Emacs 24.4. – thdox

Các vấn đề liên quan