vim-jp / vimdoc-en / pi_tar

pi_tar - Vim Documentation

Return to main English | 日本語
pi_tar.txt    For Vim version 9.0.  Last change: 2022 Oct 17

                       | Tar File Interface |

Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
          (remove NOSPAM from Campbell's email first)
Copyright 2005-2017:                                    tar-copyright
        The VIM LICENSE (see copyright) applies to the files in this
        package, including tarPlugin.vim, tar.vim, and pi_tar.txt.  Like
        anything else that's except use "tar.vim" instead of "VIM".  Like
        anything else that's free, tar.vim and its associated files are
        provided *as is* and comes with no warranty of any kind, either
        expressed or implied.  No guarantees of merchantability.  No
        guarantees of suitability for any purpose.  By using this plugin, you
        agree that in no event will the copyright holder be liable for any
        damages resulting from the use of this software. Use at your own risk!

1. Contents                                     tar tar-contents
   1. Contents..................................................tar-contents
   2. Usage.....................................................tar-usage
   3. Options...................................................tar-options
   4. History...................................................tar-history

2. Usage                                        tar-usage tar-manual

   When one edits a *.tar file, this plugin will handle displaying a
   contents page.  Select a file to edit by moving the cursor atop
   the desired file, then hit the <return> key.  After editing, one may
   also write to the file.  Currently, one may not make a new file in
   tar archives via the plugin.


   :Vimuntar [vimhome]

        This command copies, if necessary, the tarball to the .vim or vimfiles
        directory using the first writable directory in the 'runtimepath'
        when no [vimhome] is specified.  Otherwise, the [vimhome] argument
        allows the user to specify that directory, instead.

        The copy is done using the command in g:tar_copycmd , which is
                cp   for cygwin, unix, macunix
                copy for windows (32, 95, 64, 16)
        The extraction is done with the command specified with
        g:tar_extractcmd , which by default is
                "tar -xf"


   :TarDiff [filename]

        This command will attempt to show the differences between the tarball
        version of a file and the associated file on the system.  In order to
        find that file on the system, the script uses the path associated with
        the file mentioned in the tarball.  If the current directory is not
        correct for that path, :TarDiff will fail to find the associated file.

        If the [filename] is given, that that filename (and path) will be used
        to specify the associated file.


   If for some reason you do not wish to use vim to examine tar'd files,
   you may put the following two variables into your <.vimrc> to prevent
   the tar plugin from loading:

        let g:loaded_tarPlugin= 1
        let g:loaded_tar      = 1

3. Options                                              tar-options

   These options are variables that one may change, typically in one's
   <.vimrc> file.
   Variable               Value   Explanation
   g:tar_browseoptions    "Ptf"   used to get a list of contents
   g:tar_readoptions    "OPxf"  used to extract a file from a tarball
   g:tar_cmd            "tar"   the name of the tar program
   g:tar_nomax            0     if true, file window will not be maximized
   g:tar_secure         undef   if exists:
                                        "--"s will be used to prevent unwanted
                                        option expansion in tar commands.
                                        Please be sure that your tar command
                                        accepts "--"; Posix compliant tar
                                        utilities do accept them.
                                  if not exists:
                                        The tar plugin will reject any tar
                                        files or member files that begin with
                                  Not all tar's support the "--" which is why
                                  it isn't default.
   g:tar_writeoptions   "uf"    used to update/replace a file

4. History                                              tar-history

        v31     Apr 02, 2017    * (klartext) reported that browsing encrypted
                                  files in a zip archive created unencrypted
                                  swap files.  I am applying a similar fix
                                  used on zip.vim to tar.vim: new buffers
                                  are opened with :noswapfile.
                May 16, 2017    * When the mouse option isn't empty, the
                                  leftmouse can be used to select a file
                                  in the tar-file listing.
        v30     Apr 22, 2014    * .tgz files are ambiguous: they may have been
                                  compressed with either gzip or bzip2.  Tar.vim
                                  disambiguates by using unix's "file" command.
                Feb 18, 2016    * Changed =~ to =~# where appropriate
                Feb 18, 2017    * Now also permits xz decompression
        v28     Jun 23, 2011    * a few more decompression options (tbz tb2 txz)
        v27     May 31, 2011    * moved cygwin detection before g:tar_copycmd
                                * inserted additional :keepj modifiers
                                * changed silent  to  sil!  (:silent)
        v26     Aug 09, 2010    * uses buffer-local instead of window variables
                                  to hold tarfile name
                                * inserted keepj before 0d to protect jump list
        v25     Jun 19, 2010    * (Jan Steffens) added support for xz
        v24     Apr 07, 2009    * :Untarvim command implemented
                Sep 28, 2009    * Added lzma support
        v22     Aug 08, 2008    * security fixes
        v16     Jun 06, 2008    * tarfile:: used instead of tarfile: when
                                  editing files inside tarballs.  Fixes a
                                  problem with tarballs called things like
                                  c:\abc.tar. (tnx to Bill McCarthy)
        v14     May 09, 2008    * arno caught a security bug
                May 28, 2008    * various security improvements.  Now requires
                                  patch 299 which provides the fnameescape()
                May 30, 2008    * allows one to view *.gz and *.bz2 files that
                                  are in *.tar files.
        v12     Sep 07, 2007    * &shq now used if not the empty string for
        v10     May 02, 2006    * now using "redraw then echo" to show messages,
                                  instead of "echo and prompt user"
        v9      May 02, 2006    * improved detection of masquerading as tar file
        v8      May 02, 2006    * allows editing of files that merely masquerade
                                  as tar files
        v7      Mar 22, 2006    * work on making tar plugin work across network
                Mar 27, 2006    * g:tar_cmd now available for users to change
                                  the name of the tar program to be used.  By
                                  default, of course, it's "tar".
        v6      Dec 21, 2005    * writing to files not in directories caused
                                  problems - fixed (pointed out by
                                  Christian Robinson)
        v5      Nov 22, 2005    * report option workaround installed
        v3      Sep 16, 2005    * handles writing files in an archive back to
                                  the archive
                Oct 18, 2005    * <amatch> used instead of <afile> in autocmds
                Oct 18, 2005    * handles writing to compressed archives
                Nov 03, 2005    * handles writing tarfiles across a network
                                  using netrw#NetWrite()
        v2                      * converted to use Vim7's new autoload feature
                                  by Bram Moolenaar
        v1      (original)      * Michael Toren