When I run :make
or :grep
from vim on Linux I see the make/grep progress in the standard output as it occurs and then, when the command completes, I can use :copen
to navigate through the quickfix list.
However, when I run either of these two commands on Windows (either from gvim or console vim), I see nothing until the command completes. Once the command completes, I can use :copen
like I do on Linux, but I get no realtime output progress like I do on Linux.
Another thing different between Linux/Windows is that the make command on Windows is redirected to a temporary file, like so:
!nmake -f Make-mvc.make > C:\Users\doug\AppData\Local\Temp\VIe4397.tmp 2>&1
This appears to be the reason I get no realtime output as the command is running, but I don't know why the redirect is necessary (this does not occur on Linux) and I also don't know if there is a way to workaround the issue.
Example
Here is a demonstration of what happens when I try to build vim from source, just as an example of of using the :make command.
Run the following commands from CMD.exe to checkout vim source code and start gvim:
git clone [email protected]:vim/vim.git cd vim/src gvim -u NONE
Run the following vim commands:
:set makeprg=nmake :make -f Make_mvc.make
You can see
!nmake -f Make-mvc.make > C:\Users\doug\AppData\Local\Temp\VIe4397.tmp 2>&1
appear in the vim command line window, but no other output appears until the command completes.