Dodałem tę funkcję teraz do Dired + .
Możesz użyć C-y
(polecenie diredp-yank-files
), aby wkleić pliki, których absolutne nazwy skopiowałeś do pierścienia zabijania, do bieżącego katalogu. dired-current-directory
Zwraca „bieżący katalog” : wstawiony podkatalog, w którym znajduje się kursor, lub główny katalog Dired, jeśli kursor nie znajduje się na liście podkatalogów.
C-y
Zamiast przedrostka arg wyświetla monit o podanie katalogu docelowego do wklejenia. Dlatego nie musisz znajdować się w buforze Dired, aby wkleić pliki do katalogu.
Powinieneś skopiować nazwy plików do pierścienia zabijania za pomocą M-0 w
lub M-x diredp-copy-abs-filenames-as-kill
.
W Dired + te polecenia również ustawiają zmienną diredp-last-copied-filenames
na ten sam ciąg nazw plików. C-y
używa wartości tej zmiennej, a nie tego, co aktualnie znajduje się na szczycie pierścienia zabijania. Oznacza to, że nie trzeba wklejać natychmiast po skopiowaniu nazw plików. Oznacza to, że zamiast kopiować nazwy plików do pierścienia zabijania, wystarczy umieścić nazwy w tej zmiennej (np. Programowo).
Podczas używania C-y
pojawi się monit o potwierdzenie ( y
lub n
). Możesz także nacisnąć l
(dla „listy”) po wyświetleniu monitu, aby wyświetlić listę plików, które zostaną wklejone.
Możesz także skopiować zaznaczone pliki z bieżącego bufora Dired i dowolne zaznaczone pliki w oznaczonych podkatalogach, zdefiniowanych rekurencyjnie . Do tego używasz M-0 M-+ M-w
(przedrostek zero z poleceniem diredp-copy-filename-as-kill-recursive
) lub używasz M-x diredp-copy-abs-filenames-as-kill-recursive
.
Zauważ, że dzięki Dired + możesz łatwo mieć bufor Dired, który wyświetla dowolną liczbę plików i katalogów z dowolnego miejsca. Oznacza to, że wymienione wpisy nie muszą znajdować się w tym samym katalogu ani nawet w powiązanych katalogach. Zobacz C-x D F
(polecenie diredp-dired-for-files
), które znajduje się w menu paska menu Dir jako element Dired Files Location Anywhere . Możesz oznaczyć, a następnie wkleić (skopiować) takie dowolne pliki z bufora Dired do dowolnego katalogu.
Aktualizacja 22.04.2019:
Dodałem także możliwość przenoszenia (nie tylko wklejania) plików, których (absolutne) nazwy skopiowałeś do pierścienia zabijania do bieżącego (lub innego) katalogu. Jest to związane z C-w
Dired.
diredp-move-files-named-in-kill-ring
to interaktywna funkcja Lisp w dired+.el
.
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
Przenieś pliki, których absolutne nazwy skopiowałeś, do bieżącego katalogu.
Z nieujemnym prefiksem arg pojawi się monit o podanie katalogu docelowego.
Z nie dodatnim argumentem przedrostek arg możesz zobaczyć szczegóły dotyczące plików, jeśli klikniesz, l
gdy pojawi się monit o potwierdzenie wklejenia. W przeciwnym razie zobaczysz tylko nazwy plików. Szczegóły, które widzisz, są zdefiniowane przez opcję
diredp-list-file-attributes
.
Powinieneś skopiować listę nazw plików jako ciąg znaków do pierścienia zabijania za pomocą M-0 w
lub M-x diredp-copy-abs-filenames-as-kill
. Te polecenia również ustawiają zmienną diredp-last-copied-filenames
na ten sam ciąg. diredp-move-files-named-in-kill-ring
używa wartości tej zmiennej, a nie tego, co aktualnie znajduje się na szczycie pierścienia zabijania.
Na wezwanie z Lisp:
- Opcjonalny argument
NO-CONFIRM-P
oznacza, że nie pytaj o potwierdzenie przeniesienia.
- Opcjonalny argument
DETAILS
jest przekazywany do diredp-y-or-n-files-p
.
C-w
przenieść / zmienić nazwę pliku zamiast kopiować? Dzięki