Zip-Archive模式适用于具有zip / unzip的系统。你如何让它在Wnidows上工作?
答案 0 :(得分:7)
EMACS使用外部程序进行压缩/解压缩。它所需要的只是知道正确使用的程序。
一些扩展讨论:
正如我所说,我没有Windows盒子,但是LISP代码在第230行的arc-mode.el中:
(defcustom archive-zip-extract
(if (and (not (executable-find "unzip"))
(executable-find "pkunzip"))
'("pkunzip" "-e" "-o-")
'("unzip" "-qq" "-c"))
"*Program and its options to run in order to extract a zip file member.
Extraction should happen to standard output. Archive and member name will
be added."
:type '(list (string :tag "Program")
(repeat :tag "Options"
:inline t
(string :format "%v")))
:group 'archive-zip)
观察函数executable-find
。它在您的EMACS exec-path
中搜索,其中包括一些不在您的普通PATH变量中的EMACS可执行目录。就我而言,它是:
("/usr/bin"
"/bin"
"/usr/sbin"
"/sbin"
"/Applications/Emacs.app/Contents/MacOS/libexec"
"/Applications/Emacs.app/Contents/MacOS/bin"
"~/bin"
"/usr/local/bin"
"/usr/X11R6/bin")
包括EMACS包中的两个目录。您的Windows安装将在EMACS设置的内部某处包含等效目录。如果可执行文件不在您的常规路径中,那就是在哪里查找。
您可以从this site下载pkunzip,安装它,然后使用(add-to-list 'exec-path "c:/path/to/pkunzip")
答案 1 :(得分:2)
emacs如何处理压缩文件可能有点令人困惑,但这里是尝试总结这种情况。有两个主要的压缩包:arc-mode
(例如zip-archive
模式)和jka-compr
模式(auto-compression-mode
)。
arc-mode
:将显示多文件档案(arc,lzh,zip,zoo)中的目录(即档案中包含的简单文件名列表)要求相关的第三方工具存在于您的系统上。如果您确实想要使用arc-mode对存档中包含的实际文件进行任何查看/编辑,您肯定需要在系统和相应位置安装第三方工具。例如。对于zip文件,它默认在exec-path
(这是操作系统PATH环境)中压缩/解压缩。这可以使用archive-zip-extract
和archive-zip-expunge
自定义。jka-compr
(auto-compression-mode
):将自动压缩/解压缩单个文件存档(gz,Z,bz2,tbz等),并要求系统上存在相关的第三方工具。 因此要使zip-archive
模式在Windows上完全正常工作,您只需找到命令行zip / unzip的Windows版本并将它们放入PATH中的目录中(例如,请参阅{的unzip包) {3}})。
答案 2 :(得分:1)
您可以使用[chololatey]:https://chocolatey.org/(Windows的软件包管理)来安装解压缩。
choco install unzip