2013-04-08 18 views

risposta

45

Questo può essere fatto facilmente utilizzando dired:

  1. Inserire una vista dired della directory

  2. Passa alla scrivibile modalità dired (wdired-change-to-wdired-mode): CxCq

  3. Modifica l'elenco dei nomi dei file come se fosse un normale buffer (ad esempio utilizzando un keybo ard macro o una selezione rettangolare o query-replace). Ecco una soluzione basata regexp:

    CM-%\(VAR.\)_\(..\)RET\2_\1RET

  4. editing Finish (wdired-finish-edit): CxCs o CcCc

Hai finito!

+1

Puoi anche farlo senza WDired, basta contrassegnare i file che ti servono con 'm' (o' * s' per contrassegnare tutti i file nel buffer) ed eseguire '% R' per rinominare con regexp. – jafrog

+0

Il metodo wdired è un po 'più facile da usare con b/c se hai qualcosa come "run-foo.sh'," foo.conf "e" init-foo-script "e volevi sostituire foo con la barra, è più semplice fare una sostituzione nel buffer piuttosto che elaborare una regex che corrisponda al valore corretto e sostituirla correttamente. Detto questo, nello scenario descritto,% R sembra funzionare correttamente. – elarson

+0

Non c'è nulla che Emacs non possa fare? –

2

È inoltre possibile utilizzare i cursori multipli di Magnar Sveen da qui, github link.

Passare a directory scrivibile, selezionare i file che si desidera rinominare, M-x mc/edit-lines. Questo dovrebbe creare più cursore ciascuno con la propria cronologia di uccisione.

Problemi correlati