2012-01-15 5 views
1

Я хочу создать файл для tarball, без явного открытия/извлечения его, но напрямую с помощью Vim. Это возможно?

$ vim file.tgz 
:e someNewfile 
:w! # how can I create here a file? 
+0

Я не уверен, что я понимаю ваш вопрос: вы хотите добавить новый файл в существующий архив tar? – evnu

+0

@evnu: да, здесь внутри vim. – hhh

ответ

2

Vim обрабатывает деготь и полученные файлы (в том числе .tgz) с помощью vimscript называется tar.vim. Вы можете посмотреть документацию tar.vim, набрав :help tar<CR> внутри vim. В соответствии с этой документацией:

При редактировании файла * .tar этот плагин обрабатывает отображение страницы содержимого . Выберите файл для редактирования, перемещая курсор на нужный файл , затем нажмите клавишу. После редактирования можно также написать . В настоящее время невозможно создать новый файл в tar архивов через плагин.

Таким образом, вы можете редактировать файл, который уже находится в tar, но теперь вы не можете добавлять новые файлы с помощью ванильной установки vim.

+0

Это работает для gzipped tarballs? Потому что это то, что я пытался, а также то, что спросил ОП. Когда я попробовал (по Linux), это не сработало. – sehe

+0

Интересно. Он * работает * для меня на OSX, используя vanilla vim, установленный через homebrew и никакие другие дополнения. Может быть, ваш vim-пакет дистрибутива Linux не включает tar.vim-скрипт? Для меня сценарий находится в /usr/share/vim/vim73/autoload/tar.vim. Если ваш дистрибутив не имеет его по умолчанию, вы можете получить tar.vim вручную здесь: http://www.vim.org/scripts/script.php?script_id=522 –

+0

Ну, покрасьте меня глупо, я просто испытал снова, начиная с raw .tar, затем .tar.gz и, наконец, .tgz и, угадайте, что сработало. Я, должно быть, вчера сделал что-то слабое :) – sehe

Смежные вопросы