Я хочу работать с архивами в Dired-режиме Emacs. И я думаю, что мои потребности не только мои.
Что я хочу? Две вещи в Dired:
z
заархивировать файл или директорию на курсоре (или все отмеченные файлы / директории, если метки существуют); имя нового архива должно быть изменяемым (но если выбран один файл / каталог, тогда имя должно совпадать);Z
разархивировать любой тип архивов (zip или gz или tar) в курсоре; по умолчанию содержимое должно быть помещено в новый каталог с тем же именем.
Как можно этого достичь?
Z
в Dired замените (не добавлен другой) файл на его*.gz
архив (не*.zip
).dired-atool
или кто-то тратит время, чтобы перейти по ссылке и изучить, что он делает, вопрос будет более ясным, но вы должны уточнить сам вопрос, ИМХО.Ответы:
Emacs 25.x
Релиз emacs 25.1 будет иметь встроенную поддержку для обработки различных видов архивов изнутри Dired. Ниже приведена соответствующая выдержка из
NEWS
файла (C-h C-n
).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
.источник