Как заставить режим emacs Zip-Archive работать в Windows - PullRequest
6 голосов
/ 16 мая 2009

Режим Zip-Archive работает в системах с zip / unzip. Как заставить его работать на Wnidows?

Ответы [ 3 ]

7 голосов
/ 16 мая 2009

EMACS использует внешнюю программу для сжатия / распаковки. Все, что ему нужно, это знать, какую программу использовать.


Некоторое расширенное обсуждение:

Как я уже сказал, у меня нет окна Windows, но код LISP находится в arc-mode.el примерно в строке 230:

(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, который включает в себя некоторые исполняемые каталоги EMACS, которых нет в вашей обычной переменной PATH. В моем случае это:

("/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. Вот где искать исполняемые файлы, если их нет в вашем обычном пути.

Вы можете скачать pkunzip с с этого сайта , установить его и добавить путь к установке с помощью (add-to-list 'exec-path "c:/path/to/pkunzip")

2 голосов
/ 17 мая 2009

То, как emacs работает со сжатыми файлами, может немного сбить с толку, но здесь сделана попытка подвести итог ситуации. Существует два основных пакета сжатия: arc-mode (например, zip-archive mode) и jka-compr mode (auto-compression-mode).

  1. arc-mode: будет отображаться оглавление (т. Е. Простой список имен файлов, содержащихся в архиве) многофайловых архивов (arc, lzh, zip, zoo) без необходимости соответствующего сторонний инструмент, чтобы существовать в вашей системе. Если вы действительно хотите сделать просмотр / редактирование фактических файлов, содержащихся в архиве, с использованием режима дуги, вам определенно понадобится установить сторонний инструмент в вашей системе и в соответствующем месте. Например. для zip-файлов по умолчанию используется zip / unzip в exec-path (это среда PATH операционной системы). Это можно настроить с помощью archive-zip-extract и archive-zip-expunge.
  2. jka-compr (auto-compression-mode): автоматически сжимает / распаковывает отдельные файловые архивы (gz, Z, bz2, tbz и т. Д.) И требует наличия в вашей системе соответствующего стороннего инструмента.

Таким образом, чтобы режим zip-archive полностью работал в Windows, вам просто нужно найти Windows-версию командной строки zip / unzip и поместить их в каталог, который находится в вашем PATH (например, см. Пакет unzip на http://gnuwin32.sourceforge.net/).

1 голос
/ 28 апреля 2019

вы можете использовать [chololatey]: https://chocolatey.org/, управление пакетами для windows, для установки распаковать.

choco install unzip
...