如何让emacs Zip-Archive模式在Windows上运行

时间:2009-05-16 14:15:43

标签: windows emacs zip

Zip-Archive模式适用于具有zip / unzip的系统。你如何让它在Wnidows上工作?

3 个答案:

答案 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)。

  1. arc-mode:将显示多文件档案(arc,lzh,zip,zoo)中的目录(即档案中包含的简单文件名列表)要求相关的第三方工具存在于您的系统上。如果您确实想要使用arc-mode对存档中包含的实际文件进行任何查看/编辑,您肯定需要在系统和相应位置安装第三方工具。例如。对于zip文件,它默认在exec-path(这是操作系统PATH环境)中压缩/解压缩。这可以使用archive-zip-extractarchive-zip-expunge自定义。
  2. jka-comprauto-compression-mode):将自动压缩/解压缩单个文件存档(gz,Z,bz2,tbz等),并要求系统上存在相关的第三方工具。
  3. 因此要使zip-archive模式在Windows上完全正常工作,您只需找到命令行zip / unzip的Windows版本并将它们放入PATH中的目录中(例如,请参阅{的unzip包) {3}})。

答案 2 :(得分:1)

您可以使用[chololatey]:https://chocolatey.org/(Windows的软件包管理)来安装解压缩。

choco install unzip