Coder Social home page Coder Social logo

vimproc.vim's Introduction

vimproc

Travis Build Status AppVeyor Build Status GitHub release

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, you can update and build vimproc automatically. This is the recommended package manager.

call dein#add('Shougo/vimproc.vim', {'build' : 'make'})

Vim-Plug

If you use vim-plug, you can update and build vimproc automatically.

Plug 'Shougo/vimproc.vim', {'do' : 'make'}

Vundle

If you use Vundle, add the following to your .vimrc.

Plugin 'Shougo/vimproc.vim'

Then compile the plugin manually where it was installed.

i.e. on Linux & Mac

$ cd ~/.vim/bundle/vimproc.vim && make

See building

NeoBundle

If you use neobundle.vim, you can update and build vimproc automatically.

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, however you must remember to compile after cloning the repo.

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

Note: Users of MacOS 10.15 (Catalina) cannot directly use this library with the system-provided vi. (SIP prevents binaries in the write-only /usr/bin directory from calling dlopen on unsigned libraries like vimproc_mac.so.) The simplest solution is to build or install another version of vi in a non-SIP protected location. For example, using homebrew, brew install vim (or nvim) will install an unrestricted executable in /usr/local/bin. (Don't forget to set up aliases or $PATH so that you don't accidentally invoke the system vi.)

$ 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. Shougo#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

vimproc.vim's People

Contributors

akiradeveloper avatar amaisaeta avatar anekos avatar aycabta avatar bohrshaw avatar coacher avatar crazymaster avatar csexton avatar eiiches avatar frasertweedale avatar ichizok avatar k-takata avatar koron avatar ljani avatar mattn avatar rbtnn avatar rhysd avatar shougo avatar sulami avatar sydney-o9 avatar syngan avatar tarrasch avatar thelinuxkitten avatar thinca avatar todashuta avatar tseeker avatar tsuyoshicho avatar tyru avatar ujihisa avatar wonderful-panda avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.