Quiero trabajar más fácilmente con archivos en modo directo de Emacs. Y creo que mis necesidades no son solo mías.
¿Lo que quiero? Dos cosas en Dired:
z
para comprimir un archivo o directorio en el cursor (o todos los archivos / directorios marcados si existen marcas); el nombre del nuevo archivo debe ser modificable (pero si se selecciona un archivo / directorio que el nombre debe ser el mismo);Z
para desarchivar cualquier tipo de archivos (zip o gz o tar) en el cursor; de forma predeterminada, el contenido debe colocarse en un nuevo directorio con el mismo nombre.
¿Cómo se puede lograr eso?
Z
en Dired reemplazar (no se agregó otro) archivo con su*.gz
archivo (no*.zip
).dired-atool
o que se toma el tiempo de seguir el enlace y estudiar lo que hace, la pregunta será más clara, pero debe aclarar la pregunta en sí, en mi humilde opinión.Respuestas:
emacs 25.x
La versión emacs 25.1 tendrá soporte incorporado para manejar diferentes tipos de archivos desde dentro. A continuación se muestra el extracto relevante del
NEWS
archivo (C-h C-n
).dired-do-compress
El |Z
Consulte la
dired-compress-file-suffixes
variable para obtener una lista de formatos de archivo comprimido compatibles. El programa correcto se usará para descomprimir un archivo (o archivos) al usar elZ
enlace (dired-do-compress
).Si bien lo anterior descomprimirá una amplia gama de formatos, siempre se comprimirá usando
gzip
.dired-do-compress-to
El |c
Consulte la
dired-compress-files-alist
variable para obtener una lista de formatos de archivo compatibles que se pueden comprimir para usar elc
enlace (dired-do-compress-to
).A partir de emacs 25.1, admite la compresión mediante
tar
+ (gzip
/bzip2
/xz
) ozip
.fuente