87

GitHub - Shougo/vimproc.vim: Interactive command execution in Vim.

 6 years ago
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/* 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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK