как бороться с ZIP архивами в DIRED?

13

Я хочу работать с архивами в Dired-режиме Emacs. И я думаю, что мои потребности не только мои.

Что я хочу? Две вещи в Dired:

  1. zзаархивировать файл или директорию на курсоре (или все отмеченные файлы / директории, если метки существуют); имя нового архива должно быть изменяемым (но если выбран один файл / каталог, тогда имя должно совпадать);
  2. Zразархивировать любой тип архивов (zip или gz или tar) в курсоре; по умолчанию содержимое должно быть помещено в новый каталог с тем же именем.

Как можно этого достичь?

drobnbobn
источник
@Drew, Zв Dired замените (не добавлен другой) файл на его *.gzархив (не *.zip).
drobnbobn
Да. Видимо (сейчас) это не то, что вы хотите. Но вы не указали, что вы хотите. Как я уже сказал, вопрос не очень понятен. Я полагаю, что для кого-то, кто знаком dired-atoolили кто-то тратит время, чтобы перейти по ссылке и изучить, что он делает, вопрос будет более ясным, но вы должны уточнить сам вопрос, ИМХО.
Дрю
@ Дрю, я переписываю свой вопрос. Это ясно сейчас?
drobnbobn
1
Эта функция появится в следующем выпуске emacs (25.1) [Соответствующий коммит ]. Если вы хотите, вы можете попробовать третий предварительный тест (25.0.92) отсюда . Копирование @ abo-abo .
Каушал Моди
@ Дрю, извини, это моя вина! Конечно, я имею в виду «внутри Dired».
drobnbobn

Ответы:

13

Emacs 25.x

Релиз emacs 25.1 будет иметь встроенную поддержку для обработки различных видов архивов изнутри Dired. Ниже приведена соответствующая выдержка из NEWSфайла ( C-h C-n).

+++
*** The command `dired-do-compress' bound to `Z' now can compress
directories and decompress zip files.

+++
*** New command `dired-do-compress-to' bound to `c' can be used to
compress many marked files into a single named archive.  The
compression command is determined from the new
`dired-compress-files-alist' variable.

dired-do-compress | Z

Проверьте dired-compress-file-suffixesпеременную, чтобы получить список поддерживаемых форматов сжатых файлов. Правильная программа будет использоваться для распаковки файла (или файлов) при использовании Zпривязки ( dired-do-compress).

Хотя вышеперечисленное будет распаковывать широкий спектр форматов, оно всегда будет сжимать с использованием gzip.

dired-do-compress-to | c

Изучите dired-compress-files-alistпеременную, чтобы получить список поддерживаемых форматов файлов, которые можно сжать с помощью cпривязки ( dired-do-compress-to).

Начиная с emacs 25.1, он поддерживает сжатие с использованием tar+ ( gzip/ bzip2/ xz) или zip.

Каушал Моди
источник
Как получить Emacs 25.1? Или версия 25.0.92 является самой последней на данный момент?
drobnbobn
1
@drobnbobn Emacs 25.1 еще не выпущен, 25.0.92 - последняя бета-версия.
Жиль "ТАК - перестань быть злым"