

GitHub - Shougo/vimproc.vim: Interactive command execution in Vim.
source link: https://github.com/Shougo/vimproc.vim
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK