2009-07-10 12 views

risposta

19

Se aggiungete questo file ai vostri .emacs, sarete in grado di aprire i file tramite il tasto "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))))) 

Ovviamente si può semplicemente ignorare il built-in 'f' se si desidera.

+2

Grazie per questo! Piccolo punto stilistico ma non è necessario usare 'let *' in questo caso ('let' è sufficiente). E probabilmente potremmo semplicemente semplificare l'ultima forma a '(mapc 'find-file (file -file-get-marked-nil arg))'. – camdez

6

Si potrebbe provare dired+ che fornisce molte estensioni a dired tra cui la possibilità di selezionare più file e trovare/visualizzare tutti loro.

28

In Emacs 23.2 e versioni successive, il modulo dired-x.el è disponibile e consente di accedere a un comando che esegue esattamente ciò che si desidera. Dopo averlo caricato (solo (load "dired-x"), normalmente), sarà possibile richiamare la funzione dired-do-find-marked-files. Ecco la sua documentazione built-in:

(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. 

Così, dopo dired-x viene caricato, si può semplicemente utilizzare Mxdired-do-find-marked-filesRET e avrete esattamente ciò che la tua domanda chiede: tutti i file selezionati saranno visitati come anche se avresti eseguito dired-find-file su tutti loro.

+0

La mia modalità dired non riconosce questo comando, e io sono su 23.4 – Malabarba

+1

@Bruce Connor: probabilmente non hai dired-x installato. Prova ad aggiungere '(add-hook 'dired-load-hook (function (lambda() (carica" ​​dired-x "))))' in '.emacs'. – Adobe

+2

Il tasto 'F' è la scorciatoia da tastiera per i file marcati con il comando di ricerca, almeno in Emacs 24.4. – thdox

Problemi correlati