d0b07bbc78
vimproc.vim fixed one issue about .gitignore file, so update it to avoid an error for vimproc library missing. The root reason is that when running `make`, the folder lib does not exist, so it will be failed. Following output is when I run `make` mannually. ``` $ make make -f make_unix.mak make[1]: Entering directory '/home/bright/.SpaceVim/bundle/vimproc.vim' cc -W -O2 -Wall -Wno-unused -Wno-unused-parameter -std=gnu99 -pedantic -shared -fPIC -o lib/vimproc_linux64.so src/proc.c -lutil /usr/bin/ld: cannot open output file lib/vimproc_linux64.so: No such file or directory collect2: error: ld returned 1 exit status make[1]: *** [make_unix.mak:17: lib/vimproc_linux64.so] Error 1 make[1]: Leaving directory '/home/bright/.SpaceVim/bundle/vimproc.vim' make: *** [Makefile:66: all] Error 2 ``` Co-authored-by: Bright Chen <bright.chen@autodesk.com> |
||
---|---|---|
.. | ||
autoload | ||
doc | ||
lib | ||
plugin | ||
src | ||
test | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
make_android.mak | ||
make_bsd.mak | ||
make_cygwin64.mak | ||
make_cygwin.mak | ||
make_mac.mak | ||
make_mingw32.mak | ||
make_mingw64.mak | ||
make_msvc.mak | ||
make_sunos.mak | ||
make_unix.mak | ||
Makefile | ||
README.mkd |
vimproc
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)
- macOS (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/*
andplugin/*
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
macOS
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
If you want to use BSD make, use the platform specific makefile:
$ make -f make_bsd.mak
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
You should run this from VS command prompt. The architecture will be automatically detected, but you can also specify the architecture explicitly. E.g.:
32bit: nmake -f make_msvc.mak CPU=i386
64bit: nmake -f make_msvc.mak CPU=AMD64
Cygwin:
$ make
Note: The vimproc_cygwin.dll
compiled in Cygwin won't work with Windows Vim.
Windows Binaries
- Kaoriya Vim comes bundled with a precompiled version for vimproc in Windows environment
- https://github.com/Shougo/vimproc.vim/releases