I've asked myself why Vim's system() function on Windows uses
vimrun.exe and shows a command prompt window. The only reason
I can think of is so that the user has a chance to quit the
external command using Ctrl-C.
Sorry if the following is not relevant (I have not followed
this thread). If you do not have to use system() to get results,
you can use :!start which is different from :! on Windows.
I believe that :!start does not use vimrun.exe.
There is some info in the following:
http://vim.wikia.com/wiki/Execute_external_programs_asynchronously_under_Windows
Thanks for your suggestion John. When I initially followed the link
above I didn't realize that :!start ... is a special case on Vim for
Windows so I assumed that :!start ... was just a shorthand for :!cmd /c
start ... and because that doesn't DWIM I didn't respond to your reply.
Since then I've realized that :!start is almost what I need, because it
does run external programs asynchronously without blocking Vim. However
if you execute a command-line program (like Exuberant Ctags) the :!start
... command still opens a command prompt window, and contrary to :call
system('...') the command prompt window is now actually positioned in
front and above of Vim's main window, thereby undermining the whole
point of not blocking Vim :-( (tested on Windows XP SP3, Vim 7.2).
- Peter Odding
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php