In this question, Gilles answered
Yet another possibility is to run
tail -fin an Emacs shell buffer and use Emacs's syntax coloring abilities.
Because I'm a vim user, I'd like to do this with vim, not emacs.
Does vim have this feature?
You can write a multithread plugin to change the buffer(s) in real time in Python or any other script that Vim supports and has threads.
But this only works in terminal as far as I know. At least in X11, the GUI version will crash if the GUI is modified by another thread.