# vimproc [![Travis Build Status](https://travis-ci.org/Shougo/vimproc.vim.svg?branch=master)](https://travis-ci.org/Shougo/vimproc.vim) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/nutwxuj2poauar2b/branch/master?svg=true)](https://ci.appveyor.com/project/Shougo/vimproc-vim/branch/master) [![GitHub release](https://img.shields.io/github/release/Shougo/vimproc.vim.svg)](https://github.com/Shougo/vimproc.vim/releases) vimproc is a great asynchronous execution library for Vim. It is a fork of proc.vim by Yukihiro Nakadaira. I added some features and fixed some bugs and I'm maintaining it now. Instead of an external shell (example: 'shell'), vimproc uses an external DLL file. Supported platforms: * Windows 32/64bit (Compiled by MinGW or Visual Studio) * Mac OS X (10.5 or later) * Linux * Cygwin * Solaris * BSD (but cannot check) * Android (experimental) Not supported platforms: * Other UNIX platforms ## Install ### Manual Install * Clone this repo * Build vimproc's native extensions (see Building for details) * Copy `autoload/*`, `lib/*` and `plugin/*` files to your 'runtimepath' directory (see `:help runtimepath`). ### dein.vim If you use [dein.vim](http://github.com/Shougo/dein.vim), you can update and build vimproc automatically. This is the recommended package manager. ```vim call dein#add('Shougo/vimproc.vim', {'build' : 'make'}) ``` ### Vim-Plug If you use [vim-plug](https://github.com/junegunn/vim-plug), you can update and build vimproc automatically. ```vim Plug 'Shougo/vimproc.vim', {'do' : 'make'} ``` ### NeoBundle If you use [neobundle.vim](http://github.com/Shougo/neobundle.vim), you can update and build vimproc automatically. ```vim NeoBundle 'Shougo/vimproc.vim', { \ 'build' : { \ 'windows' : 'tools\\update-dll-mingw', \ 'cygwin' : 'make -f make_cygwin.mak', \ 'mac' : 'make', \ 'linux' : 'make', \ 'unix' : 'gmake', \ }, \ } ``` ### Pathogen vimproc uses a pathogen compatible structure, so it can be managed with [pathogen](https://github.com/tpope/vim-pathogen), however you must remember to compile after cloning the repo. ```sh git clone https://github.com/Shougo/vimproc.vim.git ~/.vim/bundle/vimproc.vim cd ~/.vim/bundle/vimproc.vim make ``` ## Building Note: You must use GNU make to build vimproc. You can install the dll using |VimProcInstall|. If you are having any trouble or want to build manually then read on. ### Linux $ make ### Mac OS X $ make Note: If you want to build for multiple architectures, you can use `ARCHS` and `CC` variables. Build for i386 and x86-64: $ make ARCHS='i386 x86_64' ### FreeBSD $ gmake ### Solaris $ gmake Note: If you want to use Sun Compiler, you can use `SUNCC` variable. $ gmake SUNCC=cc ### Windows Note: In Windows, using MinGW is recommended. Note: If you have not "gcc" binary, you must change $CC value. Windows using MinGW (32bit Vim): $ mingw32-make -f make_mingw32.mak Windows using MinGW (If you want to use MinGW compiler in Cygwin): $ mingw32-make -f make_mingw32.mak CC=mingw32-gcc Windows using MinGW (64bit Vim): $ mingw32-make -f make_mingw64.mak Windows using Visual Studio (32bit/64bit Vim): $ nmake -f make_msvc.mak nodebug=1 Note: To build with Visual Studio, you must install Windows SDK and run from VS command prompt. https://github.com/Shougo/vimproc.vim/issues/58 If you use MSVC 11 or later, you need to specify where the Win32.mak file is, e.g.: $ nmake -f make_msvc.mak nodebug=1 "SDK_INCLUDE_DIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include" The architecture will be automatically detected, but you can also specify the architecture explicitly. E.g.: 32bit: nmake -f make_msvc.mak nodebug=1 CPU=i386 64bit: nmake -f make_msvc.mak nodebug=1 CPU=AMD64 Cygwin: $ make -f make_cygwin.mak Note: The `vimproc_cygwin.dll` compiled in Cygwin won't work with Windows Vim. ### Windows Binaries * [Kaoriya Vim](http://www.kaoriya.net/software/vim/) comes bundled with a precompiled version for vimproc in Windows environment * https://github.com/Shougo/vimproc.vim/releases