「vimproc」の版間の差分

提供: neovim/vim入門
移動: 案内検索
(ページの作成:「vimprocとは、vimで非同期処理を実現するためのvimのプラグインです。 '''読み方''' ;vimproc:ぶいあいえむ ぷろく __TOC__...」)
 
(QuickRun の非同期実行)
行53: 行53:
 
       \    'cygwin' : 'make -f make_cygwin.mak',
 
       \    'cygwin' : 'make -f make_cygwin.mak',
 
       \    'mac' : 'make -f make_mac.mak',
 
       \    'mac' : 'make -f make_mac.mak',
       \    'unix' : 'make -f make_unix.mak',
+
       \    'unix' : 'gmake -f make_unix.mak',
 
       \    },
 
       \    },
 
       \ }
 
       \ }
行68: 行68:
 
<iframe width="420" height="315" src="//www.youtube.com/embed/YIL5t5dL_VA" frameborder="0" allowfullscreen></iframe>
 
<iframe width="420" height="315" src="//www.youtube.com/embed/YIL5t5dL_VA" frameborder="0" allowfullscreen></iframe>
 
</html>
 
</html>
 +
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[vimのPHP開発環境]]
 
* [[vimのPHP開発環境]]

2015年1月5日 (月) 13:45時点における版

vimprocとは、vimで非同期処理を実現するためのvimのプラグインです。

読み方

vimproc
ぶいあいえむ ぷろく

概要

vimprocとは、vimで非同期処理を実現するためのvimのプラグインです。時間のかかる処理を実行したときに、vimが一見応答不能な状態に見えたり、処理中で何もできなくなってしまうことがあります。vimprocによって、重たい処理を非同期実行にすることにより、ユーザが作業をブロックされることを防ぐことができます。

NeoBundleと組み合わせて、非同期アップデートを実現したり、QuickRunと組み合わせる、といった使い方ができます。

vimスクリプトを作成する場合にも利用できます。詳しくは、vimprocを使用してコマンド実行する方法をご参照ください。

vimproc をビルドする

vimprocは、Unixなら.so、WindowsならDLLをビルドする必要があります。

Unix(Linux, FreeBSD)

$ cd ~/.vim/bundle/vimproc
$ make -f make_unix.mak

Windows

mingwを利用してビルドします。 vimprocのDLLのビルドは、以下の通りです。バージョンによって、パスが異なるのでご注意ください。

C:\Users\kaoru>cd .vim\bundle\vimproc
C:\Users\kaoru\.vim\bundle\vimproc>"c:\Program Files\mingw-builds\x64-4.8.1-posix-seh-rev5\mingw64\bin\mingw32-make.exe" -f make_mingw32.mak CC=x86_64-w64-mingw32-gcc.exe

win32用にはgnupack_develを使いました。

C:\Users\kaoru\.vim\bundle\vimproc>"c:\Program Files\mingw-builds\x64-4.8.1-posix-seh-rev5\mingw64\bin\mingw32-make.exe" -f make_mingw32.mak CC=C:\Users\kaoru\Downloads\gnupack_devel-11.00\app\mingw\tdm\bin\mingw32-gcc

非同期アップデート

NeoBundleは、vimprocを自動認識します。vimprocがインストールされている場合、非同期でインストールとアップデートができます。

NeoBundle 'Shougo/vimproc', {
      \ 'build' : {
      \     'windows' : 'make -f make_mingw32.mak',
      \     'cygwin' : 'make -f make_cygwin.mak',
      \     'mac' : 'make -f make_mac.mak',
      \     'unix' : 'make -f make_unix.mak',
      \    },
      \ }

QuickRun の非同期実行

QuickRun は、コーディング中のプログラムを vim から起動して動作確認ができるので、非常に便利です。しかし、これが同期実行で時間のかかるプログラムを実行してしまうと、プログラムが終了するまで、何もできなくなってしまいます。

QuickRun を vimproc と組み合わせることで、時間のかかる処理をさせたまま、ユーザは、コーディングをしつづけたり、ほかのことをやっている余裕ができます。

NeoBundle 'Shougo/vimproc', {
      \ 'build' : {
      \     'windows' : 'make -f make_mingw32.mak',
      \     'cygwin' : 'make -f make_cygwin.mak',
      \     'mac' : 'make -f make_mac.mak',
      \     'unix' : 'gmake -f make_unix.mak',
      \    },
      \ }
 
NeoBundle 'thinca/vim-quickrun'
let g:quickrun_config={'*': {'split': ''}}
let g:quickrun_config._={ 'runner':'vimproc',
\       "runner/vimproc/updatetime" : 10,
\       "outputter/buffer/close_on_empty" : 1,
\ }

関連項目