クライアントサーバ機能を使って別プロセスでコンパイルしてみた
かなりの苦肉の策なので,もっとスマートな方法はあると思います.
というか,サーバ機能を使ってみたかっただけ.
vimはシングルスレッド(?)なので,
vimからコンパイル等するとコンパイルが終わるまで固まります.
操作を受け付けてくれません.
ただ,簡単なプログラムならいいのですが,
私の場合.texとかコンパイルすると30秒とかかかるので
もう一つvimサーバを立ち上げて,そっちでコンパイルしてもらうことにしました.
(注:vimが+clientserver付きでコンパイルされている必要があります.vim --versionで確認)
やってみた
まず,TEXサーバを立ち上げます.(texのMakefileがあるディレクトリで...)
vim --servername TEX
次にクライアント側からコマンドを投げます.
!vim --servername TEX --remote-send "<C-\><C-N>:\!make ps<CR>"
サーバ側で!make psが実行されます.
かなり長いので,コマンドにしておきます.
function! Tec() execute ":!vim --servername TEX --remote-send '<C-\\><C-N>:\\\!make ps<CR>'" endfunction command! Tex :call Tec()
これで
:Tex
で実行できます.
びみょー...
もう少しまともな使い方ができればいいのだけど.