2012-01-17 2 views
2

Haskell's cabal Менеджер пакетов хранит свежий исходный код пакета в ~/Library/Haskell/repo-cache/*/*.tgz. Я обнаружил, что часто ссылается на исходный код модуля Haskell в качестве документации.Любые рекомендации по просмотру исходных файлов внутри .tgz-файла?

Я счастлив просто использовать zless для небольших текстовых пакетов, но я мог легко представить, как улучшить этот рабочий процесс.

я мог установить go использовать zipfs из go-fuse для монтирования часто ссылается .tgz файл непосредственно, который может быть полезным. Кто-нибудь видел утилиту fuse, которая монтирует несколько файлов .tgz на одной точке монтирования?

Я мог бы альтернативно написать tarless утилиту, которая лечила .tgz файл как каталог по распаковке в /tmp и отображения файла, который появляется после *.tgz/. Затем я построил завершение вкладки bash для перемещения .tgz файлов из командной строки.

У кого-нибудь есть рекомендации по этому или подобным направлениям?

+0

Хороший вопрос, но это может быть немного больше подходит для http://superuser.com/ – NPE

ответ

2

Я не уверен, что это то, что вы ищете, но насколько я знаю, вы можете открывать/редактировать/сохранять изменения в файлах .tar.gz напрямую с помощью vim и emacs (и, вероятно, с другими редакторами).

+0

я предполагал решение командной строки, но это прекрасно, спасибо. –

1

zcat или gzcat хорошо работает с .tgz файлами для меня на Mac.

+0

Кстати, вы можете сделать то же самое с 'gunzip -c file.gz'. – anubhava

+0

Да, это стоит знать, хотя я уже использую zless. –

+1

Для меня zcat или gzcat или gunzip -c ведут себя иначе, чем zless на Mac, поскольку zless показывает много смешных непечатаемых персонажей. – anubhava

1

AVFS - файловая система FUSE, представляющая представление файловой системы, в котором каждый архив имеет связанный каталог (по крайней мере, для доступа только для чтения). Вид файловой системы условно установлен на ~/.avfs, а каталог, связанный с архивом, имеет # в конце.

mountavfs 
ls ~/.avfs$HOME/Library/Haskell/repo-cache/foo/bar.tgz\# 
Смежные вопросы