It all starts from a shell. For example I am using urxvt with zsh. There I open some file with gvim. In this case it is a LaTeX file. Now I need to execute some command (for compiling the document, e.g.pdflatex).
How can I have the original shell, from where gvim was started, execute that command?
It would also be acceptable if gvim had to open a new shell once and after that execute every future call of the designated command (pdflatex) in that shell, while I can still type in it manually.
The problem with running :!pdflatex directly is, that the output is shown, but if it has gotten too long scrolling is not possible and after I press return, it is all gone.
The idea with using a shell means, that the window focus does not have to switch over by default. So in general the output of my command is visible, but unless an error occurs I can just keep on working in gvim. Now if a new shell was spawned everytime I run the command, this kind of workflow would certainly not be possible.
quickfix- there are some references on vim-faq. This would allow you to see the results of compilation inside of Vim. Previous results are still available through:cpcommand, and it would also allow you to jump to specific lines referenced from the errors, despite being able to navigate through results using Vim amazing features.