Зараз я додав цю функцію до Dired + .
Ви можете використовувати C-y
(команду diredp-yank-files
), щоб вставити файли, абсолютні імена яких ви скопіювали в кільце вбивства, у поточний каталог. Тут dired-current-directory
повертається "поточна директорія" : вставлений підкаталог, де знаходиться курсор, або основний каталог Dired, якщо курсор відсутній у списку субдір.
За допомогою аргументу з префіксом C-y
замість цього буде запропоновано вказати цільовий каталог для пасти. Таким чином, вам не потрібно знаходитись у в'язаному буфері, щоб вставити файли в каталог.
Ви повинні були скопіювати імена файлів у кільце для вбивства за допомогою M-0 w
або M-x diredp-copy-abs-filenames-as-kill
.
У команді Dired + ці команди також встановлюють змінну diredp-last-copied-filenames
на ту саму рядок імен файлів. C-y
використовує значення цієї змінної, не те, що зараз знаходиться на чолі кільця вбивства. Це означає, що вам не потрібно вставляти відразу після копіювання імен файлів. А це означає, що ви могли замість того, щоб копіювати імена файлів у кільце вбивства, просто помістити імена в цю змінну (наприклад, програмно).
Під час використання C-y
вам буде запропоновано підтвердити ( y
або n
). Ви також можете натиснути l
(для "списку") за запитом, щоб відобразити список файлів, які будуть вставлені.
Ви також можете скопіювати позначені файли з поточного буфера Dired та будь-яких позначених файлів у його позначених підкаталогах, визначених рекурсивно . Для цього ви використовуєте M-0 M-+ M-w
(нульовий префікс arg з командою diredp-copy-filename-as-kill-recursive
) або використовуєте M-x diredp-copy-abs-filenames-as-kill-recursive
.
Зауважте, що за допомогою Dired + ви також можете легко створити буфер Dired, який перераховує будь-яку кількість файлів і каталогів з будь-якого місця. Тобто перелічені записи не повинні бути в одному каталозі або навіть у відповідних каталогах. Див. C-x D F
(Команда diredp-dired-for-files
), що знаходиться в меню панелі " Дір", як пункт " Оброблені файли" . Ви можете помітити та потім вставити (скопіювати) такі довільні файли з буфера, що перебуває в подвійному режимі, до будь-якого каталогу.
Оновлення 2019-04-22:
Я також додав можливість переміщати (не просто вставляти) файли, чиї (абсолютні) імена ви скопіювали в кільце вбивства до поточного (або іншого) каталогу. Це пов'язано з C-w
Dired.
diredp-move-files-named-in-kill-ring
- це інтерактивна функція Lisp в dired+.el
.
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
Перемістіть файли, абсолютні імена яких ви скопіювали, у поточний каталог.
Із негативним аргументом префікса вам запропоновано отримати цільовий каталог.
З непозитивним аргументом префікса ви можете побачити деталі про файли, якщо ви натиснете, l
коли буде запропоновано підтвердити вставку. Інакше ви бачите лише імена файлів. Деталі, які ви бачите, визначаються опцією
diredp-list-file-attributes
.
Вам слід було скопіювати список імен файлів у вигляді рядка до кільця вбивства за допомогою M-0 w
або M-x diredp-copy-abs-filenames-as-kill
. Ці команди також встановлюють змінну diredp-last-copied-filenames
до тієї ж строки. diredp-move-files-named-in-kill-ring
використовує значення цієї змінної, не те, що зараз знаходиться на чолі кільця вбивства.
Коли телефонують з Ліспа:
- Необов’язкові
NO-CONFIRM-P
засоби аргументу не вимагають підтвердження для переміщення.
- Необов’язковий аргумент
DETAILS
передається до diredp-y-or-n-files-p
.
C-w
переміщувати / перейменувати файл замість копії ?. Дякую