job_start()
[system() と job_start() と :term ++hidden の使い分け]にも書いてあるとおり、`job_start()` はコマンド実行後、すぐに戻りたいときに使うparam`command`:実行するコマンド`options`:
*:!start*
Q. 非同期的に外部コマンドやプログラムを実行したり、ドキュメントや URL を既定の
プログラムで開くにはどうしたらよいか?
A. :!を使って外部コマンドを実行している場合、"start" と共に実行できる。例えば
notepad を起動するには: >
:!start notepad
< 既定のイメージビューワーで "image.jpg" を開くには: >
:!start image.jpg
< 現在のファイルのフォルダーを Windows エクスプローラーで開くには: >
:!start %:h
< 既定のブラウザーで Vim のホームページを開くには: >
:!start http://www.vim.org/
<
"start" を使うと、Vimは他のスクリーンに切り替えたり、新しいコンソールを開い
たり、プログラムが終了するまで待ったりしなくなる; つまり、走らせるプログラ
ムは編集中のファイルに何の影響も与えない。:!startで始まったプログラムは、
Vimの開いたファイルハンドルを受け渡されないため、Vimより早く終了する必要は
ない。
このような特別な動作を避けるには ":! start" を使う。
利用可能な引数が二つある (次の Q 参照):
/min ウィンドウが最小化される。
/b コンソールウィンドウが表示されない。
指定できるのはどちらか一方だけである。二番目の引数が start コマンドで実行さ
れる。
:!start コマンド
とすると、非同期的に外部コマンドを実行できる :!start
で起動したプログラムにVimで開いているファイルへのハンドルは渡されないため、Vimよりも早く終了する必要はない /min
か /b
を使う :!start /min ctags -R
:!start /b ctags -R