Skip to content

lbrayner/vim-rzip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

asciicast

Extends stock zipPlugin.vim to allow recursively browsing and writing Zip files.

VimL and system calls only (zip, unzip and copy file).

Requirements

  • Vim 7.4✝ or Neovim 0.1.7.

✝ Confirmed working on Vim 7.4-1024 for Windows.

To browse

In $PATH:

  • an unzip compatible command.

To write

In $PATH:

  • a zip compatible command.

Installation

Vim 8.0+ (+packages)

If you're using Vim 8.0 or greater (if :echo has("packages") returns 1), you can add vim-rzip as a package.

When you're done with the following steps make sure to read about packages: :h packages.

  • If your .vim folder is NOT a Git repository:
$ mkdir -p ~/.vim/pack/bundle/start/vim-rzip
$ unzip ~/Downloads/vim-rzip.zip -d ~/.vim/pack/bundle/start/vim-rzip

Or you can clone the Git repository:

$ mkdir -p ~/.vim/pack/bundle/start
$ cd ~/.vim/pack/bundle/start
start $ git clone 'https://github.com/lbrayner/vim-rzip'
  • If your .vim folder IS a Git repository:
$ mkdir -p ~/.vim/pack/bundle/start
$ cd ~/.vim
.vim $ git submodule add 'https://github.com/lbrayner/vim-rzip' pack/bundle/start/vim-rzip

This will install vim-rzip as a git submodule.

Plugin manager

Either vim-pathogen or Vundle are recommended.

Verifying the installation

When you open a file with any of these extensions (per default) — .apk, .celzip, .crtx, .docm, .docx, .dotm, .dotx, .ear, .epub, .gcsx, .glox, .gqsx, .ja, .jar, .kmz, .oxt, .potm, .potx, .ppam, .ppsm, .ppsx, .pptm, .pptx, .sldx, .thmx, .vdw, .war, .wsz, .xap, .xlam, .xlam, .xlsb, .xlsm, .xlsx, .xltm, .xltx, .xpi, .zip — you'll see the default zipPlugin.vim message, except that: the plugin name is rzip.vim; and the version, on the first line, should read something like v014.

Configuration

Extra file extensions can be added with g:rzipPlugin_extra_ext. For example:

let g:rzipPlugin_extra_ext = '*.odt,*.mfh'

Appendix

On Unix-like operating systems, just install the zip and unzip packages.

You can get the unzip.exe binary for Windows here.

A zip-compatible program need only implement the -u (update) command line switch. An example of a zip-compatible dosbatch script for Windows using 7zip:

@echo off

if "%~1" == "-u" (
    if not "%~2" == "" (
        if not "%~3" == "" (
            if "%~4" == "" (
                7z u %2 %3
                exit /b 0
            )
        )
    )
)

7z %*

Save this as zip.bat and put in your $PATH.